{"version":3,"sources":["../node_modules/react/index.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/prop-types/index.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/react-pdf/dist/shared/utils.js","../node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/react-pdf/dist/shared/propTypes.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../node_modules/react-pdf/dist/PageContext.js","../node_modules/make-cancellable-promise/dist/index.js","../node_modules/react-pdf/dist/DocumentContext.js","../node_modules/react-pdf/dist/entry.js","../node_modules/pdfjs-dist/build/pdf.js","../node_modules/webpack/buildin/global.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/make-event-props/dist/entry.js","../node_modules/merge-class-names/dist/esm/index.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/object-assign/index.js","../node_modules/buffer/index.js","../node_modules/process/browser.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/react-pdf/dist/Message.js","../node_modules/react-pdf/dist/LinkService.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/react-pdf/dist/OutlineContext.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/react-dom/index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/pdfjs-dist/build/pdf.worker.js","../node_modules/url/url.js","../node_modules/node-libs-browser/node_modules/punycode/punycode.js","../node_modules/webpack/buildin/module.js","../node_modules/url/util.js","../node_modules/querystring-es3/index.js","../node_modules/querystring-es3/decode.js","../node_modules/querystring-es3/encode.js","../node_modules/react-pdf/dist/Document.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/pdfjs-dist/lib/web/pdf_link_service.js","../node_modules/pdfjs-dist/lib/web/ui_utils.js","../node_modules/react-pdf/dist/PasswordResponses.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/react-pdf/dist/Outline.js","../node_modules/react-pdf/dist/OutlineItem.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/react-pdf/dist/Ref.js","../node_modules/react-pdf/dist/Page.js","../node_modules/react-pdf/dist/Page/PageCanvas.js","../node_modules/react-pdf/dist/Page/PageSVG.js","../node_modules/react-pdf/dist/Page/TextLayer.js","../node_modules/react-pdf/dist/Page/TextLayerItem.js","../node_modules/react-pdf/dist/Page/AnnotationLayer.js"],"names":["module","exports","require","obj","__esModule","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","self","ReferenceError","value","loadFromFile","isCancelException","makePageCallback","cancelRunningTask","displayCORSWarning","errorOnDev","warnOnDev","getPixelRatio","dataURItoUint8Array","isDataURI","isFile","isBlob","isArrayBuffer","isString","isProvided","isDefined","isProduction","isLocalFileSystem","isBrowser","window","location","protocol","process","variable","ArrayBuffer","Error","Blob","File","str","test","dataURI","byteString","split","indexOf","atob","unescape","ia","Uint8Array","charCodeAt","devicePixelRatio","consoleOnDev","method","_len2","arguments","message","Array","_key2","apply","concat","_len3","_key3","runningTask","cancel","page","scale","get","this","view","error","name","file","Promise","resolve","reject","reader","FileReader","onload","result","onerror","event","code","NOT_FOUND_ERR","NOT_READABLE_ERR","SECURITY_ERR","ABORT_ERR","readAsArrayBuffer","_typeof","_getRequireWildcardCache","WeakMap","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","hasOwnProperty","call","desc","set","_extends","assign","source","setPrototypeOf","subClass","superClass","create","constructor","assertThisInitialized","_getPrototypeOf","o","getPrototypeOf","__proto__","_interopRequireDefault","isRotate","isRenderMode","isPdf","isPageNumber","isPageIndex","isPage","isLinkTarget","isLinkService","isClassName","eventProps","_typeof2","_toConsumableArray2","_propTypes","_makeEventProps","_utils","_LinkService","mouseEvents","touchEvents","keyboardEvents","forEach","eventName","func","fileTypes","string","instanceOf","shape","data","object","httpHeaders","range","url","withCredentials","bool","push","oneOfType","arrayOf","oneOf","_transport","fontLoader","isRequired","commonObjs","_objs","getAnnotations","getTextContent","getViewport","render","propName","componentName","pageIndex","pageNumber","pdf","numPages","getDestination","getOutline","getPage","number","asyncGeneratorStep","gen","_next","_throw","arg","info","done","then","fn","args","err","undefined","_default","createContext","promise","isCancelled","_pdfjsDist","_Document","_Outline","_Page","GlobalWorkerOptions","workerSrc","factory","modules","installedModules","__w_pdfjs_require__","moduleId","l","m","c","d","getter","r","Symbol","toStringTag","t","mode","ns","bind","n","property","p","s","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDOMUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","Response","ReadableStream","PDFFetchStream","PDFNetworkStream","build","version","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","renderTextLayer","AnnotationLayer","createPromiseCapability","PasswordResponses","InvalidPDFException","MissingPDFException","SVGGraphics","NativeImageDecoding","CMapCompressionType","PermissionFlag","UnexpectedResponseException","OPS","VerbosityLevel","UNSUPPORTED_FEATURES","createValidAbsoluteUrl","createObjectURL","removeNullCharacters","shadow","Util","URL","RenderingCancelledException","getFilenameFromUrl","LinkTarget","addLinkAttributes","loadScript","apiCompatibilityParams","toRomanNumerals","lowerCase","assert","Number","isInteger","pos","romanBuf","ROMAN_NUMBER_MAP","romanStr","join","toLowerCase","arrayByteLength","arraysToBytes","arr","item","itemLength","resultLength","ii","stringToBytes","byteLength","bytesToString","bytes","String","fromCharCode","strBuf","chunkEnd","Math","min","chunk","subarray","capability","isSettled","reason","deprecated","details","console","log","getInheritableProperty","_ref","values","dict","_ref$getArray","getArray","_ref$stopWhenFound","stopWhenFound","loopCount","warn","getLookupTableFactory","initializer","lookup","getVerbosityLevel","verbosity","msg","INFOS","v","isBool","isEmptyObj","isNum","isSpace","ch","isSameOrigin","baseUrl","otherUrl","base","_url_polyfill","origin","e","other","absoluteUrl","_isValidProtocol","ex","isLittleEndian","buffer8","Uint32Array","buffer","isEvalSupported","Function","log2","x","ceil","readInt8","start","readUint16","offset","readUint32","replace","NullCharactersRegExp","setVerbosityLevel","level","prop","string32","stringToPDFString","PDFStringTranslateTable","charAt","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","encodeURIComponent","unreachable","_streams_polyfill","FormatError","XRefParseException","XRefEntryException","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","MissingDataException","AbortException","ImageKind","FontType","AnnotationType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","iterator","NONE","DECODE","DISPLAY","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","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","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","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","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RL","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","BINARY","STREAM","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","unknown","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","cond","status","begin","end","rgbBuf","makeCssRgb","g","b","m1","m2","applyTransform","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","slice","p3","p4","max","inverseTransform","apply3dTransform","singularValueDecompose2dScale","transpose","a","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","compare","orderedX","sort","orderedY","digits","contentType","forceDataSchema","blob","type","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","hasDOM","document","btoa","chars","Buffer","from","toString","input","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_i","token","_i2","toggle","force","startsWith","endsWith","includes","isNaN","finally","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","global","versions","$export","toLength","context","$startsWith","P","F","searchString","that","index","search","core","hide","redefine","ctx","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_PROTO","IS_BIND","B","S","expProto","U","W","R","__g","__e","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","isObject","it","exec","is","val","valueOf","bitmap","SRC","$toString","TPL","inspectSource","safe","isFunction","id","px","random","aFunction","toInteger","floor","isRegExp","defined","NAME","cof","MATCH","store","uid","_Symbol","USE_SYMBOL","copyright","KEY","re","$endsWith","endPosition","len","$includes","el","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","IObject","propertyIsEnumerable","UNSCOPABLES","ArrayProto","$at","iterated","_t","point","TO_STRING","LIBRARY","Iterators","$iterCreate","setToStringTag","ITERATOR","BUGGY","keys","returnThis","Base","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","dPs","enumBugKeys","IE_PROTO","Empty","_createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","open","write","lt","close","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","shared","documentElement","def","tag","stat","toObject","ObjectProto","isArrayIter","createProperty","getIterFn","iter","arrayLike","step","C","aLen","mapfn","mapping","iterFn","ret","$defineProperty","classof","getIteratorMethod","ARG","T","tryGet","callee","SAFE_CLOSING","riter","skipClosing","gOPS","pIE","$assign","A","K","k","getSymbols","isEnum","j","getOwnPropertySymbols","LN2","isFinite","$iterators","wks","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","addToUnscopables","_k","Arguments","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","anInstance","forOf","speciesConstructor","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","run","reaction","exited","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","_a","onrejectionhandled","$reject","_d","_w","$resolve","wrapper","executor","onFulfilled","onRejected","$$reject","all","iterable","remaining","$index","alreadyCalled","race","forbiddenField","BREAK","RETURN","_exports","SPECIES","D","defer","channel","port","invoke","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","listener","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","setTimeout","clear","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","navigator","standalone","node","createTextNode","observe","characterData","PromiseCapability","$$resolve","promiseCapability","DESCRIPTORS","onFinally","callbackfn","InternalMap","each","meta","weak","fails","validate","getWeak","isExtensible","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","getConstructor","NEED","_f","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","res","original","isArray","META","setDesc","FREEZE","preventExtensions","setMeta","w","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","entry","splice","ADDER","$iterDetect","inheritIfRequired","common","IS_WEAK","fixMethod","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","check","buggy","gOPD","COLLECTION","of","cb","mapFn","nextItem","$fromCodePoint","RangeError","$fails","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$DP","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","getOwnPropertyNames","replacer","$replacer","symbols","windowNames","getWindowNames","hiddenKeys","$pad","maxLength","repeat","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","Infinity","$values","isEntries","isReadableStreamSupported","controller","IsPropertyKey","argument","Call","V","typeIsObject","createDataProperty","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","CreateIterResultObject","IsFiniteNonNegativeNumber","InvokeOrNoop","PromiseInvokeOrNoop","returnValueE","PromiseInvokeOrPerformFallback","argsF","methodE","TransferArrayBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","ValidateAndNormalizeQueuingStrategy","size","AssertionError","stack","rethrowAssertionErrorRejection","_createClass","_classCallCheck","_require","_require2","_require3","DequeueValue","EnqueueValueWithSize","PeekQueueValue","ResetQueue","WritableStream","underlyingSink","_ref$highWaterMark","_state","_storedError","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","WritableStreamDefaultController","__startSteps","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","WritableStreamAbort","AcquireWritableStreamDefaultWriter","stream","WritableStreamDefaultWriter","state","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","__errorSteps","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","__abortSteps","WritableStreamFinishInFlightClose","_closedPromise_resolve","_closedPromise_reject","_closedPromiseState","defaultWriterClosedPromiseResolve","WritableStreamCloseQueuedOrInFlight","defaultWriterClosedPromiseReject","_closedPromise","catch","WritableStreamUpdateBackpressure","backpressure","_readyPromise_resolve","_readyPromise_reject","_readyPromise","_readyPromiseState","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerError","WritableStreamDefaultWriterCloseWithErrorPropagation","_ownerWritableStream","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterAbort","WritableStreamDefaultControllerGetDesiredSize","WritableStreamDefaultWriterGetDesiredSize","closeRequest","WritableStreamDefaultControllerAdvanceQueueIfNeeded","WritableStreamDefaultWriterEnsureClosedPromiseRejected","defaultWriterClosedPromiseResetToRejected","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","releasedError","chunkSize","strategySize","_strategySize","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","WritableStreamDefaultControllerGetChunkSize","writeRequest","WritableStreamAddWriteRequest","writeRecord","enqueueE","_controlledWritableStream","WritableStreamDefaultControllerGetBackpressure","WritableStreamDefaultControllerWrite","_underlyingSink","_queue","_queueTotalSize","normalizedStrategy","_strategyHWM","_this","startResult","WritableStreamMarkCloseRequestInFlight","WritableStreamFinishInFlightCloseWithError","WritableStreamDefaultControllerProcessClose","shift","WritableStreamMarkFirstWriteRequestInFlight","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamDefaultControllerProcessWrite","container","pair","_require4","_require5","underlyingSource","_reader","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","_ref2","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","_ref3","options","readable","ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue","pipeTo","_ref4","preventClose","preventAbort","preventCancel","Boolean","shuttingDown","currentWrite","action","isOrBecomesErrored","shutdownWithAction","shutdown","destClosed","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamReaderGenericRelease","pipeLoop","ReadableStreamDefaultReaderRead","_ref5","branches","ReadableStreamTee","ReadableStreamBYOBReader","ReadableStreamDefaultReader","cloneForBranch2","teeState","closedOrErrored","canceled1","canceled2","reason1","reason2","pull","branch1","_branch1","branch2","_branch2","_teeState","ReadableStreamDefaultControllerClose","value1","value2","ReadableStreamDefaultControllerEnqueue","_cloneForBranch2","cancel1","_stream","cancelResult","cancel2","underlyingSource1","branch1Stream","underlyingSource2","branch2Stream","ReadableStreamDefaultControllerError","ReadableStreamAddReadIntoRequest","IsReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","ReadableStreamAddReadRequest","IsReadableStreamDefaultReader","readRequest","_readRequests","ReadableStreamClose","__cancelSteps","defaultReaderClosedPromiseResolve","ReadableStreamError","defaultReaderClosedPromiseReject","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadIntoRequests","ReadableStreamGetNumReadRequests","ReadableStreamHasBYOBReader","ReadableStreamHasDefaultReader","IsReadableStreamDisturbed","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamReaderGenericInitialize","defaultReaderBrandCheckException","_ownerReadableStream","readerLockException","ReadableStreamReaderGenericCancel","IsReadableByteStreamController","byobReaderBrandCheckException","isView","_controlledReadableStream","elementSize","DataView","BYTES_PER_ELEMENT","ctor","pullIntoDescriptor","byteOffset","bytesFilled","readerType","_pendingPullIntos","emptyView","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableByteStreamControllerHandleQueueDrain","_closeRequested","ReadableByteStreamControllerError","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerPullInto","ReadableStreamBYOBReaderRead","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","defaultReaderClosedPromiseResetToRejected","__pullSteps","_underlyingSource","_pullAgain","_pulling","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerErrorIfNeeded","IsReadableStreamDefaultController","defaultControllerBrandCheckException","pendingPromise","ReadableStreamDefaultControllerShouldCallPull","ReadableStreamBYOBRequest","_associatedReadableByteStreamController","_view","bytesWritten","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","ReadableByteStreamControllerRespondInternal","ReadableByteStreamControllerRespond","firstDescriptor","ReadableByteStreamControllerRespondWithNewView","underlyingByteSource","_underlyingByteSource","ReadableByteStreamControllerClearPendingPullIntos","autoAllocateChunkSize","_autoAllocateChunkSize","byteStreamControllerBrandCheckException","ReadableByteStreamControllerClose","transferredBuffer","ReadableByteStreamControllerEnqueueChunkToQueue","transferredView","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerEnqueue","viewE","bufferE","_byobRequest","ReadableByteStreamControllerGetDesiredSize","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerRespondInClosedState","remainderSize","remainder","ReadableByteStreamControllerRespondInReadableState","transformStream","readableStream","writableStream","TransformStream","TransformStreamEnqueueToReadable","_errored","_readableClosed","_readableController","TransformStreamErrorIfNeeded","TransformStreamSetBackpressure","TransformStreamCloseReadableInternal","TransformStreamErrorInternal","_writableDone","_writableController","TransformStreamReadableReadyPromise","_backpressureChangePromise","_backpressureChangePromise_resolve","resolution","TransformStreamDefaultTransform","transformStreamController","_controlledTransformStream","IsTransformStreamDefaultController","IsTransformStream","TransformStreamSink","startPromise","_transformStream","_startPromise","_transforming","transformer","_transformer","_transformStreamController","TransformStreamTransform","TransformStreamSource","TransformStreamDefaultController","TransformStreamCloseReadable","TransformStreamError","readableController","readableStrategy","writableStrategy","startPromise_resolve","_readable","sink","_writable","desiredSize","isURLSupported","u","pathname","href","PolyfillURL","OriginalURL","revokeObjectURL","relative","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","h","percentEscape","unicode","percentEscapeQuery","EOF","ALPHA","ALPHANUMERIC","parse","stateOverride","errors","cursor","seenAt","seenBracket","loop","_scheme","_isRelative","_query","_fragment","_schemeData","_host","_port","_path","_username","_password","nextC","nextNextC","pop","cp","tempC","temp","parseInt","JURL","_url","authority","host","_","PDFDocumentLoadingTask","_util","rangeTransport","worker","pdfBytes","rangeChunkSize","CMapReaderFactory","_dom_utils","DOMCMapReaderFactory","ignoreErrors","stopAtErrors","pdfBug","NativeImageDecoderValues","nativeImageDecoderSupport","_api_compatibility","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","disableCreateObjectURL","workerParams","postMessageTransfers","_worker_options","workerPort","fromPort","_worker","docId","destroyed","pdfDataRangeTransport","initialData","messageHandler","sendWithPromise","apiVersion","password","docBaseUrl","workerId","_fetchDocument","networkStream","_transport_stream","PDFDataTransportStream","createPDFNetworkStream","_message_handler","MessageHandler","transport","WorkerTransport","send","_capability","pdfNetworkStreamFactory","PDFPageProxy","PDFDocumentProxy","_regenerator","_font_loader","_canvas","_global_scope","_metadata","_webgl","default","_slicedToArray","_arrayWithHoles","_arr","_e","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","arr2","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","fallbackWorkerSrc","fakeWorkerFilesLoader","isWorkerDisabled","useRequireEnsure","ensure","requirejs","toUrl","dynamicLoaderSupported","load","WorkerMessageHandler","pdfjsFilePath","currentScript","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_readyCapability","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","return","loaded","_this2","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","_this3","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","pdfInfo","loadingTask","_pdfInfo","ref","getPageIndex","getDestinations","getPageLabels","getPageMode","getOpenActionDestination","getAttachments","getJavaScript","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","fingerprint","loadingParams","pageInfo","_pageInfo","_stats","StatTimer","DummyStatTimer","_pdfBug","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","_ref$rotation","rotation","rotate","_ref$dontFlip","dontFlip","PageViewport","viewBox","_ref2$intent","intent","annotationsPromise","annotationsIntent","_this4","canvasContext","viewport","_ref3$intent","_ref3$enableWebGL","enableWebGL","_ref3$renderInteracti","renderInteractiveForms","_ref3$transform","_ref3$imageLayer","imageLayer","_ref3$canvasFactory","canvasFactory","_ref3$background","background","stats","time","renderingIntent","canvasFactoryInstance","DOMCanvasFactory","webGLContext","WebGLContext","enable","intentState","displayReadyCapability","receivingOperatorList","operatorList","fnArray","argsArray","lastChunk","complete","renderTasks","internalRenderTask","_tryCleanup","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","opListTask","opListReadCapability","_ref4$normalizeWhites","normalizeWhitespace","_ref4$disableCombineT","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","items","streamTextContent","getReader","styles","pump","read","_textContent$items","pageCache","waitOn","renderCompleted","resetStats","some","operatorListChunk","userUnit","_listeners","_defer","_deferred","transfers","_this5","cloned","cloneValue","transferable","fakeWorkerFilesLoadedCapability","pdfWorkerPorts","nextFakeWorkerId","_getWorkerSrc","getMainThreadWorkerMessageHandler","pdfjsWorker","_ref6","_ref6$name","_ref6$port","_ref6$postMessageTran","_ref6$verbosity","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this6","Worker","createCDNWrapper","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","supportTypedArray","supportTransfers","sendTest","testObj","_this7","mainWorkerMessageHandler","setupFakeWorkerGlobal","workerHandler","setup","delete","FontLoader","_onUnsupportedFeature","_params","cMapUrl","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this8","_destroy","terminated","cancelAllRequests","_this9","getFullReader","evt","total","onPull","_ref7","enqueue","onCancel","_this10","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref8","_ref9","pdfDocument","exception","_this11","_startRenderPage","_renderPageChunk","_this12","_data","exportedData","exportedError","fontRegistry","FontInspector","enabled","registerFont","fontAdded","FontFaceObject","_data2","imageData","pageProxy","img","Image","pageNum","_data3","imageUrl","components","width","height","rgbaLength","buf","Uint8ClampedArray","tmpCanvas","tmpCtx","getContext","drawImage","getImageData","_j","fetch","_ref10","featureId","_this13","_this14","results","metadata","Metadata","contentDispositionFilename","filename","_this15","cleanup","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","_ref11","_ref11$useRequestAnim","_ref11$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","canvas","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this16","requestAnimationFrame","_next2","mark","_callee","_context","prev","abrupt","executeOperatorList","stop","hadRuntime","regeneratorRuntime","oldRuntime","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","inModule","runtime","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","reverse","Context","reset","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","rootRecord","completion","rval","dispatchException","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","finallyEntry","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","protoGenerator","generator","_invoke","delegateResult","maybeInvokeDelegate","tryCatch","makeInvokeMethod","previousPromise","callInvokeWithMethodAndArg","unwrapped","pushTryEntry","locs","iteratorMethod","doneResult","webpackPolyfill","deprecate","paths","children","link","rel","title","LinkTargetValues","targetIndex","LinkTargetStringMap","anchor","query","substring","lastIndexOf","script","DOMSVGFactory","DEFAULT_LINK_REL","SVG_NS","canvasAndContext","_ref$baseUrl","_ref$isCompressed","request","XMLHttpRequest","responseType","onreadystatechange","readyState","DONE","response","responseText","cMapData","compressionType","svg","createElementNS","setAttribute","_ref3$offsetX","offsetX","_ref3$offsetY","offsetY","_ref3$dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","abs","_ref4$scale","_ref4$rotation","_ref4$dontFlip","y","tl","br","SELF","BLANK","PARENT","TOP","started","times","Date","longest","_ii","span","duration","_possibleConstructorReturn","_assertThisInitialized","_setPrototypeOf","BaseFontLoader","nativeFontFaces","styleElement","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","_bind","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","t0","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","_x","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","_inherits","otherRequest","int32","spliceString","insert","called","_loadTestFont","checksum","loadedName","fontFamily","body","isFontReady","fillText","supported","IsEvalSupportedCached","translatedData","_ref2$isEvalSupported","_ref2$disableFontFace","_ref2$ignoreErrors","_ref2$onUnsupportedFe","_ref2$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","compatibilityParams","isIE","isIOSChrome","_pattern_helper","IsLittleEndianCached","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","ad_bc","bc_ad","old","angle","cosValue","cos","sinValue","sin","CachedCanvases","getCanvas","trackTransform","canvasEntry","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","clone","setCurrentPoint","canvasCtx","stateStack","pendingClip","pendingEOFill","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","imgData","ImageData","putImageData","destPos","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","mask","srcByte","putBinaryImageMask","elem","copyCtxState","sourceCtx","destCtx","properties","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","composeSMask","layerCtx","maskCtx","scaleX","scaleY","backdrop","isEnabled","composed","layer","subtype","composeFn","hasBackdrop","row","chunkHeight","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref$transparency","_ref$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","steps","breakIt","deps","nn","depObjId","objsPool","endSMaskGroup","endLayout","limit","dashArray","dashPhase","flatness","states","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","getPattern","needRestore","pendingTextPaths","beginPath","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","fontChar","accent","remeasure","measuredWidth","measureText","isFontSubpixelAAEnabled","characterScaleX","isInFont","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","patternIR","inv","bl","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","canvasBounds","imageSmoothingEnabled","mozImageSmoothingEnabled","domImage","position","getCanvasPosition","appendImage","top","isPatternFill","compiled","j0","width1","points","POINT_TYPES","lineSize","data0","sum","Int32Array","outlines","pp","coords","p0","jj","compileType3Glyph","maskCanvas","positions","images","image","map","imgToPaint","widthScale","heightScale","HTMLElement","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","inverse","raw","shadingIR","ShadingIRs","fromIR","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","combinesScale","figures","backgroundColor","boundsWidth","boundsHeight","paddedWidth","BORDER_SIZE","paddedHeight","drawFigures","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","xstep","ystep","paintType","tilingType","createPatternCanvas","topLeft","botRight","curMatrixScale","combinedScale","graphics","setFillAndStrokeStyleToContext","setScale","transformToScale","tmpTranslate","clipBbox","tmpScale","scaleToContext","bboxWidth","bboxHeight","cssColor","_asyncToGenerator","resolveCall","_x2","_resolveCall","thisArg","_args","wrapReason","makeReasonSerializable","resolveOrReject","success","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","actionName","scope","queueingStrategy","startCapability","startCall","isClosed","pullCapability","pullCall","cancelCapability","cancelCall","sendStreamRequest","streamSink","lastDesiredSize","sinkCapability","sendStreamResponse","deleteStreamController","_xml_parser","_repair","xmlDocument","SimpleXMLParser","parseFromString","_parse","codes","rdf","nodeName","firstChild","nextSibling","hasChildNodes","childNodes","trim","_get","receiver","Reflect","_superPropBase","XMLParserErrorCode","isWhitespace","XMLParserBase","entity","onResolveEntity","attributes","skipWs","attrValue","attrName","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","text","onText","isEmpty","SimpleDOMNode","nodeValue","child","_XMLParserBase","_currentFragment","_stack","_errorCode","parseXml","isWhitespaceString","lastElement","_queuedChunks","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","transportReady","PDFDataTransportStreamReader","queuedChunks","_done","_filename","_requests","_headersReady","PDFDataTransportStreamRangeReader","_begin","_end","_queuedChunk","_enqueue","found","firstReader","_removeRangeReader","requestDataRange","abort","_read","requestCapability","_read2","_callee2","_context2","_ref$enable","_enabled","WebGLUtils","tryInitGL","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskCache","figuresCache","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","initSmaskGL","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","deleteTexture","deleteBuffer","scaleLocation","offsetLocation","colorLocation","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","NonWhitespaceRegexp","styleBuf","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","dataset","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","expand","expanded","boxes","box","x1New","x2New","expandBoundsLTR","expandBounds","divProperties","ts","Float64Array","findPositiveMin","boxScale","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","TextLayerRenderTask","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","clearTimeout","_processItems","styleCache","textLayerFrag","_render","timeout","mozOpaque","textItems","textStyles","expandTextDivs","expandDivs","padding","renderParameters","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","trigger","popup","PopupElement","contents","hideWrapper","_AnnotationElement","className","newWindow","externalLinkTarget","externalLinkRel","_bindNamedAction","_bindLink","destination","getDestinationHash","onclick","navigateTo","getAnchorUrl","executeNamedAction","_AnnotationElement2","hasPopup","alt","l10nId","l10nArgs","_createPopup","_AnnotationElement3","_WidgetAnnotationElem","hasAppearance","fieldValue","element","multiLine","disabled","readOnly","maxLen","comb","combWidth","letterSpacing","verticalAlign","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_WidgetAnnotationElem3","fieldName","buttonValue","_LinkAnnotationElemen","_WidgetAnnotationElem4","selectElement","combo","multiSelect","multiple","option","optionElement","displayValue","exportValue","_AnnotationElement4","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","hideElement","_formatContents","_toggle","_show","_hide","lines","line","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","lineCoordinates","append","_AnnotationElement6","square","_AnnotationElement7","circle","_AnnotationElement8","containerClassName","svgElementName","vertices","polyline","_PolylineAnnotationEl","_AnnotationElement9","inkLists","inkList","_AnnotationElement10","_AnnotationElement11","_AnnotationElement12","_AnnotationElement13","_AnnotationElement14","_AnnotationElement15","_this6$data$file","eventBus","dispatch","_download","downloadData","annotations","_is_node","SVG_DEFAULTS","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","crc32","deflateSyncUncompressed","literals","deflateBlocks","idat","adler","adler32","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","output","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","pf","toFixed","pm","acos","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","XLINK_NS","clipCount","maskCount","tgrp","executeOpTree","loadDependencies","fnArrayLen","getSVG","svgElement","opTree","convertOpList","REVOPS","opList","opListLen","opListToTree","opTreeLen","lineMatrix","xcoords","tspan","setAttributeNS","txtElement","txtgrp","charWidth","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","setStrokeAlpha","setFillAlpha","opLength","clipId","clipPath","clipElement","cloneNode","getAttributeNS","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","sourceUrl","parsedUrl","parseUrl","isHttp","isFsUrl","_fullRequest","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_loaded","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","auth","hostname","_BaseFullReader","handleResponse","statusCode","_setReadableStream","getResponseHeader","_validateRangeRequest","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_httpHeaders","_BaseFullReader2","lstat","createReadStream","_BaseRangeReader2","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","fixupEncoding","rfc2047decode","rfc5987decode","match","matches","_match2","quot","part","parts","_matches$n","rfc2231getparam","_filename2","attributePattern","flags","RegExp","textdecode","encoding","decoder","TextDecoder","fatal","decode","quotindex","extvalue","encodingend","charset","hex","createFetchOptions","abortController","signal","credentials","redirect","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers","Headers","rangeStr","NetworkManager","getXhr","currXhrId","pendingRequests","loadedRequests","getArrayBuffer","xhr","supportsMozChunked","_source","_manager","PDFNetworkStreamFullRequestReader","manager","onHeadersReceived","_onHeadersReceived","onProgressiveData","_onProgressiveData","onDone","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","PDFNetworkStreamRangeRequestReader","_requestId","requestRange","onClosed","listeners","xhrId","pendingRequest","setRequestHeader","expectedStatus","mozChunked","onStateChange","onprogress","xhrStatus","rangeHeader","hasPendingRequests","getRequestXhr","isStreamingRequest","isPendingRequest","isLoadedRequest","abortAllRequests","_onRangeRequestReaderClosed","fullRequestXhrId","fullRequestXhr","networkManager","lengthComputable","_close","focusEvents","getArgs","mergeClassNames","reduce","filter","_arrayLikeToArray","minLen","propIsEnumerable","test1","test2","test3","letter","shouldUseNative","to","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","encodingOrOffset","allocUnsafe","array","fromArrayLike","fromArrayBuffer","isEncoding","actual","fromString","isBuffer","checked","copy","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","indexSize","arrLength","valLength","readUInt16BE","foundIndex","hexWrite","strLen","substr","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","list","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","toJSON","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","stringtrim","base64clean","dst","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","noop","browser","env","argv","addListener","once","off","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","objectWithoutPropertiesLoose","excluded","sourceSymbolKeys","Message","_react","propTypes","PDFLinkService","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","for","z","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","H","isReactComponent","setState","forceUpdate","I","isPureReactComponent","J","L","__self","__source","M","defaultProps","$$typeof","_owner","Q","keyPrefix","aa","X","N","Y","Z","ba","ReactCurrentDispatcher","ReactCurrentBatchConfig","suspense","ReactCurrentOwner","IsSomeRendererActing","Children","toArray","only","Component","Fragment","Profiler","PureComponent","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","createFactory","createRef","forwardRef","isValidElement","lazy","_ctor","_status","_result","memo","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","da","ea","fa","ha","ja","la","ma","na","oa","currentTarget","ka","pa","qa","ra","sa","extractEvents","eventTypes","ta","phasedRegistrationNames","ua","registrationName","va","wa","ya","za","Aa","Ba","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","Ua","Va","toUpperCase","xlinkHref","Wa","Xa","Sa","Ta","Ra","Ya","Za","$a","ab","bb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","pb","qb","_debugOwner","_debugSource","fileName","lineNumber","rb","sb","_valueTracker","getValue","setValue","stopTracking","tb","yb","zb","defaultChecked","defaultValue","_wrapperState","initialChecked","Ab","initialValue","controlled","Bb","Cb","Db","Eb","ownerDocument","activeElement","Gb","Fb","Hb","selected","defaultSelected","Ib","dangerouslySetInnerHTML","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","MSApp","execUnsafeLocalFunction","namespaceURI","innerHTML","Rb","lastChild","nodeType","Sb","Tb","animationend","animationiteration","animationstart","transitionend","Ub","Vb","Wb","animation","transition","Xb","Yb","Zb","$b","ac","bc","Map","cc","dc","alternate","effectTag","ec","memoizedState","dehydrated","fc","hc","sibling","gc","ic","jc","kc","lc","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","mc","nc","srcElement","correspondingUseElement","oc","pc","qc","topLevelType","nativeEvent","targetInst","ancestors","rc","eventSystemFlags","sc","containerInfo","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Kc","blockedOn","Lc","pointerId","Mc","Nc","Pc","unstable_runWithPriority","priority","hydrate","Qc","Rc","Sc","Tc","Uc","unstable_scheduleCallback","unstable_NormalPriority","Vc","Wc","Yc","Zc","$c","ad","bubbled","captured","eventPriority","bd","cd","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","Oc","jd","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","kd","ld","md","setProperty","nd","menuitem","area","embed","hr","keygen","param","track","wbr","od","pd","qd","rd","sd","td","ud","vd","xd","HTMLIFrameElement","yd","contentEditable","Dd","Ed","Fd","autoFocus","Gd","__html","Hd","Id","Jd","Kd","previousSibling","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","dispatchConfig","Ud","_targetInst","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","Interface","isDefaultPrevented","defaultPrevented","returnValue","ee","eventPool","fe","destructor","de","getPooled","preventDefault","stopPropagation","cancelBubble","persist","eventPhase","bubbles","cancelable","timeStamp","isTrusted","extend","ge","he","ie","je","ke","documentMode","le","me","ne","oe","beforeInput","compositionEnd","compositionStart","compositionUpdate","pe","qe","keyCode","detail","se","ve","locale","which","te","ctrlKey","altKey","metaKey","char","ue","we","date","datetime","email","month","tel","week","xe","ye","change","ze","Ae","Be","Ce","De","Ee","Fe","Ge","detachEvent","He","Ie","attachEvent","Je","Ke","Le","Me","_isInputEventSupported","Ne","Oe","Alt","Control","Meta","Shift","Pe","getModifierState","Qe","Re","Se","Te","Ue","Ve","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","We","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Xe","mouseEnter","mouseLeave","pointerEnter","pointerLeave","Ye","defaultView","parentWindow","$e","af","bf","cf","df","select","ef","ff","gf","hf","jf","selectionStart","selectionEnd","anchorNode","getSelection","anchorOffset","focusNode","focusOffset","kf","onSelect","lf","animationName","elapsedTime","pseudoElement","mf","clipboardData","nf","charCode","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","qf","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","rf","sf","dataTransfer","tf","touches","targetTouches","changedTouches","uf","vf","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","wf","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","yf","zf","Af","Bf","Cf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","Df","Ef","Ff","getChildContext","Gf","__reactInternalMemoizedMergedChildContext","Hf","If","Jf","Kf","unstable_cancelCallback","Lf","unstable_requestPaint","Mf","unstable_now","Nf","unstable_getCurrentPriorityLevel","Of","unstable_ImmediatePriority","Pf","Qf","Rf","unstable_LowPriority","Sf","unstable_IdlePriority","Tf","Uf","unstable_shouldYield","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","childExpirationTime","qg","firstContext","expirationTime","rg","sg","observedBits","responders","tg","ug","updateQueue","baseState","baseQueue","pending","effects","vg","wg","suspenseConfig","payload","xg","yg","zg","ca","Ag","Bg","Cg","Dg","Eg","Fg","Jg","_reactInternalFiber","Gg","Hg","Ig","Kg","shouldComponentUpdate","Lg","contextType","Mg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ng","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Og","Pg","_stringRef","Qg","Rg","lastEffect","nextEffect","firstEffect","Sg","Tg","elementType","Ug","implementation","Vg","Wg","Xg","Yg","Zg","$g","bh","dh","tagName","eh","fh","gh","hh","memoizedProps","revealOrder","ih","responder","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","xh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","readContext","useResponder","useDeferredValue","useTransition","Oh","Ph","Qh","Rh","Sh","Th","pendingProps","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","gi","getDerivedStateFromError","pendingContext","ni","qi","retryTime","ji","fallback","unstable_avoidThisFallback","ki","li","isBackwards","rendering","renderingStartTime","tail","tailExpiration","tailMode","mi","ri","si","wasMultiple","onClick","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Set","Ci","Fi","Ei","Gi","__reactInternalSnapshotBeforeUpdate","Hi","Ii","Ji","focus","Ki","Li","componentWillUnmount","Di","Mi","Ni","Oi","Pi","Qi","insertBefore","_reactRootContainer","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","componentDidCatch","aj","componentStack","Rj","bj","cj","dj","kj","lj","mj","nj","oj","qj","rj","sj","tj","uj","vj","wj","timeoutMs","xj","yj","zj","lastExpiredTime","Aj","firstPendingTime","lastPingedTime","nextKnownPendingLevel","callbackExpirationTime","callbackPriority","callbackNode","Bj","Cj","Dj","Ej","Fj","Gj","Hj","finishedWork","finishedExpirationTime","lastSuspendedTime","Ij","timeoutHandle","Jj","busyMinDurationMs","busyDelayMs","Kj","Mj","Nj","pingCache","Oj","ub","Pj","Xc","Qj","Sj","firstSuspendedTime","rangeCount","wb","activeElementDetached","focusedElem","selectionRange","Tj","wd","compareDocumentPosition","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","vb","Uj","Vj","Wj","hidden","ob","Xj","unstable_observedBits","Zj","pendingChildren","ak","bk","ck","dk","ek","fk","Jc","_internalRoot","gk","ik","hk","jk","kk","unmount","querySelectorAll","form","Lj","lk","Events","findFiberByHostInstance","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Yj","overrideHookState","overrideProps","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","bundleType","rendererPackageName","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","unstable_forceFrameRate","performance","cancelAnimationFrame","sortIndex","startTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","delay","unstable_wrapCallback","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","num","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","pdfjsCoreWorker","WorkerTask","_pdf_manager","_primitives","ensureNotTerminated","maybePort","PDFWorkerStream","msgHandler","_msgHandler","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","testMessageProcessed","responseExists","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","workerHandlerName","startWorkerTask","finishWorkerTask","loadDocument","_loadDocument","recoveryMode","ensureDoc","getPdfManager","evaluatorOptions","pdfManagerCapability","LocalPdfManager","pdfStream","cachedChunks","fullRequest","NetworkPdfManager","sendProgressiveData","readChunk","pdfFile","flushChunks","Ref","catalog","ensureCatalog","requestLoadedStream","onLoadedStream","xref","getAnnotationsData","getOperatorList","totalLength","wrappedException","minimumStackMessage","extractTextContent","fontFallback","finished","onSuccess","doc","onFailure","updatePassword","pdfManagerReady","boundException","newPdfManager","setupDoc","initializeFromPort","_chunked_stream","_document","BasePdfManager","_ensure","_x3","_docId","_docBaseUrl","_BasePdfManager","Stream","PDFDocument","_loadedStreamPromise","_ensure2","_x4","_x5","_x6","_BasePdfManager2","pdfNetworkStream","streamManager","ChunkedStreamManager","getStream","_ensure3","_callee3","_context3","_x7","_x8","_x9","requestAllChunks","onReceiveData","ChunkedStream","loadedChunks","numChunksLoaded","numChunks","progressiveDataLength","lastSuccessfulEnsureByteChunk","chunks","beginChunk","endChunk","curChunk","ensureByte","getByte","forceClamped","strEnd","ensureRange","_subarray","peekedByte","getBytes","ChunkedStreamSubstream","getMissingChunks","missingChunks","subStream","currRequestId","chunksNeededByRequest","requestsByChunk","promisesByRequest","aborted","_loadedStreamCapability","chunkData","_requestChunks","requestId","chunksNeeded","_chunk","hasChunk","chunksToRequest","groupedChunksToRequest","groupChunks","groupedChunk","sendRequest","getBeginChunk","getEndChunk","ranges","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","allChunksLoaded","_chunk2","requestIds","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","nextEmptyChunk","Page","_obj","_stream2","_annotation","_crypto","_parser","_operator_list","_evaluator","_function","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","pageDict","fontCache","builtInCMapCache","pdfFunctionFactory","resourcesPromise","uniquePrefix","idCounters","idFactory","createObjId","isDict","Dict","merge","streams","fetchIfRef","StreamsSequenceStream","isStream","NullStream","ObjectLoader","resources","contentStreamPromise","loadResources","partialEvaluator","PartialEvaluator","pageListPromise","contentStream","OperatorList","hasBlendModes","_parsedAnnotations","pageOpList","opListPromises","opLists","addOp","addOpList","annotationsData","_getInheritableProperty","mediaBox","cropBox","intersection","parsedAnnotations","annotationRefs","annotationPromises","AnnotationFactory","find","needle","backwards","XRef","PDFFunctionFactory","_pagePromises","catDict","isName","pdfFormatVersion","acroForm","xfa","fields","moveStart","setStartXRef","startXRef","Catalog","linearization","pageFirst","objectNumberFirst","fetchAsync","pageKidsCountCache","put","getPageDict","_getLinearizationPage","Linearization","startXRefLength","skip","infoDict","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","trailer","customValue","hash","idArray","calculateMD5","FileSpec","_colorspace","fetchDestination","getCatalogObj","RefSetCache","getRaw","isRef","root","processed","RefSet","blackColor","outlineDict","parseDestDictionary","destDict","resultObj","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","encrypt","permissions","destinationId","_readDests","NameTree","pageLabels","prefix","nums","NumberTree","getAll","currentLabel","currentIndex","labelDict","st","baseCharCode","letterIndex","charBuf","promises","translatedFonts","translatedFont","translated","nodesToVisit","currentPageIndex","_loop","currentNode","kids","_ret","pageRef","kidRef","parentRef","isRefsEqual","getAsync","kidPromises","kid","pagesBeforeRef","streamRef","suppressEncryption","encryptMetadata","pagesObj","_readDocumentOutline","_readPermissions","toplevelPagesDict","dests","_readPageLabels","pageMode","openActionDest","attachments","serializable","appendIfJavaScriptDict","jsDict","openActionDict","actionType","addDefaultProtocolToUrl","urlDict","remoteDest","namedAction","jsAction","jsUrl","tryConvertUrlEncoding","xrefstms","streamTypes","fontTypes","startXRefQueue","trailerDict","indexObjects","readXRef","assignXref","ids","fileId","CipherTransformFactory","processXRefTable","parser","tableState","entryNum","streamPos","lexer","parserBuf1","buf1","parserBuf2","buf2","readXRefTable","isCmd","getObj","firstEntryNum","entryCount","free","uncompressed","processXRefStream","streamParameters","byteWidths","streamState","entryRanges","readXRefStream","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","readToken","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","rootDict","startXRefParsedCache","topDict","getEntry","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","allowStreams","fetchIfRefAsync","_fetchIfRefAsync","_fetchAsync","NameOrNumberTree","_type","kidsOrEntries","limits","_r","_m","currentKey","_m2","mm","_NameOrNumberTree","_NameOrNumberTree2","description","contentAvailable","pickPlatformItem","contentRef","fileObj","mayHaveChildren","addChildren","dictKeys","rawValue","_i3","_ii2","refSet","_walk","nodesToRevisit","getBaseStreams","baseStreams","foundMissingData","requestRanges","_i4","_ii3","isEOF","Cmd","v1","v2","Name","nameCache","nameValue","cmdCache","cmdValue","nonSerializable","_map","__nonSerializable__","newXref","key1","key2","key3","dictArray","mergedDict","keyName","putAlias","aliasRef","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","computeAdler32","bytesLength","imageCache","refill","tryShift","cipherTransform","makeInlineImage","makeStream","decryptString","findDefaultInlineStreamEnd","maybeEIPos","followingBytes","peekBytes","endOffset","peekByte","findDCTDecodeInlineStreamEnd","markerLength","foundEOI","getUint16","inlineStreamSkipEI","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","dictLength","beginInlineImagePos","filterName","filterZero","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","_findStreamLength","signature","signatureLength","scanBytes","scanLength","skipToNextLine","nextChar","ENDSTREAM_SIGNATURE","actualLength","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","knownCommands","specialChars","toHexDigit","currentChar","peekChar","getNumber","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","getString","numParen","charBuffered","getName","previousCh","getHexString","firstDigit","secondDigit","isFirstHex","comment","knownCommandFound","possibleCommand","getInt","allowZeroValue","linDict","hints","hintsLength","getHints","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","arrayBuffer","getInt32","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","bufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","buffer2","bufEnd","newLength","codeLenCodeMap","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","bits","getCode","table","codeLen","codeVal","generateHuffmanTable","lengths","code2","hdr","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","bitsLength","bitsOffset","codeLengths","repeatLength","code1","dist","blockLen","predictor","readBlockTiff","readBlockPng","pixBytes","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","compArray","bitMask","prevRow","up","upLeft","decrypt","nextChunk","initialized","hasMoreData","maxDecodeLength","digit","repeatHeader","cachedData","bitsCached","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","Uint16Array","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","estimatedDecodedSize","blockSize","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","eoline","byteAlign","eoblock","codingLine","refLine","codingPos","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","_lookBits","_eatBits","refPos","blackPixels","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","a1","_findTableCode","limitValue","_jbig","jbig2Image","Jbig2Image","globalsStream","globals","parseChunks","_arithmetic_decoder","Jbig2Error","ContextCache","DecodingContext","decodeInteger","contextCache","procedure","contexts","getContexts","bit","readBit","decodeIAID","Int8Array","ArithmeticDecoder","SegmentTypes","CodingTemplates","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmap","mmr","templateIndex","prediction","at","decodingContext","decodeMMRBitmap","Reader","contextLabel","pixel","row1","row2","decodeBitmapTemplate0","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","decodeRefinement","referenceBitmap","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeTextRegion","huffman","refinement","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","symbolCodeLength","transposed","dsOffset","referenceCorner","combinationOperator","huffmanTables","refinementTemplateIndex","refinementAt","logStripSize","huffmanInput","stripT","tableDeltaT","firstS","currentS","tableFirstS","currentT","symbolId","symbolIDTable","applyRefinement","symbolBitmap","symbolWidth","symbolHeight","rdw","rdh","s2","t2","symbolRow","offsetT","offsetS","maxWidth","deltaS","tableDeltaS","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionMmr","RegionSegmentInformationFieldLength","searchPattern","headerEnd","readSegments","header","segments","segment","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","numberOfExportedSymbols","numberOfNewSymbols","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","patternWidth","patternHeight","maxPatternIndex","halftoneRegion","halftoneRegionFlags","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","genericRegion","genericRegionSegmentFlags","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","SimpleSegmentVisitor","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","isLeaf","HuffmanTable","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","onPageInformation","currentPageInfo","drawBitmap","regionInfo","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","customTables","tableDeltaHeight","tableDeltaWidth","tableBitmapSize","tableAggregateInstances","customIndex","getStandardTable","getCustomHuffmanTable","getSymbolDictionaryHuffmanTables","referredSymbols","tableB1","symbolWidths","newSymbols","currentHeight","currentWidth","totalWidth","firstSymbol","deltaWidth","numberOfInstances","rdx","rdy","bitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMin","xMax","exportedSymbols","currentFlag","totalSymbolsLength","runLength","decodeSymbolDictionary","onImmediateTextRegion","numberOfSymbols","runCodesTable","repeatedLength","numberOfRepeats","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","patterns","patternBitmap","decodePatternDictionary","onImmediateHalftoneRegion","regionWidth","regionHeight","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","mmrInput","patternIndex","patternRow","regionRow","grayScaleBitPlanes","regionX","regionY","decodeHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","decodeTablesSegment","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","endOfBlock","numBits","parseJbig2Chunks","_parseJbig","numberOfPages","_visitor$currentPageI","bitPacked","parseJbig2","QeTable","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","_jpg","jpegOptions","decodeTransform","colorTransform","decodeArr","forceRGB","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","JpegImage","drawWidth","drawHeight","isSourcePDF","getIR","JpegError","DNLMarkerError","scanLines","EOIMarkerError","dctZigZag","_ref$decodeTransform","_ref$colorTransform","_decodeTransform","_colorTransform","buildHuffmanTable","getBlockBufferOffset","component","blocksPerLine","decodeScan","frame","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","decodeHuffman","tree","receive","receiveAndExtend","decodeBaseline","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuCol","decodeBlock","decodeFn","componentsLength","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","Int16Array","blockRow","blockCol","currentPos","peekUint16","maxPos","newPos","currentMarker","newMarker","_ref2$dnlScanLines","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","extended","precision","sofScanLines","componentIds","componentId","componentsCount","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","xScaleBlockOffset","mask3LSB","_convertYccToRgb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","_ref3$forceRGB","_ref3$isSourcePDF","rgbData","grayColor","_isColorConversionNeeded","_jpx","jpxImage","JpxImage","tileCount","tiles","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","SubbandsGainLog2","failOnCorruptedImage","calculateComponentDimensions","siz","XOsiz","XRsiz","Xsiz","YOsiz","YRsiz","Ysiz","calculateTileGrids","tile","SIZ","numXtiles","XTOsiz","XTsiz","numYtiles","YTOsiz","YTsiz","tx0","ty0","tx1","ty1","Csiz","tileComponent","tcx0","tcy0","tcx1","tcy1","getBlocksDimensions","codOrCoc","codingStyleParameters","entropyCoderWithCustomPrecincts","PPx","precinctsSizes","PPy","xcb_","xcb","ycb_","ycb","buildPrecincts","dimensions","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblock","precinctNumber","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","py","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","posX","minWidth","posY","minHeight","startPrecinctRowIndex","MAX_VALUE","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","included","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","delta","reversible","segmentationSymbolUsed","blockWidth","blockHeight","bitModel","currentCodingpassType","BitModel","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","interleave","levelOffset","transformTile","quantizationParameters","spqcds","SPqcds","scalarExpounded","guardBits","reversibleTransformation","ReversibleTransform","IrreversibleTransform","subbandCoefficients","mu","epsilon","gainLog2","calculate","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","colorspace","parseCodestream","headerType","parseImageProperties","newByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","multipleComponentTransform","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","resultImages","transformedTiles","tile0","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","transformComponents","levelsLength","levels","currentLevel","stopValue","propagateValues","levelIndex","currentValue","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","labels","i1","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","i2","Transform","u0","ll","iterate","j1","j2","hl_lh_hh","llWidth","llHeight","llItems","rowBuffer","numBuffers","colBuffers","currentBuffer","beta","gamma","calculateSHA512","calculateSHA384","calculateSHA256","PDF20","PDF17","ARCFourCipher","AES256Cipher","AES128Cipher","keyLength","encryptBlock","tmp2","decryptBlock","h0","h1","h2","h3","paddedLength","padded","rotateArg","Word64","highInteger","lowInteger","high","low","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","lowAdd","highAdd","copyTo","rotr","maj","sigma","sigmaPrime","littleSigma","h4","h5","h6","h7","t1","littleSigmaPrime","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_inv_s","_mix","_mixCol","bufferPosition","cipherKey","_keySize","_cyclesOfRepetition","_j2","_j3","s0","s1","s3","_j4","_j5","_j6","_j7","_j8","_j9","_k2","sourceLength","iv","plain","_decrypt","outputLength","lastBlock","psLen","_j10","_decryptBlock2","cipher","_encrypt","_j11","_AESBaseCipher","_rcon","_expandKey","rcon","t3","t4","_AESBaseCipher2","compareByteArrays","array1","array2","checkOwnerPassword","ownerValidationSalt","userBytes","ownerPassword","hashData","checkUserPassword","userValidationSalt","userPassword","getOwnerKey","ownerKeySalt","ownerEncryption","getUserKey","userKeySalt","userEncryption","concatArrays","calculatePDF20Hash","arrayLength","k1","concatBytes","CipherTransform","stringCipherConstructor","streamCipherConstructor","StringCipherConstructor","StreamCipherConstructor","defaultPasswordBytes","prepareKeyData","revision","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","uBytes","perms","passwordLength","pdfAlgorithm","createEncryptionKey20","decodeUserPassword","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","numComps","getRgbItem","inputLength","decodeMap","bpc","isDefaultDecode","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","isPassthrough","allColors","colorMap","getRgbBuffer","rgbPos","w1","w2","oldIndex","xRatio","yRatio","newIndex","xScaled","w1Scanline","resizeRgbImage","_destPos","_rgbPos","parseToIR","whitePoint","blackPoint","gray","cmyk","CalGrayCS","CalRGBCS","basePatternCS","PatternCS","baseIndexedCS","hiVal","IndexedCS","tintFn","AlternateCS","LabCS","colorSpaces","resCS","altIR","altCS","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","_ColorSpace","tmpBuf","baseNumComps","usesZeroToOneRange","baseBuf","scaled","tinted","getOutputLength","_ColorSpace2","baseCS","_ColorSpace3","highVal","outputDelta","lookupPos","_ColorSpace4","_ColorSpace5","convertToRgb","srcScale","_ColorSpace6","AG","YW","_ColorSpace7","XW","ZW","XB","YB","ZB","BRADFORD_SCALE_MATRIX","BRADFORD_SCALE_INVERSE_MATRIX","SRGB_D65_XYZ_TO_RGB_MATRIX","FLAT_WHITEPOINT_MATRIX","tempNormalizeMatrix","tempConvertMatrix1","tempConvertMatrix2","DECODE_L_CONSTANT","matrixProduct","sRGBTransferFunction","adjustToRange","decodeL","AGR","GR","BGG","GG","CGB","GB","MXA","MXB","MXC","MYA","MYB","MYC","MZA","MZB","MZC","XYZ","XYZ_Flat","sourceWhitePoint","XYZ_In","LMS","LMS_Flat","convertToFlat","normalizeWhitePointToFlat","XYZ_Black","sourceBlackPoint","zeroDecodeL","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","compensateBlackPoint","XYZ_D65","LMS_D65","convertToD65","normalizeWhitePointToD65","SRGB","_ColorSpace8","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","_ColorSpace9","AnnotationBorderStyle","Annotation","LinkAnnotation","TextAnnotation","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","WidgetAnnotation","PopupAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","setFlags","setRectangle","setColor","setBorderStyle","setAppearance","annotationFlags","appearance","flag","_hasFlag","dictType","setWidth","setStyle","setDashArray","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","evaluator","renderForms","appearanceDict","getTransformMatrix","_isViewable","_isPrintable","isValid","allZeros","_Annotation","_constructFieldName","alternativeText","defaultAppearance","fieldResources","fieldFlags","hasFieldFlag","loopDict","_WidgetAnnotation","alignment","maximumLength","_WidgetAnnotation2","pushButton","_processCheckBox","_processRadioButton","_processPushButton","customAppearance","exportValueOptionsDict","exportValues","fieldParent","fieldParentValue","_WidgetAnnotation3","isOptionArray","_Annotation2","_preparePopup","_Annotation3","_Annotation4","parentItem","parentSubtype","parentFlags","_Annotation5","_Annotation6","_Annotation7","_Annotation8","rawVertices","_PolylineAnnotation","_Annotation9","originalInkLists","_Annotation10","_Annotation11","_Annotation12","_this17","_Annotation13","_this18","_Annotation14","_this19","_Annotation15","_this20","QueueOptimizer","addState","parentState","checkFn","iterateFn","processFn","InitialState","iCurr","lastProcessed","curr","iFirstSave","iFirstTransform","iFirstPIIXO","maxLineHeight","currentX","currentY","imgWidth","imgHeight","dataOffset","iFirstPIMXO","imageMask","handlePaintSolidColorImageMask","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg3","iPIMXO","maskParams","firstPIXOArg0","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","NullOptimizer","optimizer","_totalLength","weight","CHUNK_SIZE","addDependency","addDependencies","cached","getTransfers","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_bidi","_glyphlist","_metrics","_murmurhash","_image","DefaultPartialEvaluatorOptions","NativeImageDecoder","_ref$forceDataSchema","_ref3$options","fetchBuiltInCMap","TimeSlotManager","normalizeBlendMode","canDecode","isDecodable","colorSpace","isSupported","deferred","newOptions","newEvaluator","nodes","graphicStates","graphicStatesKeys","bm","xObjects","xObjectsKeys","xObject","xResources","buildFormXObject","xobj","initialState","groupOptions","groupSubtype","buildPaintImageXObject","_ref5$isInline","isInline","_ref5$forceDisableNat","forceDisableNativeImageDecoder","bitStrideLength","imgArray","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","softMask","nativeImageDecoder","buildImage","nativeDecoder","imageObj","handleSMask","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","handleTilingType","patternDict","tilingOpList","resourcesArray","patternResources","getTilingPatternIR","tilingPatternIR","handleSetFont","fontArgs","fontRef","loadFont","loadType3Data","TranslatedFont","ErrorFont","handleText","charsToGlyphs","fillColorSpace","buildFontPaths","gState","gStateObj","gStateKeys","errorFont","fontRes","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontAliases","aliasFontRef","Font","getFontID","translateFont","fontType","fontFile3","getFontType","buildPath","lastIndex","opArgs","handleColorN","patternName","typeNum","shading","Pattern","parseShading","_ref6$initialState","EvalState","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","savedStatesDepth","promiseBody","operation","resolveXObject","rejectXObject","combinedGlyphs","arrItem","strokeColorSpace","shadingRes","dictName","extGState","_ref7$stateManager","_ref7$normalizeWhites","_ref7$combineTextItem","_ref7$seenStyles","seenStyles","TextState","textState","WhitespaceRegexp","textContentItem","lastAdvanceWidth","lastAdvanceHeight","textAdvanceScale","spaceWidth","fakeSpaceMin","fakeMultiSpaceMin","fakeMultiSpaceMax","textRunBreakAllowed","skipEmptyXObjs","ensureTextContentItem","tsm","glyphHeight","trm","ctm","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","buildTextContentItem","textChunk","glyphWidth","glyphUnicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","addFakeSpaces","ty","translateTextMatrix","fakeSpaces","flushTextContentItem","bidiResult","bidi","runBidiTransform","enqueueChunk","advance","fontNameArg","fontSizeArg","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","extractDataStructures","baseDict","toUnicode","toUnicodePromise","readToUnicode","composite","cidSystemInfo","registry","ordering","supplement","cidToGidMap","readCidToGidMap","differences","baseEncodingName","diffEncoding","defaultEncoding","getEncoding","isSymbolicFont","FontFlags","Symbolic","isNonsymbolicFont","Nonsymbolic","StandardEncoding","WinAnsiEncoding","MacRomanEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","hasEncoding","buildToUnicode","_buildSimpleFontToUnicode","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","getUnicodeForGlyph","baseEncoding","ToUnicodeMap","hasIncludedToUnicodeMap","fallbackToUnicode","cMap","builtInCMap","IdentityCMap","ucs2CMapName","CMapFactory","useCMap","ucs2CMap","cid","ucs2","IdentityToUnicodeMap","firstChar","lastChar","cmapObj","cmap","getMap","cidToGidStream","glyphsData","glyphID","extractWidths","widths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","isSerifFont","fontNameWoStyle","getSerifFonts","monospace","lookupName","getStdFontMap","Metrics","getMetrics","glyphWidths","widthsByGlyphName","uint8array","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","hexdigest","maxCharIndex","Serif","getSymbolsFonts","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","wideChars","fixedPitch","xHeight","capHeight","italicAngle","cidEncoding","renderer","hasBuiltPath","getPathJs","type3Loaded","exportData","glyphCacheValues","parentOperatorList","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcKeys","_loop2","glyphStream","txDiff","tyDiff","denominator","calcRenderMatrix","getOPMap","numArgs","variableArgs","opMap","nonProcessedArgs","_numInvalidPathOPS","opSpec","argsLength","partialMsg","preprocessCommand","CMap","BUILT_IN_CMAPS","codespaceRanges","numCodespaceRanges","dstLow","codespaceRange","_CMap","addCodespaceRange","BinaryCMapReader","hexToInt","hexToStr","addHex","incHex","BinaryCMapStream","readByte","readNumber","readSigned","readHex","readHexNumber","sp","readHexSigned","readString","sequence","dataSize","subitemsCount","mapOne","mapCidRange","mapBfRange","strToInt","expectString","expectInt","parseBfChar","parseBfRange","mapBfRangeToArray","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","previous","embeddedUseCMap","objLoop","extendCMap","createBuiltInCMap","newCMap","useCodespaceRanges","parsedCMap","isIdentityCMap","SEAC_ANALYSIS_ENABLED","_cff_parser","_font_renderer","_type1_parser","PRIVATE_USE_AREAS","Script","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","adjustWidths","recoverGlyphName","Glyph","matchesForCache","charCodeOf","amend","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","getSearchParams","entriesCount","entrySize","maxPower2","searchRange","rangeShift","tablesNames","tableName","numTables","tableOffsets","searchParams","addTable","sizes","glyphCache","toFontChar","fallbackToSystemFont","_getFontFileType2","fileType","fileSubtype","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","getFontFileType","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","int16","signedInt16","string16","safeString16","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","createCmapTable","numGlyphs","codeIndices","getRanges","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","bias","contiguous","format314","format31012","header31012","createOS2Table","charstrings","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","createNameTable","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","ID","FontRendererFactory","stdFontMap","nonStdFontMap","getNonStdFontMap","isStandardFont","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","unicodeCharCode","getDingbatsGlyphsUnicode","VALID_TABLES","readTables","readTableEntry","previousPosition","readOpenTypeHeader","ttf","entrySelector","sanitizeGlyph","sourceStart","sourceEnd","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xyLength","glyphDataLength","readNameTable","numRecords","stringsStart","records","platform","language","nameIndex","cffFile","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","foldTTTable","ttcData","ttc","_readTrueTypeCollecti","ttcTag","majorVersion","minorVersion","numFonts","offsetTable","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionHeader","potentialHeader","potentialTables","nameEntry","readTrueTypeCollectionData","isTrueType","isComposite","numGlyphsOut","dupFirstEntry","maxFunctionDefs","maxSizeOfInstructions","fpgm","prep","cvt","checkInvalidFunctions","cvtData","sanitizeTTPrograms","numOfMetrics","numMissing","sanitizeMetrics","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeHead","missingGlyphs","isGlyphLocationsLong","glyphsInfo","loca","itemSize","itemDecode","itemEncode","locaData","locaDataSize","oldGlyfData","oldGlyfDataLength","newGlyfData","writeOffset","simpleGlyph","firstEntryLength","sanitizeGlyphLocations","metricsOverride","post","maxpNumGlyphs","glyphNames","valid","glyphNameIndexes","customNames","readPostScriptTable","isCidToGidMapEmpty","cmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","readCmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","glyphZeroId","newMapping","os2","selection","validateOS2Table","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","builtInEncoding","adjustToUnicode","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","tan","cffWidths","hmtx","charstring","_shadowWidth","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","readCharCode","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","headerBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","headerBytes","headerBytesLength","block","EEXEC_SIGNATURE","streamStartPos","getHeaderBlock","Type1Parser","extractFontHeader","eexecBlock","eexecBytes","getEexecBlock","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","getSeacs","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","field","privateData","subrIndex","subrsIndex","charsets","isCIDFont","CFFFDSelect","_charsets","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","topDictIndex","stringIndex","topDictParsed","parseDict","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","getByName","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","localSubrIndex","hdrSize","offSize","parseOperand","parseFloatOperand","operands","cffIndex","offsetSize","offsetStart","offsetEnd","Type","cffDict","setByKey","parseCharString","callDepth","stackSize","validationCommand","subrNumber","hasVStems","firstStackClearing","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","emptyPrivateDictionary","parentDict","privateOffset","privateDictEnd","dictData","subrsOffset","relativeOffset","removeByName","CFFCharsetPredefinedTypes","ISO_ADOBE","ISOAdobeCharset","EXPERT","ExpertCharset","EXPERT_SUBSET","ExpertSubsetCharset","predefined","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","supplementsCount","sid","readSupplement","CFFEncoding","glyphZero","objects","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","valueLength","createTables","layout","glyphIndex","CFFOffsetTracker","isTracking","setEntryLocation","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","subDict","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeNumber","encodeFloat","encodeInteger","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","offsetTracker","compileGlobalSubrIndex","writeByteArray","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","encodingName","MacExpertEncoding","getSpecialPUASymbols","UnicodeRanges","charsLength","isRTLRangeFor","hexStr","nameLen","getLong","getUshort","parseCmap","idDelta","idOffset","groups","parseCff","gsubrs","isCFFCIDFont","lookupCmap","NOOP","CompiledFont","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","compileGlyf","quadraticCurveTo","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","numberOfPoints","startPoint","endPoint","contour","Type2Compiled","_CompiledFont2","cffInfo","glyphNameMap","gsubrsBias","subrsBias","compileCharString","stems","subrCode","stackClean","numSubrs","achar","bchar","parseGlyfTable","Type1CharString","COMMAND_MAP","lsb","flexing","encoded","wx","sbx","dy","executeCommand","sby","num2","num1","flexArgs","howManyArgs","command","keepStack","stackLength","isHexDigit","discardNumber","decrypted","isSpecial","encrypted","isBinary","digit1","digit2","decryptAscii","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","blueArray","charString","encodingArg","ShadingType","Shadings","RadialAxial","coordsArr","shadingType","domainArr","extendStart","extendEnd","extendArr","r2","distance","fnObj","createFromArray","ratio","SMALL_NUMBER","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","align","readFlag","bitsPerFlag","readCoordinate","bitsPerCoordinate","readComponents","getB","lut","t_","buildB","buildFigureFromPatch","mesh","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","splitYBy","figureCoords","figureColors","cl","cr","c0","bRow","bCol","newColor","updateBounds","patchMesh","operators","verticesLeft","hasData","coord","decodeType4Shading","decodeType5Shading","tmp4","decodeType6Shading","decodeType7Shading","coordsPacked","xy","colorsPacked","packData","startLevel","isLTR","strLength","createBidiText","numBidi","charType","baseTypes","arabicTypes","isOdd","sor","eor","lastType","findUnequal","before","after","setValues","isEven","highestLevel","lowestOddLevel","reverseValues","fnDict","PostScriptCompiler","PostScriptEvaluator","_ps_parser","_ref$isEvalSupported","PDFFunction","parseArray","toNumberArray","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","typeFn","constructSampled","constructInterpolated","constructStiched","constructPostScript","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","toMultiArray","inputSize","interpolate","xmin","xmax","ymin","ymax","samples","cubeVertices","cubeN","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","fnRefs","fns","dmin","dmax","rmin","rmax","_ref12","PostScriptLexer","PostScriptParser","_ref13","numOutputs","numInputs","cache_available","cachedValue","execute","stackIndex","bound","PostScriptStack","initialStack","roll","operator","atan","LN10","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","ExpressionBuilderVisitor","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","visit","visitArgument","visitLiteral","visitBinaryOperation","visitMin","visitVariable","visitVariableDefinition","literal","definition","ast1","ast2","tmpVar","instructions","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","PostScriptToken","opCache","opValue","getOperator","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","handleImageData","decodeAndClamp","addend","coefficient","resizeImageMask","_ref$isInline","_ref$smask","_ref$mask","_ref$isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","smaskPromise","maskPromise","_ref2$isInline","_ref2$nativeDecoder","imagePromise","smaskData","computedLength","decodeBuffer","getComponents","bufferPos","rowComps","loop1End","loop2End","remainingBits","rgbaBuf","alphaBuf","sw","fillGrayBuffer","imageOffset","maskOffset","undoPreblend","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","fillRgb","punycode","util","Url","slashes","urlParse","resolveObject","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","queryIndex","splitter","uSplit","rest","simplePath","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","newpart","validParts","notHost","toASCII","esc","qm","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","hasTrailingSlash","isAbsolute","freeGlobal","maxInt","regexPunycode","regexNonASCII","regexSeparators","stringFromCharCode","mapDomain","ucs2decode","extra","ucs2encode","digitToBasic","adapt","numPoints","firstTime","baseMinusTMin","basic","oldi","baseMinusT","handledCPCount","basicLength","handledCPCountPlusOne","qMinusT","define","qs","sep","eq","regexp","maxKeys","kstr","vstr","idx","xs","stringifyPrimitive","objectKeys","ks","_interopRequireWildcard","_extends2","_objectWithoutProperties2","_asyncToGenerator2","_classCallCheck2","_createClass2","_assertThisInitialized2","_inherits2","_possibleConstructorReturn2","_getPrototypeOf2","_defineProperty2","_makeCancellablePromise","_mergeClassNames","_DocumentContext","_Message","_PasswordResponses","_propTypes2","ownKeys","enumerableOnly","_objectSpread","getOwnPropertyDescriptors","_isNativeReflectConstruct","construct","sham","Proxy","Document","_PureComponent","Derived","_super","Super","NewTarget","scrollPageIntoView","onItemClick","pages","scrollIntoView","_this$props","onLoadProgress","cancellable","findDocumentSource","onSourceSuccess","onSourceError","prevState","onLoadSuccess","onLoadError","setViewer","viewer","documentInstance","setDocument","fileUint8Array","otherParams","_fileUint8Array","setupLinkService","prevProps","childContext","noData","loading","renderChildren","_this$props2","inputRef","renderContent","registerPage","unregisterPage","_this$props3","renderMode","prompt","isFunctionOrNode","sourceKeys","PromiseImpl","accidentalStrictMode","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propFullName","secret","getShim","ReactPropTypes","symbol","any","objectOf","exact","checkPropTypes","PropTypes","SimpleLinkService","_ui_utils","_ref$externalLinkTarg","_ref$externalLinkRel","getGlobalEventBus","pdfViewer","pdfHistory","_pagesRefCache","namedDest","explicitDest","destArray","goToDestination","destRef","_cachedPageNumber","cachePageRef","pagesCount","pushCurrentPosition","phraseSearch","nameddest","zoomArgs","zoomArg","zoomArgNumber","allowNegativeOffset","pagemode","destLength","allowNull","isValidExplicitDestination","back","forward","refStr","isPageVisible","currentPageNumber","pagesRotation","isValidRotation","isValidScrollMode","ScrollMode","isValidSpreadMode","SpreadMode","isPortraitOrientation","dispatchToDOM","globalEventBus","EventBus","getPDFFileNameFromURL","defaultFilename","isDataSchema","reURI","reFilename","splitURI","suggestedFilename","noContextMenuHandler","backtrackBeforeAllVisibleElements","getVisibleElements","scrollEl","views","sortByVisibility","horizontal","clientHeight","clientWidth","isElementBottomAfterViewTop","offsetTop","clientTop","isElementRightAfterViewLeft","offsetLeft","clientLeft","visible","numViews","firstVisibleElementInd","binarySearchFirstItem","lastEdge","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","percent","roundToDivide","getPageSizeInches","changeOrientation","approximateFraction","xinv","x_","getOutputScale","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","pixelRatio","spot","skipOverflowHiddenElements","offsetParent","scrollHeight","scrollWidth","getComputedStyle","overflow","_scaleY","_scaleX","watchScroll","viewAreaElement","debounceScroll","rAF","lastX","lastY","down","_eventHandler","normalizeWheelEventDelta","MOUSE_PIXELS_PER_LINE","waitOnEventOrTimeout","_ref2$delay","eventHandler","WaitOnType","EVENT","timeoutHandler","TIMEOUT","moveToEndOfArray","condition","moved","animationStarted","ProgressBar","NullL10n","TextLayerMode","RendererType","PresentationModeState","VERTICAL_PADDING","SCROLLBAR_PADDING","MAX_AUTO_SCALE","UNKNOWN_SCALE","MAX_SCALE","MIN_SCALE","DEFAULT_SCALE","DEFAULT_SCALE_VALUE","CSS_UNITS","NORMAL","CHANGING","FULLSCREEN","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","ODD","EVEN","formatL10nValue","getLanguage","_getLanguage","getDirection","_getDirection","_translate","_callee4","_context4","minIndex","maxIndex","elt","pageTop","_ref3$dispatchToDOM","_dispatchToDOM","eventListeners","_dispatchDOMEvent","_args5","createEvent","initCustomEvent","dispatchEvent","bar","_indeterminate","progressSize","_percent","scrollbarWidth","offsetWidth","_updateBar","arrayWithoutHoles","iterableToArray","nonIterableSpread","OutlineInternal","_OutlineContext","_OutlineItem","outline","loadOutline","itemIndex","renderOutline","OutlineItemInternal","_slicedToArray2","_Ref","_destination","getPageNumber","otherProps","subitems","subitem","subitemIndex","renderSubitems","isDestination","documentContext","outlineContext","PageInternal","_PageContext","_PageCanvas","_PageSVG","_TextLayer","_AnnotationLayer","loadPage","pageKeyNoScale","pageKey","renderAnnotationLayer","renderMainLayer","customTextRenderer","onGetAnnotationsError","onGetAnnotationsSuccess","onGetTextError","onGetTextSuccess","onRenderAnnotationLayerError","onRenderAnnotationLayerSuccess","onRenderError","onRenderSuccess","pageScale","scaleWithDefault","renderAnnotations","PageCanvasInternal","canvasLayer","_assertThisInitialize2","renderViewport","renderContext","cancelRenderingTask","drawPageOnCanvas","userSelect","_this$props4","_this$props5","PageSVGInternal","svgGfx","firstElementChild","_this$viewport","renderSVG","_this$viewport2","drawPageOnContainer","TextLayerInternal","_TextLayerItem","_yield$cancellable$pr","loadTextItems","textItem","unrotatedViewport","WebkitTransform","pointerEvents","renderTextItems","TextLayerItemInternal","sideways","getBoundingClientRect","alignTextItem","_getFontData","_alignTextItem","fontData","fallbackFontName","targetWidth","actualWidth","getFontData","getElementWidth","whiteSpace","defaultSideways","_transform","fontHeightPx","fontWidthPx","_transform2","_viewport$viewBox","_transform3","AnnotationLayerInternal","loadAnnotations","annotationLayer","pageContext"],"mappings":"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G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEjxB,SAASC,EAAWnkJ,GAClB,O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AAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,SAAW,GACriJwjF,EAAmB,CAAC,IAAIxjF,WAAW,CAAC,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,EAAS,OA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AC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IACx3IC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,IAdzB,GAcwC,CAAC,IAdzC,GAcwD,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAC53CC,EAAc,CAAC,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KACjwDC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI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G,EACHisD,GAAI,GACH,CACDjsD,GAAI,EACJisD,GAAI,GACH,CACDjsD,GAAI,EACJisD,GAAI,GACH,CACDjsD,EAAG,EACHisD,GAAI,GACH,CACDjsD,EAAG,EACHisD,GAAI,GACH,CACDjsD,GAAI,EACJisD,EAAG,GACF,CACDjsD,GAAI,EACJisD,EAAG,IACD,CAAC,CACHjsD,GAAI,EACJisD,GAAI,GACH,CACDjsD,GAAI,EACJisD,GAAI,GACH,CACDjsD,GAAI,EACJisD,GAAI,GACH,CACDjsD,EAAG,EACHisD,GAAI,GACH,CACDjsD,EAAG,EACHisD,GAAI,GACH,CACDjsD,GAAI,EACJisD,EAAG,GACF,CACDjsD,GAAI,EACJisD,EAAG,GACF,CACDjsD,GAAI,EACJisD,EAAG,GACF,CACDjsD,GAAI,EACJisD,EAAG,KAEDyiG,EAAsB,CAAC,CACzBC,OAAQ,CAAC,CACP3uJ,EAAG,EACHisD,GAAI,GACH,CACDjsD,EAAG,EACHisD,GAAI,GACH,CACDjsD,GAAI,EACJisD,EAAG,IAEL2iG,UAAW,CAAC,CACV5uJ,EAAG,EACHisD,GAAI,GACH,CACDjsD,EAAG,EACHisD,GAAI,GACH,CACDjsD,GAAI,EACJisD,EAAG,GACF,CACDjsD,EAAG,EACHisD,EAAG,GACF,CACDjsD,EAAG,EACHisD,EAAG,GACF,CACDjsD,GAAI,EACJisD,EAAG,GACF,CACDjsD,EAAG,EACHisD,EAAG,GACF,CACDjsD,EAAG,EACHisD,EAAG,KAEJ,CACD0iG,OAAQ,CAAC,CACP3uJ,GAAI,EACJisD,GAAI,GACH,CACDjsD,EAAG,EACHisD,GAAI,GACH,CACDjsD,EAAG,EACHisD,GAAI,GACH,CACDjsD,GAAI,EACJisD,EAAG,IAEL2iG,UAAW,CAAC,CACV5uJ,EAAG,EACHisD,GAAI,GACH,CACDjsD,GAAI,EACJisD,EAAG,GACF,CACDjsD,EAAG,EACHisD,EAAG,GACF,CACDjsD,EAAG,EACHisD,EAAG,GACF,CACDjsD,EAAG,EACHisD,EAAG,GACF,CACDjsD,EAAG,EA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,EACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,IACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,EACNC,KAAM,EACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,KACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,IACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,IACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,IACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,IACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,IACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,GACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,GACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,GACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,EACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,EACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,EACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDzjD,GAAI,MACJujD,KAAM,GACNC,KAAM,GACNC,WAAY,IAGVzR,EAEJ,WACE,SAASA,EAAkB96J,EAAM0M,EAAOoP,IAtP1C,SAAyBnlB,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,qCAuP5GqpC,CAAgB1kC,KAAMs/J,GAEtBt/J,KAAKwE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AM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,EAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,EAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,KACphDmB,KAAKgzL,OAAS,IAAIn0L,WAAW,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,MACxhDmB,KAAKizL,KAAO,IAAIviL,YAAY,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WA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AAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,MACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,MACjBA,EAAC,UAAgB,MACjBA,EAAC,UAAgB,KACjBA,EAAC,QAAc,KACfA,EAAC,QAAc,KACfA,EAAC,QAAc,KACfA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,EAAC,UAAgB,KACjBA,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AU,MACXA,EAAC,IAAU,KACXA,EAAC,IAAU,MACXA,EAAC,IAAU,KACXA,EAAC,IAAU,MACXA,EAAC,KAAW,MACZA,EAAC,IAAU,MACXA,EAAC,KAAW,MACZA,EAAC,IAAU,KACXA,EAAC,IAAU,KACXA,EAAC,IAAU,KACXA,EAAC,IAAU,MACXA,EAAC,IAAU,KACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,IAAU,MACXA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,MACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KAAW,KACZA,EAAC,KA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A,EAAE,IAAM,GACRA,EAAE,IAAM,IACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACV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IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,QACT,IAAO,SAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,OACT,IAAO,QAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,MACT,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AAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,2BACdA,EAAE,UAAY,MACdA,EAAE,UAAY,KACdA,EAAE,UAAY,MACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,mCACdA,EAAE,UAAY,6BACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,UACdA,EAAE,UAAY,KACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,IACdA,EAAE,UAAY,IACdA,EAAE,UAAY,IACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,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K,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC14CC,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,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ACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,IAAU,IACXA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,KACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,IACZA,EAAC,KAAW,I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","file":"static/js/2.4b98c8f6.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadFromFile = exports.isCancelException = exports.makePageCallback = exports.cancelRunningTask = exports.displayCORSWarning = exports.errorOnDev = exports.warnOnDev = exports.getPixelRatio = exports.dataURItoUint8Array = exports.isDataURI = exports.isFile = exports.isBlob = exports.isArrayBuffer = exports.isString = exports.isProvided = exports.isDefined = exports.isProduction = exports.isLocalFileSystem = exports.isBrowser = void 0;\n\n/**\n * Checks if we're running in a browser environment.\n */\nvar isBrowser = typeof window !== 'undefined';\n/**\n * Checks whether we're running from a local file system.\n */\n\nexports.isBrowser = isBrowser;\nvar isLocalFileSystem = isBrowser && window.location.protocol === 'file:';\n/**\n * Checks whether we're running on a production build or not.\n */\n\nexports.isLocalFileSystem = isLocalFileSystem;\nvar isProduction = process.env.NODE_ENV === 'production';\n/**\n * Checks whether a variable is defined.\n *\n * @param {*} variable Variable to check\n */\n\nexports.isProduction = isProduction;\n\nvar isDefined = function isDefined(variable) {\n return typeof variable !== 'undefined';\n};\n/**\n * Checks whether a variable is defined and not null.\n *\n * @param {*} variable Variable to check\n */\n\n\nexports.isDefined = isDefined;\n\nvar isProvided = function isProvided(variable) {\n return isDefined(variable) && variable !== null;\n};\n/**\n * Checkes whether a variable provided is a string.\n *\n * @param {*} variable Variable to check\n */\n\n\nexports.isProvided = isProvided;\n\nvar isString = function isString(variable) {\n return typeof variable === 'string';\n};\n/**\n * Checks whether a variable provided is an ArrayBuffer.\n *\n * @param {*} variable Variable to check\n */\n\n\nexports.isString = isString;\n\nvar isArrayBuffer = function isArrayBuffer(variable) {\n return variable instanceof ArrayBuffer;\n};\n/**\n * Checkes whether a variable provided is a Blob.\n *\n * @param {*} variable Variable to check\n */\n\n\nexports.isArrayBuffer = isArrayBuffer;\n\nvar isBlob = function isBlob(variable) {\n if (!isBrowser) {\n throw new Error('Attempted to check if a variable is a Blob on a non-browser environment.');\n }\n\n return variable instanceof Blob;\n};\n/**\n * Checkes whether a variable provided is a File.\n *\n * @param {*} variable Variable to check\n */\n\n\nexports.isBlob = isBlob;\n\nvar isFile = function isFile(variable) {\n if (!isBrowser) {\n throw new Error('Attempted to check if a variable is a File on a non-browser environment.');\n }\n\n return variable instanceof File;\n};\n/**\n * Checks whether a string provided is a data URI.\n *\n * @param {String} str String to check\n */\n\n\nexports.isFile = isFile;\n\nvar isDataURI = function isDataURI(str) {\n return isString(str) && /^data:/.test(str);\n};\n\nexports.isDataURI = isDataURI;\n\nvar dataURItoUint8Array = function dataURItoUint8Array(dataURI) {\n if (!isDataURI(dataURI)) {\n throw new Error('dataURItoUint8Array was provided with an argument which is not a valid data URI.');\n }\n\n var byteString;\n\n if (dataURI.split(',')[0].indexOf('base64') >= 0) {\n byteString = atob(dataURI.split(',')[1]);\n } else {\n byteString = unescape(dataURI.split(',')[1]);\n }\n\n var ia = new Uint8Array(byteString.length);\n\n for (var i = 0; i < byteString.length; i += 1) {\n ia[i] = byteString.charCodeAt(i);\n }\n\n return ia;\n};\n\nexports.dataURItoUint8Array = dataURItoUint8Array;\n\nvar getPixelRatio = function getPixelRatio() {\n return isBrowser && window.devicePixelRatio || 1;\n};\n\nexports.getPixelRatio = getPixelRatio;\n\nvar consoleOnDev = function consoleOnDev(method) {\n if (!isProduction) {\n var _console;\n\n for (var _len = arguments.length, message = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n message[_key - 1] = arguments[_key];\n }\n\n // eslint-disable-next-line no-console\n (_console = console)[method].apply(_console, message);\n }\n};\n\nvar warnOnDev = function warnOnDev() {\n for (var _len2 = arguments.length, message = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n message[_key2] = arguments[_key2];\n }\n\n return consoleOnDev.apply(void 0, ['warn'].concat(message));\n};\n\nexports.warnOnDev = warnOnDev;\n\nvar errorOnDev = function errorOnDev() {\n for (var _len3 = arguments.length, message = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n message[_key3] = arguments[_key3];\n }\n\n return consoleOnDev.apply(void 0, ['error'].concat(message));\n};\n\nexports.errorOnDev = errorOnDev;\n\nvar displayCORSWarning = function displayCORSWarning() {\n if (isLocalFileSystem) {\n warnOnDev('Loading PDF as base64 strings/URLs might not work on protocols other than HTTP/HTTPS. On Google Chrome, you can use --allow-file-access-from-files flag for debugging purposes.');\n }\n};\n\nexports.displayCORSWarning = displayCORSWarning;\n\nvar cancelRunningTask = function cancelRunningTask(runningTask) {\n if (runningTask && runningTask.cancel) runningTask.cancel();\n};\n\nexports.cancelRunningTask = cancelRunningTask;\n\nvar makePageCallback = function makePageCallback(page, scale) {\n Object.defineProperty(page, 'width', {\n get: function get() {\n return this.view[2] * scale;\n },\n configurable: true\n });\n Object.defineProperty(page, 'height', {\n get: function get() {\n return this.view[3] * scale;\n },\n configurable: true\n });\n Object.defineProperty(page, 'originalWidth', {\n get: function get() {\n return this.view[2];\n },\n configurable: true\n });\n Object.defineProperty(page, 'originalHeight', {\n get: function get() {\n return this.view[3];\n },\n configurable: true\n });\n return page;\n};\n\nexports.makePageCallback = makePageCallback;\n\nvar isCancelException = function isCancelException(error) {\n return error.name === 'RenderingCancelledException';\n};\n\nexports.isCancelException = isCancelException;\n\nvar loadFromFile = function loadFromFile(file) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n\n reader.onload = function () {\n return resolve(new Uint8Array(reader.result));\n };\n\n reader.onerror = function (event) {\n switch (event.target.error.code) {\n case event.target.error.NOT_FOUND_ERR:\n return reject(new Error('Error while reading a file: File not found.'));\n\n case event.target.error.NOT_READABLE_ERR:\n return reject(new Error('Error while reading a file: File not readable.'));\n\n case event.target.error.SECURITY_ERR:\n return reject(new Error('Error while reading a file: Security error.'));\n\n case event.target.error.ABORT_ERR:\n return reject(new Error('Error while reading a file: Aborted.'));\n\n default:\n return reject(new Error('Error while reading a file.'));\n }\n };\n\n reader.readAsArrayBuffer(file);\n return null;\n });\n};\n\nexports.loadFromFile = loadFromFile;","var _typeof = require(\"../helpers/typeof\");\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard;","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isRotate = exports.isRenderMode = exports.isPdf = exports.isPageNumber = exports.isPageIndex = exports.isPage = exports.isLinkTarget = exports.isLinkService = exports.isFile = exports.isClassName = exports.eventProps = void 0;\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _makeEventProps = require(\"make-event-props\");\n\nvar _utils = require(\"./utils\");\n\nvar _LinkService = _interopRequireDefault(require(\"../LinkService\"));\n\nvar eventProps = function () {\n var result = {};\n [].concat((0, _toConsumableArray2[\"default\"])(_makeEventProps.mouseEvents), (0, _toConsumableArray2[\"default\"])(_makeEventProps.touchEvents), (0, _toConsumableArray2[\"default\"])(_makeEventProps.keyboardEvents)).forEach(function (eventName) {\n result[eventName] = _propTypes[\"default\"].func;\n });\n return result;\n}();\n\nexports.eventProps = eventProps;\nvar fileTypes = [_propTypes[\"default\"].string, _propTypes[\"default\"].instanceOf(ArrayBuffer), _propTypes[\"default\"].shape({\n data: _propTypes[\"default\"].object,\n httpHeaders: _propTypes[\"default\"].object,\n range: _propTypes[\"default\"].object,\n url: _propTypes[\"default\"].string,\n withCredentials: _propTypes[\"default\"].bool\n})];\n\nif (typeof File !== 'undefined') {\n fileTypes.push(_propTypes[\"default\"].instanceOf(File));\n}\n\nif (typeof Blob !== 'undefined') {\n fileTypes.push(_propTypes[\"default\"].instanceOf(Blob));\n}\n\nvar isClassName = _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].string)]);\n\nexports.isClassName = isClassName;\n\nvar isFile = _propTypes[\"default\"].oneOfType(fileTypes);\n\nexports.isFile = isFile;\n\nvar isLinkService = _propTypes[\"default\"].instanceOf(_LinkService[\"default\"]);\n\nexports.isLinkService = isLinkService;\n\nvar isLinkTarget = _propTypes[\"default\"].oneOf(['_self', '_blank', '_parent', '_top']);\n\nexports.isLinkTarget = isLinkTarget;\n\nvar isPage = _propTypes[\"default\"].shape({\n _transport: _propTypes[\"default\"].shape({\n fontLoader: _propTypes[\"default\"].object.isRequired\n }).isRequired,\n commonObjs: _propTypes[\"default\"].shape({\n _objs: _propTypes[\"default\"].object.isRequired\n }).isRequired,\n getAnnotations: _propTypes[\"default\"].func.isRequired,\n getTextContent: _propTypes[\"default\"].func.isRequired,\n getViewport: _propTypes[\"default\"].func.isRequired,\n render: _propTypes[\"default\"].func.isRequired\n});\n\nexports.isPage = isPage;\n\nvar isPageIndex = function isPageIndex(props, propName, componentName) {\n var pageIndex = props[propName],\n pageNumber = props.pageNumber,\n pdf = props.pdf;\n\n if (!(0, _utils.isDefined)(pdf)) {\n return null;\n }\n\n if ((0, _utils.isDefined)(pageIndex)) {\n if (typeof pageIndex !== 'number') {\n return new Error(\"`\".concat(propName, \"` of type `\").concat((0, _typeof2[\"default\"])(pageIndex), \"` supplied to `\").concat(componentName, \"`, expected `number`.\"));\n }\n\n if (pageIndex < 0) {\n return new Error(\"Expected `\".concat(propName, \"` to be greater or equal to 0.\"));\n }\n\n var numPages = pdf.numPages;\n\n if (pageIndex + 1 > numPages) {\n return new Error(\"Expected `\".concat(propName, \"` to be less or equal to \").concat(numPages - 1, \".\"));\n }\n } else if (!(0, _utils.isDefined)(pageNumber)) {\n return new Error(\"`\".concat(propName, \"` not supplied. Either pageIndex or pageNumber must be supplied to `\").concat(componentName, \"`.\"));\n } // Everything is fine\n\n\n return null;\n};\n\nexports.isPageIndex = isPageIndex;\n\nvar isPageNumber = function isPageNumber(props, propName, componentName) {\n var pageNumber = props[propName],\n pageIndex = props.pageIndex,\n pdf = props.pdf;\n\n if (!(0, _utils.isDefined)(pdf)) {\n return null;\n }\n\n if ((0, _utils.isDefined)(pageNumber)) {\n if (typeof pageNumber !== 'number') {\n return new Error(\"`\".concat(propName, \"` of type `\").concat((0, _typeof2[\"default\"])(pageNumber), \"` supplied to `\").concat(componentName, \"`, expected `number`.\"));\n }\n\n if (pageNumber < 1) {\n return new Error(\"Expected `\".concat(propName, \"` to be greater or equal to 1.\"));\n }\n\n var numPages = pdf.numPages;\n\n if (pageNumber > numPages) {\n return new Error(\"Expected `\".concat(propName, \"` to be less or equal to \").concat(numPages, \".\"));\n }\n } else if (!(0, _utils.isDefined)(pageIndex)) {\n return new Error(\"`\".concat(propName, \"` not supplied. Either pageIndex or pageNumber must be supplied to `\").concat(componentName, \"`.\"));\n } // Everything is fine\n\n\n return null;\n};\n\nexports.isPageNumber = isPageNumber;\n\nvar isPdf = _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].shape({\n getDestination: _propTypes[\"default\"].func.isRequired,\n getOutline: _propTypes[\"default\"].func.isRequired,\n getPage: _propTypes[\"default\"].func.isRequired,\n numPages: _propTypes[\"default\"].number.isRequired\n}), _propTypes[\"default\"].bool]);\n\nexports.isPdf = isPdf;\n\nvar isRenderMode = _propTypes[\"default\"].oneOf(['canvas', 'none', 'svg']);\n\nexports.isRenderMode = isRenderMode;\n\nvar isRotate = _propTypes[\"default\"].oneOf([0, 90, 180, 270]);\n\nexports.isRotate = isRotate;","module.exports = require(\"regenerator-runtime\");\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar _default = (0, _react.createContext)(null);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = makeCancellablePromise;\n\nfunction makeCancellablePromise(promise) {\n var isCancelled = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function () {\n return !isCancelled && resolve.apply(void 0, arguments);\n })[\"catch\"](function (error) {\n return !isCancelled && reject(error);\n });\n });\n return {\n promise: wrappedPromise,\n cancel: function cancel() {\n isCancelled = true;\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar _default = (0, _react.createContext)(null);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"pdfjs\", {\n enumerable: true,\n get: function get() {\n return _pdfjsDist[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Document\", {\n enumerable: true,\n get: function get() {\n return _Document[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Outline\", {\n enumerable: true,\n get: function get() {\n return _Outline[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Page\", {\n enumerable: true,\n get: function get() {\n return _Page[\"default\"];\n }\n});\n\nvar _pdfjsDist = _interopRequireDefault(require(\"pdfjs-dist\"));\n\nvar _Document = _interopRequireDefault(require(\"./Document\"));\n\nvar _Outline = _interopRequireDefault(require(\"./Outline\"));\n\nvar _Page = _interopRequireDefault(require(\"./Page\"));\n\nvar _utils = require(\"./shared/utils\");\n\nif (_utils.isLocalFileSystem) {\n (0, _utils.warnOnDev)('You are running React-PDF from your local file system. PDF.js Worker may fail to load due to browser\\'s security policies. If you\\'re on Google Chrome, you can use --allow-file-access-from-files flag for debugging purposes.');\n}\n\n_pdfjsDist[\"default\"].GlobalWorkerOptions.workerSrc = 'pdf.worker.js';","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\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 * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\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\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '2.1.266';\nvar pdfjsBuild = '81f5835c';\n\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\n\nvar pdfjsDisplayAPI = __w_pdfjs_require__(146);\n\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(162);\n\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(163);\n\nvar pdfjsDisplayDOMUtils = __w_pdfjs_require__(151);\n\nvar pdfjsDisplaySVG = __w_pdfjs_require__(164);\n\nvar pdfjsDisplayWorkerOptions = __w_pdfjs_require__(156);\n\nvar pdfjsDisplayAPICompatibility = __w_pdfjs_require__(153);\n\n{\n var isNodeJS = __w_pdfjs_require__(4);\n\n if (isNodeJS()) {\n var PDFNodeStream = __w_pdfjs_require__(165).PDFNodeStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNodeStream(params);\n });\n } else if (typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined') {\n var PDFFetchStream = __w_pdfjs_require__(168).PDFFetchStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFFetchStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(169).PDFNetworkStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {\n return new PDFNetworkStream(params);\n });\n }\n}\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.ReadableStream = pdfjsSharedUtil.ReadableStream;\nexports.URL = pdfjsSharedUtil.URL;\nexports.RenderingCancelledException = pdfjsDisplayDOMUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDOMUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDOMUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDOMUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDOMUtils.loadScript;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toRomanNumerals = toRomanNumerals;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.deprecated = deprecated;\nexports.getInheritableProperty = getInheritableProperty;\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nObject.defineProperty(exports, \"ReadableStream\", {\n enumerable: true,\n get: function get() {\n return _streams_polyfill.ReadableStream;\n }\n});\nObject.defineProperty(exports, \"URL\", {\n enumerable: true,\n get: function get() {\n return _url_polyfill.URL;\n }\n});\nexports.createObjectURL = exports.FormatError = exports.XRefParseException = exports.XRefEntryException = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = void 0;\n\n__w_pdfjs_require__(2);\n\nvar _streams_polyfill = __w_pdfjs_require__(142);\n\nvar _url_polyfill = __w_pdfjs_require__(144);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\nexports.NativeImageDecoding = NativeImageDecoding;\nvar 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};\nexports.PermissionFlag = PermissionFlag;\nvar 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};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar 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};\nexports.AnnotationType = AnnotationType;\nvar 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};\nexports.AnnotationFlag = AnnotationFlag;\nvar 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};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\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 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};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar 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\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log('Info: ' + msg);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log('Warning: ' + msg);\n }\n}\n\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\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\nfunction isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new _url_polyfill.URL(baseUrl);\n\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new _url_polyfill.URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new _url_polyfill.URL(url, baseUrl) : new _url_polyfill.URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nfunction getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n\n return lookup;\n };\n}\n\nvar PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n}();\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n}();\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n}();\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n}();\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n}();\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = 'Missing data [' + begin + ', ' + end + ')';\n }\n\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n return MissingDataException;\n}();\n\nexports.MissingDataException = MissingDataException;\n\nvar XRefEntryException = function XRefEntryExceptionClosure() {\n function XRefEntryException(msg) {\n this.message = msg;\n }\n\n XRefEntryException.prototype = new Error();\n XRefEntryException.prototype.name = 'XRefEntryException';\n XRefEntryException.constructor = XRefEntryException;\n return XRefEntryException;\n}();\n\nexports.XRefEntryException = XRefEntryException;\n\nvar XRefParseException = function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n return XRefParseException;\n}();\n\nexports.XRefParseException = XRefParseException;\n\nvar FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n}();\n\nexports.FormatError = FormatError;\n\nvar AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n}();\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n\n return str.replace(NullCharactersRegExp, '');\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join('');\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === void 0 ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values;\n\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n\n if (!values) {\n values = [];\n }\n\n values.push(value);\n }\n\n if (++loopCount > LOOP_LIMIT) {\n warn(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n break;\n }\n\n dict = dict.get('Parent');\n }\n\n return values;\n}\n\nvar Util = function UtilClosure() {\n function Util() {}\n\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n\n Util.transform = function Util_transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n };\n\n Util.applyTransform = function Util_applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n };\n\n Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var 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 Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n };\n\n Util.inverseTransform = function Util_inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n };\n\n Util.apply3dTransform = function Util_apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n };\n\n Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n };\n\n Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n };\n\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return false;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return false;\n }\n\n return result;\n };\n\n return Util;\n}();\n\nexports.Util = Util;\nvar ROMAN_NUMBER_MAP = ['', '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'];\n\nfunction toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n assert(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');\n var pos,\n romanBuf = [];\n\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\nvar PDFStringTranslateTable = [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, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n\n return strBuf.join('');\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\n\nfunction isNum(v) {\n return typeof v === 'number';\n}\n\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;\n}\n\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, 'settled', {\n get: function 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\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && _url_polyfill.URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return _url_polyfill.URL.createObjectURL(blob);\n }\n\n var buffer = 'data:' + contentType + ';base64,';\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar globalScope = __w_pdfjs_require__(3);\n\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n\n var isNodeJS = __w_pdfjs_require__(4);\n\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object';\n\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n\n globalScope.atob = function (input) {\n return Buffer.from(input, 'base64').toString('binary');\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n div.classList.add('testOne', 'testTwo');\n\n if (div.classList.contains('testOne') === true && div.classList.contains('testTwo') === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0; _i < tokens.length; _i++) {\n var token = tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0; _i2 < tokens.length; _i2++) {\n var token = tokens[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? 'add' : 'remove'](token), force;\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(5);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(35);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(37);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(39);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(46);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(69);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(74);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(76);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(78);\n })();\n\n (function checkPromise() {\n if (globalScope.Promise && globalScope.Promise.prototype && globalScope.Promise.prototype.finally) {\n return;\n }\n\n globalScope.Promise = __w_pdfjs_require__(81);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(101);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(118);\n })();\n\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n\n String.codePointAt = __w_pdfjs_require__(122);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(124);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(126);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(133);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(137);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(139);\n })();\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function isNodeJS() {\n return (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process + '' === '[object process]' && !process.versions['nw'];\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(6);\n\nmodule.exports = __w_pdfjs_require__(9).String.startsWith;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar context = __w_pdfjs_require__(27);\n\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(34)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar core = __w_pdfjs_require__(9);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar PROTOTYPE = 'prototype';\n\nvar $export = function $export(type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n\n for (key in source) {\n own = !IS_FORCED && target && target[key] !== undefined;\n out = (own ? target : source)[key];\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if (target) redefine(target, key, out, type & $export.U);\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\n\nglobal.core = core;\n$export.F = 1;\n$export.G = 2;\n$export.S = 4;\n$export.P = 8;\n$export.B = 16;\n$export.W = 32;\n$export.U = 64;\n$export.R = 128;\nmodule.exports = $export;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif (typeof __g == 'number') __g = global;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = {\n version: '2.6.2'\n};\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nmodule.exports = __w_pdfjs_require__(15) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(15) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function (it) {\n return _typeof(it) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(15) && !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty(__w_pdfjs_require__(17)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(16)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar document = __w_pdfjs_require__(8).document;\n\nvar is = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar has = __w_pdfjs_require__(21);\n\nvar SRC = __w_pdfjs_require__(22)('src');\n\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__w_pdfjs_require__(9).inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\n\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(26);\n\nvar min = Math.min;\n\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(28);\n\nvar defined = __w_pdfjs_require__(33);\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar cof = __w_pdfjs_require__(29);\n\nvar MATCH = __w_pdfjs_require__(30)('match');\n\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(31)('wks');\n\nvar uid = __w_pdfjs_require__(22);\n\nvar _Symbol = __w_pdfjs_require__(8).Symbol;\n\nvar USE_SYMBOL = typeof _Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(9);\n\nvar global = __w_pdfjs_require__(8);\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __w_pdfjs_require__(32) ? 'pure' : 'global',\n copyright: 'Ā© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar MATCH = __w_pdfjs_require__(30)('match');\n\nmodule.exports = function (KEY) {\n var re = /./;\n\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) {}\n }\n\n return true;\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(36);\n\nmodule.exports = __w_pdfjs_require__(9).String.endsWith;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar context = __w_pdfjs_require__(27);\n\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(34)(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(38);\n\nmodule.exports = __w_pdfjs_require__(9).String.includes;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar context = __w_pdfjs_require__(27);\n\nvar INCLUDES = 'includes';\n$export($export.P + $export.F * __w_pdfjs_require__(34)(INCLUDES), 'String', {\n includes: function includes(searchString) {\n return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(40);\n\nmodule.exports = __w_pdfjs_require__(9).Array.includes;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $includes = __w_pdfjs_require__(41)(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__w_pdfjs_require__(45)('includes');\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(42);\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(44);\n\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n if (value != value) return true;\n } else for (; length > index; index++) {\n if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n }\n return !IS_INCLUDES && -1;\n };\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(43);\n\nvar defined = __w_pdfjs_require__(33);\n\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(29);\n\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(26);\n\nvar max = Math.max;\nvar min = Math.min;\n\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(30)('unscopables');\n\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(10)(ArrayProto, UNSCOPABLES, {});\n\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(47);\n\n__w_pdfjs_require__(62);\n\nmodule.exports = __w_pdfjs_require__(9).Array.from;\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(48)(true);\n\n__w_pdfjs_require__(49)(String, 'String', function (iterated) {\n this._t = String(iterated);\n this._i = 0;\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return {\n value: undefined,\n done: true\n };\n point = $at(O, index);\n this._i += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(26);\n\nvar defined = __w_pdfjs_require__(33);\n\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(32);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar Iterators = __w_pdfjs_require__(50);\n\nvar $iterCreate = __w_pdfjs_require__(51);\n\nvar setToStringTag = __w_pdfjs_require__(59);\n\nvar getPrototypeOf = __w_pdfjs_require__(60);\n\nvar ITERATOR = __w_pdfjs_require__(30)('iterator');\n\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function returnThis() {\n return this;\n};\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n\n return function entries() {\n return new Constructor(this, kind);\n };\n };\n\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n\n $default = function values() {\n return $native.call(this);\n };\n }\n\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n\n return methods;\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(52);\n\nvar descriptor = __w_pdfjs_require__(19);\n\nvar setToStringTag = __w_pdfjs_require__(59);\n\nvar IteratorPrototype = {};\n\n__w_pdfjs_require__(10)(IteratorPrototype, __w_pdfjs_require__(30)('iterator'), function () {\n return this;\n});\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, {\n next: descriptor(1, next)\n });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar dPs = __w_pdfjs_require__(53);\n\nvar enumBugKeys = __w_pdfjs_require__(57);\n\nvar IE_PROTO = __w_pdfjs_require__(56)('IE_PROTO');\n\nvar Empty = function Empty() {};\n\nvar PROTOTYPE = 'prototype';\n\nvar _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(17)('iframe');\n\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n\n __w_pdfjs_require__(58).appendChild(iframe);\n\n iframe.src = 'javascript:';\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n _createDict = iframeDocument.F;\n\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }\n\n return _createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _createDict();\n\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(11);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar getKeys = __w_pdfjs_require__(54);\n\nmodule.exports = __w_pdfjs_require__(15) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }\n\n return O;\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(55);\n\nvar enumBugKeys = __w_pdfjs_require__(57);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\n\nvar toIObject = __w_pdfjs_require__(42);\n\nvar arrayIndexOf = __w_pdfjs_require__(41)(false);\n\nvar IE_PROTO = __w_pdfjs_require__(56)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }\n\n while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }\n\n return result;\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(31)('keys');\n\nvar uid = __w_pdfjs_require__(22);\n\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(8).document;\n\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(11).f;\n\nvar has = __w_pdfjs_require__(21);\n\nvar TAG = __w_pdfjs_require__(30)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n configurable: true,\n value: tag\n });\n};\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(21);\n\nvar toObject = __w_pdfjs_require__(61);\n\nvar IE_PROTO = __w_pdfjs_require__(56)('IE_PROTO');\n\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n\n return O instanceof Object ? ObjectProto : null;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(33);\n\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toObject = __w_pdfjs_require__(61);\n\nvar call = __w_pdfjs_require__(63);\n\nvar isArrayIter = __w_pdfjs_require__(64);\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar createProperty = __w_pdfjs_require__(65);\n\nvar getIterFn = __w_pdfjs_require__(66);\n\n$export($export.S + $export.F * !__w_pdfjs_require__(68)(function (iter) {\n Array.from(iter);\n}), 'Array', {\n from: function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n\n result.length = index;\n return result;\n }\n});\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(50);\n\nvar ITERATOR = __w_pdfjs_require__(30)('iterator');\n\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $defineProperty = __w_pdfjs_require__(11);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value;\n};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(67);\n\nvar ITERATOR = __w_pdfjs_require__(30)('iterator');\n\nvar Iterators = __w_pdfjs_require__(50);\n\nmodule.exports = __w_pdfjs_require__(9).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(29);\n\nvar TAG = __w_pdfjs_require__(30)('toStringTag');\n\nvar ARG = cof(function () {\n return arguments;\n}()) == 'Arguments';\n\nvar tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(30)('iterator');\n\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n\n Array.from(riter, function () {\n throw 2;\n });\n} catch (e) {}\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n\n iter.next = function () {\n return {\n done: safe = true\n };\n };\n\n arr[ITERATOR] = function () {\n return iter;\n };\n\n exec(arr);\n } catch (e) {}\n\n return safe;\n};\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(70);\n\nmodule.exports = __w_pdfjs_require__(9).Object.assign;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S + $export.F, 'Object', {\n assign: __w_pdfjs_require__(71)\n});\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(54);\n\nvar gOPS = __w_pdfjs_require__(72);\n\nvar pIE = __w_pdfjs_require__(73);\n\nvar toObject = __w_pdfjs_require__(61);\n\nvar IObject = __w_pdfjs_require__(43);\n\nvar $assign = Object.assign;\nmodule.exports = !$assign || __w_pdfjs_require__(16)(function () {\n var A = {};\n var B = {};\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) {\n B[k] = k;\n });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n\n while (length > j) {\n if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n }\n }\n\n return T;\n} : $assign;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(75);\n\nmodule.exports = __w_pdfjs_require__(9).Math.log2;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(77);\n\nmodule.exports = __w_pdfjs_require__(9).Number.isNaN;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(79);\n\nmodule.exports = __w_pdfjs_require__(9).Number.isInteger;\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\n$export($export.S, 'Number', {\n isInteger: __w_pdfjs_require__(80)\n});\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar floor = Math.floor;\n\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(82);\n\n__w_pdfjs_require__(47);\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(86);\n\n__w_pdfjs_require__(99);\n\n__w_pdfjs_require__(100);\n\nmodule.exports = __w_pdfjs_require__(9).Promise;\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(67);\n\nvar test = {};\ntest[__w_pdfjs_require__(30)('toStringTag')] = 'z';\n\nif (test + '' != '[object z]') {\n __w_pdfjs_require__(20)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(84);\n\nvar getKeys = __w_pdfjs_require__(54);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar global = __w_pdfjs_require__(8);\n\nvar hide = __w_pdfjs_require__(10);\n\nvar Iterators = __w_pdfjs_require__(50);\n\nvar wks = __w_pdfjs_require__(30);\n\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\nvar DOMIterables = {\n CSSRuleList: true,\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true,\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true,\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) {\n if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n }\n}\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(45);\n\nvar step = __w_pdfjs_require__(85);\n\nvar Iterators = __w_pdfjs_require__(50);\n\nvar toIObject = __w_pdfjs_require__(42);\n\nmodule.exports = __w_pdfjs_require__(49)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated);\n this._i = 0;\n this._k = kind;\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(32);\n\nvar global = __w_pdfjs_require__(8);\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar classof = __w_pdfjs_require__(67);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar aFunction = __w_pdfjs_require__(24);\n\nvar anInstance = __w_pdfjs_require__(87);\n\nvar forOf = __w_pdfjs_require__(88);\n\nvar speciesConstructor = __w_pdfjs_require__(89);\n\nvar task = __w_pdfjs_require__(90).set;\n\nvar microtask = __w_pdfjs_require__(92)();\n\nvar newPromiseCapabilityModule = __w_pdfjs_require__(93);\n\nvar perform = __w_pdfjs_require__(94);\n\nvar userAgent = __w_pdfjs_require__(95);\n\nvar promiseResolve = __w_pdfjs_require__(96);\n\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\n\nvar empty = function empty() {};\n\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\nvar USE_NATIVE = !!function () {\n try {\n var promise = $Promise.resolve(1);\n\n var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(30)('species')] = function (exec) {\n exec(empty, empty);\n };\n\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) {}\n}();\n\nvar isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function notify(promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n\n var run = function run(reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n\n if (handler === true) result = value;else {\n if (domain) domain.enter();\n result = handler(value);\n\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n\n while (chain.length > i) {\n run(chain[i++]);\n }\n\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\n\nvar onUnhandled = function onUnhandled(promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({\n promise: promise,\n reason: value\n });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n }\n\n promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\n\nvar isUnhandled = function isUnhandled(promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\n\nvar onHandleUnhandled = function onHandleUnhandled(promise) {\n task.call(global, function () {\n var handler;\n\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({\n promise: promise,\n reason: promise._v\n });\n }\n });\n};\n\nvar $reject = function $reject(value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\n\nvar $resolve = function $resolve(value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = {\n _w: promise,\n _d: false\n };\n\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({\n _w: promise,\n _d: false\n }, e);\n }\n};\n\nif (!USE_NATIVE) {\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n\n Internal = function Promise(executor) {\n this._c = [];\n this._a = undefined;\n this._s = 0;\n this._d = false;\n this._v = undefined;\n this._h = 0;\n this._n = false;\n };\n\n Internal.prototype = __w_pdfjs_require__(97)($Promise.prototype, {\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n\n this._c.push(reaction);\n\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n 'catch': function _catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n\n OwnPromiseCapability = function OwnPromiseCapability() {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Promise: $Promise\n});\n\n__w_pdfjs_require__(59)($Promise, PROMISE);\n\n__w_pdfjs_require__(98)(PROMISE);\n\nWrapper = __w_pdfjs_require__(9)[PROMISE];\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __w_pdfjs_require__(68)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n throw TypeError(name + ': incorrect invocation!');\n }\n\n return it;\n};\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar call = __w_pdfjs_require__(63);\n\nvar isArrayIter = __w_pdfjs_require__(64);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar getIterFn = __w_pdfjs_require__(66);\n\nvar BREAK = {};\nvar RETURN = {};\n\nvar _exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () {\n return iterable;\n } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\n\n_exports.BREAK = BREAK;\n_exports.RETURN = RETURN;\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar aFunction = __w_pdfjs_require__(24);\n\nvar SPECIES = __w_pdfjs_require__(30)('species');\n\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar invoke = __w_pdfjs_require__(91);\n\nvar html = __w_pdfjs_require__(58);\n\nvar cel = __w_pdfjs_require__(17);\n\nvar global = __w_pdfjs_require__(8);\n\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function run() {\n var id = +this;\n\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar listener = function listener(event) {\n run.call(event.data);\n};\n\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n queue[++counter] = function () {\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n\n defer(counter);\n return counter;\n };\n\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n\n if (__w_pdfjs_require__(29)(process) == 'process') {\n defer = function defer(id) {\n process.nextTick(ctx(run, id, 1));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function defer(id) {\n Dispatch.now(ctx(run, id, 1));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function defer(id) {\n global.postMessage(id + '', '*');\n };\n\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function defer(id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n } else {\n defer = function defer(id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\n\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n\n switch (args.length) {\n case 0:\n return un ? fn() : fn.call(that);\n\n case 1:\n return un ? fn(args[0]) : fn.call(that, args[0]);\n\n case 2:\n return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);\n\n case 3:\n return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);\n\n case 4:\n return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);\n }\n\n return fn.apply(that, args);\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar macrotask = __w_pdfjs_require__(90).set;\n\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(29)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function flush() {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n\n while (head) {\n fn = head.fn;\n head = head.next;\n\n try {\n fn();\n } catch (e) {\n if (head) notify();else last = undefined;\n throw e;\n }\n }\n\n last = undefined;\n if (parent) parent.enter();\n };\n\n if (isNode) {\n notify = function notify() {\n process.nextTick(flush);\n };\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, {\n characterData: true\n });\n\n notify = function notify() {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve(undefined);\n\n notify = function notify() {\n promise.then(flush);\n };\n } else {\n notify = function notify() {\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last) last.next = task;\n\n if (!head) {\n head = task;\n notify();\n }\n\n last = task;\n };\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(24);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return {\n e: false,\n v: exec()\n };\n } catch (e) {\n return {\n e: true,\n v: e\n };\n }\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar newPromiseCapability = __w_pdfjs_require__(93);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(20);\n\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }\n\n return target;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar dP = __w_pdfjs_require__(11);\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar SPECIES = __w_pdfjs_require__(30)('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar core = __w_pdfjs_require__(9);\n\nvar global = __w_pdfjs_require__(8);\n\nvar speciesConstructor = __w_pdfjs_require__(89);\n\nvar promiseResolve = __w_pdfjs_require__(96);\n\n$export($export.P + $export.R, 'Promise', {\n 'finally': function _finally(onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar newPromiseCapability = __w_pdfjs_require__(93);\n\nvar perform = __w_pdfjs_require__(94);\n\n$export($export.S, 'Promise', {\n 'try': function _try(callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n }\n});\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(82);\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(102);\n\n__w_pdfjs_require__(114);\n\n__w_pdfjs_require__(116);\n\nmodule.exports = __w_pdfjs_require__(9).WeakMap;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar each = __w_pdfjs_require__(103)(0);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar meta = __w_pdfjs_require__(107);\n\nvar assign = __w_pdfjs_require__(71);\n\nvar weak = __w_pdfjs_require__(108);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar fails = __w_pdfjs_require__(16);\n\nvar validate = __w_pdfjs_require__(109);\n\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function wrapper(get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\nvar $WeakMap = module.exports = __w_pdfjs_require__(110)(WEAK_MAP, wrapper, methods, weak, true, true);\n\nif (fails(function () {\n return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7;\n})) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n\n var result = this._f[key](a, b);\n\n return key == 'set' ? this : result;\n }\n\n return method.call(this, a, b);\n });\n });\n}\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar IObject = __w_pdfjs_require__(43);\n\nvar toObject = __w_pdfjs_require__(61);\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar asc = __w_pdfjs_require__(104);\n\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n\n case 5:\n return val;\n\n case 6:\n return index;\n\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }\n\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(105);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar isArray = __w_pdfjs_require__(106);\n\nvar SPECIES = __w_pdfjs_require__(30)('species');\n\nmodule.exports = function (original) {\n var C;\n\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n\n return C === undefined ? Array : C;\n};\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(29);\n\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar META = __w_pdfjs_require__(22)('meta');\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar has = __w_pdfjs_require__(21);\n\nvar setDesc = __w_pdfjs_require__(11).f;\n\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar FREEZE = !__w_pdfjs_require__(16)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\n\nvar setMeta = function setMeta(it) {\n setDesc(it, META, {\n value: {\n i: 'O' + ++id,\n w: {}\n }\n });\n};\n\nvar fastKey = function fastKey(it, create) {\n if (!isObject(it)) return _typeof(it) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\n if (!has(it, META)) {\n if (!isExtensible(it)) return 'F';\n if (!create) return 'E';\n setMeta(it);\n }\n\n return it[META].i;\n};\n\nvar getWeak = function getWeak(it, create) {\n if (!has(it, META)) {\n if (!isExtensible(it)) return true;\n if (!create) return false;\n setMeta(it);\n }\n\n return it[META].w;\n};\n\nvar onFreeze = function onFreeze(it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\n\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(97);\n\nvar getWeak = __w_pdfjs_require__(107).getWeak;\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar anInstance = __w_pdfjs_require__(87);\n\nvar forOf = __w_pdfjs_require__(88);\n\nvar createArrayMethod = __w_pdfjs_require__(103);\n\nvar $has = __w_pdfjs_require__(21);\n\nvar validate = __w_pdfjs_require__(109);\n\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\nvar uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.a = [];\n};\n\nvar findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function get(key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function has(key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function set(key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;else this.a.push([key, value]);\n },\n 'delete': function _delete(key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME;\n that._i = id++;\n that._l = undefined;\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n 'delete': function _delete(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function def(that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar redefineAll = __w_pdfjs_require__(97);\n\nvar meta = __w_pdfjs_require__(107);\n\nvar forOf = __w_pdfjs_require__(88);\n\nvar anInstance = __w_pdfjs_require__(87);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar fails = __w_pdfjs_require__(16);\n\nvar $iterDetect = __w_pdfjs_require__(68);\n\nvar setToStringTag = __w_pdfjs_require__(59);\n\nvar inheritIfRequired = __w_pdfjs_require__(111);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n\n var fixMethod = function fixMethod(KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY, KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) {\n fn.call(this, a === 0 ? 0 : a);\n return this;\n } : function set(a, b) {\n fn.call(this, a === 0 ? 0 : a, b);\n return this;\n });\n };\n\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = $iterDetect(function (iter) {\n new C(iter);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new C();\n var index = 5;\n\n while (index--) {\n $instance[ADDER](index, index);\n }\n\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n return C;\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar setPrototypeOf = __w_pdfjs_require__(112).set;\n\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n }\n\n return that;\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar check = function check(O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\n\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n try {\n set = __w_pdfjs_require__(23)(Function.call, __w_pdfjs_require__(113).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) {\n buggy = true;\n }\n\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(73);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nvar toIObject = __w_pdfjs_require__(42);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar has = __w_pdfjs_require__(21);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(14);\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(15) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(115)('WeakMap');\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n\n while (length--) {\n A[length] = arguments[length];\n }\n\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(117)('WeakMap');\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar aFunction = __w_pdfjs_require__(24);\n\nvar ctx = __w_pdfjs_require__(23);\n\nvar forOf = __w_pdfjs_require__(88);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n from: function from(source) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(82);\n\n__w_pdfjs_require__(83);\n\n__w_pdfjs_require__(119);\n\n__w_pdfjs_require__(120);\n\n__w_pdfjs_require__(121);\n\nmodule.exports = __w_pdfjs_require__(9).WeakSet;\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar weak = __w_pdfjs_require__(108);\n\nvar validate = __w_pdfjs_require__(109);\n\nvar WEAK_SET = 'WeakSet';\n\n__w_pdfjs_require__(110)(WEAK_SET, function (get) {\n return function WeakSet() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n}, {\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(115)('WeakSet');\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(117)('WeakSet');\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(123);\n\nmodule.exports = __w_pdfjs_require__(9).String.codePointAt;\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $at = __w_pdfjs_require__(48)(false);\n\n$export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(125);\n\nmodule.exports = __w_pdfjs_require__(9).String.fromCodePoint;\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(44);\n\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n fromCodePoint: function fromCodePoint(x) {\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));\n }\n\n return res.join('');\n }\n});\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(127);\n\n__w_pdfjs_require__(82);\n\nmodule.exports = __w_pdfjs_require__(9).Symbol;\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar global = __w_pdfjs_require__(8);\n\nvar has = __w_pdfjs_require__(21);\n\nvar DESCRIPTORS = __w_pdfjs_require__(15);\n\nvar $export = __w_pdfjs_require__(7);\n\nvar redefine = __w_pdfjs_require__(20);\n\nvar META = __w_pdfjs_require__(107).KEY;\n\nvar $fails = __w_pdfjs_require__(16);\n\nvar shared = __w_pdfjs_require__(31);\n\nvar setToStringTag = __w_pdfjs_require__(59);\n\nvar uid = __w_pdfjs_require__(22);\n\nvar wks = __w_pdfjs_require__(30);\n\nvar wksExt = __w_pdfjs_require__(128);\n\nvar wksDefine = __w_pdfjs_require__(129);\n\nvar enumKeys = __w_pdfjs_require__(130);\n\nvar isArray = __w_pdfjs_require__(106);\n\nvar anObject = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(13);\n\nvar toIObject = __w_pdfjs_require__(42);\n\nvar toPrimitive = __w_pdfjs_require__(18);\n\nvar createDesc = __w_pdfjs_require__(19);\n\nvar _create = __w_pdfjs_require__(52);\n\nvar gOPNExt = __w_pdfjs_require__(131);\n\nvar $GOPD = __w_pdfjs_require__(113);\n\nvar $DP = __w_pdfjs_require__(11);\n\nvar $keys = __w_pdfjs_require__(54);\n\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\n\nvar _stringify = $JSON && $JSON.stringify;\n\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function get() {\n return dP(this, 'a', {\n value: 7\n }).a;\n }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function wrap(tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {\n return _typeof(it) == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, {\n enumerable: createDesc(0, false)\n });\n }\n\n return setSymbolDesc(it, key, D);\n }\n\n return dP(it, key, D);\n};\n\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n\n while (l > i) {\n $defineProperty(it, key = keys[i++], P[key]);\n }\n\n return it;\n};\n\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n }\n\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n }\n\n return result;\n};\n\nif (!USE_NATIVE) {\n $Symbol = function _Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\n var $set = function $set(value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: $set\n });\n return wrap(tag);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __w_pdfjs_require__(132).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(73).f = $propertyIsEnumerable;\n __w_pdfjs_require__(72).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__w_pdfjs_require__(32)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Symbol: $Symbol\n});\n\nfor (var es6Symbols = 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;) {\n wks(es6Symbols[j++]);\n}\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) {\n wksDefine(wellKnownSymbols[k++]);\n}\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n 'for': function _for(key) {\n return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n\n for (var key in SymbolRegistry) {\n if (SymbolRegistry[key] === sym) return key;\n }\n },\n useSetter: function useSetter() {\n setter = true;\n },\n useSimple: function useSimple() {\n setter = false;\n }\n});\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n return _stringify([S]) != '[null]' || _stringify({\n a: S\n }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return;\n if (!isArray(replacer)) replacer = function replacer(key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __w_pdfjs_require__(10)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, 'Symbol');\nsetToStringTag(Math, 'Math', true);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = __w_pdfjs_require__(30);\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(8);\n\nvar core = __w_pdfjs_require__(9);\n\nvar LIBRARY = __w_pdfjs_require__(32);\n\nvar wksExt = __w_pdfjs_require__(128);\n\nvar defineProperty = __w_pdfjs_require__(11).f;\n\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, {\n value: wksExt.f(name)\n });\n};\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(54);\n\nvar gOPS = __w_pdfjs_require__(72);\n\nvar pIE = __w_pdfjs_require__(73);\n\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n\n while (symbols.length > i) {\n if (isEnum.call(it, key = symbols[i++])) result.push(key);\n }\n }\n\n return result;\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar toIObject = __w_pdfjs_require__(42);\n\nvar gOPN = __w_pdfjs_require__(132).f;\n\nvar toString = {}.toString;\nvar windowNames = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function getWindowNames(it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(55);\n\nvar hiddenKeys = __w_pdfjs_require__(57).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(134);\n\nmodule.exports = __w_pdfjs_require__(9).String.padStart;\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $pad = __w_pdfjs_require__(135);\n\nvar userAgent = __w_pdfjs_require__(95);\n\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padStart: function padStart(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toLength = __w_pdfjs_require__(25);\n\nvar repeat = __w_pdfjs_require__(136);\n\nvar defined = __w_pdfjs_require__(33);\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(26);\n\nvar defined = __w_pdfjs_require__(33);\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n\n for (; n > 0; (n >>>= 1) && (str += str)) {\n if (n & 1) res += str;\n }\n\n return res;\n};\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(138);\n\nmodule.exports = __w_pdfjs_require__(9).String.padEnd;\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $pad = __w_pdfjs_require__(135);\n\nvar userAgent = __w_pdfjs_require__(95);\n\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padEnd: function padEnd(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(140);\n\nmodule.exports = __w_pdfjs_require__(9).Object.values;\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(7);\n\nvar $values = __w_pdfjs_require__(141)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(54);\n\nvar toIObject = __w_pdfjs_require__(42);\n\nvar isEnum = __w_pdfjs_require__(73).f;\n\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n\n while (length > i) {\n if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n\n return result;\n };\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n{\n var isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== 'undefined') {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n }\n\n if (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n } else {\n exports.ReadableStream = __w_pdfjs_require__(143).ReadableStream;\n }\n}\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\n(function (e, a) {\n for (var i in a) {\n e[i] = a[i];\n }\n})(exports, function (modules) {\n var installedModules = {};\n\n function __w_pdfjs_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: false,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n module.l = true;\n return module.exports;\n }\n\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n if (!__w_pdfjs_require__.o(exports, name)) {\n Object.defineProperty(exports, name, {\n configurable: false,\n enumerable: true,\n get: getter\n });\n }\n };\n\n __w_pdfjs_require__.n = function (module) {\n var getter = module && module.__esModule ? function getDefault() {\n return module['default'];\n } : function getModuleExports() {\n return module;\n };\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n\n return getter;\n };\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n\n __w_pdfjs_require__.p = \"\";\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n}([function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\n\n exports.createDataProperty = function (o, p, v) {\n assert(exports.typeIsObject(o));\n Object.defineProperty(o, p, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n };\n\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\n\n exports.CreateIterResultObject = function (value, done) {\n assert(typeof done === 'boolean');\n var obj = {};\n Object.defineProperty(obj, 'value', {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n });\n Object.defineProperty(obj, 'done', {\n value: done,\n enumerable: true,\n writable: true,\n configurable: true\n });\n return obj;\n };\n\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n\n if (v === Infinity) {\n return false;\n }\n\n if (v < 0) {\n return false;\n }\n\n return true;\n };\n\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n\n return Function.prototype.apply.call(F, V, args);\n }\n\n exports.InvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n var method = O[P];\n\n if (method === undefined) {\n return undefined;\n }\n\n return Call(method, O, args);\n };\n\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\n };\n\n exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n assert(Array.isArray(argsF));\n var method = void 0;\n\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n\n if (Number.isNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n\n return highWaterMark;\n };\n\n exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n if (size !== undefined && typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n\n highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n return {\n size: size,\n highWaterMark: highWaterMark\n };\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function rethrowAssertionErrorRejection(e) {\n if (e && e.constructor === AssertionError) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n }\n\n module.exports = {\n rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n AssertionError: AssertionError,\n assert: assert\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(0),\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n typeIsObject = _require.typeIsObject;\n\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n _ref$highWaterMark = _ref.highWaterMark,\n highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n\n _classCallCheck(this, WritableStream);\n\n this._state = 'writable';\n this._storedError = undefined;\n this._writer = undefined;\n this._writableStreamController = undefined;\n this._writeRequests = [];\n this._inFlightWriteRequest = undefined;\n this._closeRequest = undefined;\n this._inFlightCloseRequest = undefined;\n this._pendingAbortRequest = undefined;\n this._backpressure = false;\n var type = underlyingSink.type;\n\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n\n this._writableStreamController.__startSteps();\n }\n\n _createClass(WritableStream, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n\n return WritableStreamAbort(this, reason);\n }\n }, {\n key: 'getWriter',\n value: function getWriter() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsWritableStreamLocked(this);\n }\n }]);\n\n return WritableStream;\n }();\n\n module.exports = {\n AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n IsWritableStream: IsWritableStream,\n IsWritableStreamLocked: IsWritableStreamLocked,\n WritableStream: WritableStream,\n WritableStreamAbort: WritableStreamAbort,\n WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n };\n\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsWritableStreamLocked(stream) {\n assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n\n if (stream._writer === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n\n if (state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n var error = new TypeError('Requested to abort');\n\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n\n return promise;\n }\n\n function WritableStreamAddWriteRequest(stream) {\n assert(IsWritableStreamLocked(stream) === true);\n assert(stream._state === 'writable');\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\n\n function WritableStreamStartErroring(stream, reason) {\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n assert(stream._state === 'writable', 'state must be writable');\n var controller = stream._writableStreamController;\n assert(controller !== undefined, 'controller must not be undefined');\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n\n function WritableStreamFinishErroring(stream) {\n assert(stream._state === 'erroring', 'stream._state === erroring');\n assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n stream._state = 'errored';\n\n stream._writableStreamController.__errorSteps();\n\n var storedError = stream._storedError;\n\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n\n writeRequest._reject(storedError);\n }\n\n stream._writeRequests = [];\n\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n\n promise.then(function () {\n abortRequest._resolve();\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._resolve(undefined);\n\n stream._inFlightWriteRequest = undefined;\n }\n\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._reject(error);\n\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._resolve(undefined);\n\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n\n if (state === 'erroring') {\n stream._storedError = undefined;\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n\n stream._pendingAbortRequest = undefined;\n }\n }\n\n stream._state = 'closed';\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n\n assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._reject(error);\n\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n\n stream._pendingAbortRequest = undefined;\n }\n\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamMarkCloseRequestInFlight(stream) {\n assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n\n stream._closeRequest._reject(stream._storedError);\n\n stream._closeRequest = undefined;\n }\n\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n\n writer._closedPromise.catch(function () {});\n }\n }\n\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(backpressure === false);\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n\n stream._backpressure = backpressure;\n }\n\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n\n this._readyPromise.catch(function () {});\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored', 'state must be errored');\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n\n this._readyPromise.catch(function () {});\n\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n\n this._closedPromise.catch(function () {});\n }\n }\n\n _createClass(WritableStreamDefaultWriter, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n\n return WritableStreamDefaultWriterClose(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return;\n }\n\n assert(stream._writer !== undefined);\n WritableStreamDefaultWriterRelease(this);\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n\n return WritableStreamDefaultWriterGetDesiredSize(this);\n }\n }, {\n key: 'ready',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n\n return this._readyPromise;\n }\n }]);\n\n return WritableStreamDefaultWriter;\n }();\n\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n }\n\n assert(state === 'writable' || state === 'erroring');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable' || state === 'erroring');\n return WritableStreamDefaultWriterClose(writer);\n }\n\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n\n writer._closedPromise.catch(function () {});\n }\n\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n\n writer._readyPromise.catch(function () {});\n }\n\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n assert(stream._writer === writer);\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n var state = stream._state;\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\n\n this._controlledWritableStream = stream;\n this._underlyingSink = underlyingSink;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n _createClass(WritableStreamDefaultController, [{\n key: 'error',\n value: function error(e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n\n var state = this._controlledWritableStream._state;\n\n if (state !== 'writable') {\n return;\n }\n\n WritableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__abortSteps',\n value: function __abortSteps(reason) {\n return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n }\n }, {\n key: '__errorSteps',\n value: function __errorSteps() {\n ResetQueue(this);\n }\n }, {\n key: '__startSteps',\n value: function __startSteps() {\n var _this = this;\n\n var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n var stream = this._controlledWritableStream;\n Promise.resolve(startResult).then(function () {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n }, function (r) {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n }]);\n\n return WritableStreamDefaultController;\n }();\n\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n\n if (strategySize === undefined) {\n return 1;\n }\n\n try {\n return strategySize(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = {\n chunk: chunk\n };\n\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n\n var stream = controller._controlledWritableStream;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n\n if (controller._started === false) {\n return;\n }\n\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return;\n }\n\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n\n if (controller._queue.length === 0) {\n return;\n }\n\n var writeRecord = PeekQueueValue(controller);\n\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n DequeueValue(controller);\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n assert(stream._state === 'writable');\n WritableStreamStartErroring(stream, error);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n }\n\n function defaultWriterBrandCheckException(name) {\n return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n }\n\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = new Promise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n writer._closedPromise = Promise.resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n\n function defaultWriterClosedPromiseReject(writer, reason) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n\n writer._closedPromise_reject(reason);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseResolve(writer) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n\n writer._closedPromise_resolve(undefined);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n writer._readyPromise = Promise.resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n\n function defaultWriterReadyPromiseReject(writer, reason) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n\n writer._readyPromise_reject(reason);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseReset(writer) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseResolve(writer) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n\n writer._readyPromise_resolve(undefined);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _require = __w_pdfjs_require__(0),\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n\n exports.DequeueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\n\n var pair = container._queue.shift();\n\n container._queueTotalSize -= pair.size;\n\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n\n return pair.value;\n };\n\n exports.EnqueueValueWithSize = function (container, value, size) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\n size = Number(size);\n\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n\n container._queue.push({\n value: value,\n size: size\n });\n\n container._queueTotalSize += size;\n };\n\n exports.PeekQueueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n var pair = container._queue[0];\n return pair.value;\n };\n\n exports.ResetQueue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n container._queue = [];\n container._queueTotalSize = 0;\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(0),\n ArrayBufferCopy = _require.ArrayBufferCopy,\n CreateIterResultObject = _require.CreateIterResultObject,\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n TransferArrayBuffer = _require.TransferArrayBuffer,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n\n var _require5 = __w_pdfjs_require__(2),\n AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n IsWritableStream = _require5.IsWritableStream,\n IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n WritableStreamAbort = _require5.WritableStreamAbort,\n WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n\n _classCallCheck(this, ReadableStream);\n\n this._state = 'readable';\n this._reader = undefined;\n this._storedError = undefined;\n this._disturbed = false;\n this._readableStreamController = undefined;\n var type = underlyingSource.type;\n var typeString = String(type);\n\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n\n _createClass(ReadableStream, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('cancel'));\n }\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n\n return ReadableStreamCancel(this, reason);\n }\n }, {\n key: 'getReader',\n value: function getReader() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mode = _ref2.mode;\n\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n\n mode = String(mode);\n\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\n\n throw new RangeError('Invalid mode is specified');\n }\n }, {\n key: 'pipeThrough',\n value: function pipeThrough(_ref3, options) {\n var writable = _ref3.writable,\n readable = _ref3.readable;\n var promise = this.pipeTo(writable, options);\n ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n return readable;\n }\n }, {\n key: 'pipeTo',\n value: function pipeTo(dest) {\n var _this = this;\n\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n\n var reader = AcquireReadableStreamDefaultReader(this);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n function pipeLoop() {\n currentWrite = Promise.resolve();\n\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done === true) {\n return;\n }\n\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(function () {});\n });\n }).then(pipeLoop);\n }\n\n isOrBecomesErrored(_this, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(_this, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n\n pipeLoop().catch(function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise.catch(action).catch(rethrowAssertionErrorRejection);\n }\n }\n\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action).catch(rethrowAssertionErrorRejection);\n }\n }\n\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n }).catch(rethrowAssertionErrorRejection);\n }\n }\n\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n }).catch(rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n }, {\n key: 'tee',\n value: function tee() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('tee');\n }\n\n var branches = ReadableStreamTee(this, false);\n return createArrayFromList(branches);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsReadableStreamLocked(this);\n }\n }]);\n\n return ReadableStream;\n }();\n\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDisturbed(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n return stream._disturbed;\n }\n\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n\n if (stream._reader === undefined) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamTee(stream, cloneForBranch2) {\n assert(IsReadableStream(stream) === true);\n assert(typeof cloneForBranch2 === 'boolean');\n var reader = AcquireReadableStreamDefaultReader(stream);\n var teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: undefined,\n reason2: undefined\n };\n teeState.promise = new Promise(function (resolve) {\n teeState._resolve = resolve;\n });\n var pull = create_ReadableStreamTeePullFunction();\n pull._reader = reader;\n pull._teeState = teeState;\n pull._cloneForBranch2 = cloneForBranch2;\n var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n cancel1._stream = stream;\n cancel1._teeState = teeState;\n var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n cancel2._stream = stream;\n cancel2._teeState = teeState;\n var underlyingSource1 = Object.create(Object.prototype);\n createDataProperty(underlyingSource1, 'pull', pull);\n createDataProperty(underlyingSource1, 'cancel', cancel1);\n var branch1Stream = new ReadableStream(underlyingSource1);\n var underlyingSource2 = Object.create(Object.prototype);\n createDataProperty(underlyingSource2, 'pull', pull);\n createDataProperty(underlyingSource2, 'cancel', cancel2);\n var branch2Stream = new ReadableStream(underlyingSource2);\n pull._branch1 = branch1Stream._readableStreamController;\n pull._branch2 = branch2Stream._readableStreamController;\n\n reader._closedPromise.catch(function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n\n return [branch1Stream, branch2Stream];\n }\n\n function create_ReadableStreamTeePullFunction() {\n function f() {\n var reader = f._reader,\n branch1 = f._branch1,\n branch2 = f._branch2,\n teeState = f._teeState;\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n assert(typeIsObject(result));\n var value = result.value;\n var done = result.done;\n assert(typeof done === 'boolean');\n\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n\n teeState.closedOrErrored = true;\n }\n\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n var value1 = value;\n var value2 = value;\n\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n\n return f;\n }\n\n function create_ReadableStreamTeeBranch1CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled1 = true;\n teeState.reason1 = reason;\n\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\n\n function create_ReadableStreamTeeBranch2CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled2 = true;\n teeState.reason2 = reason;\n\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\n\n function ReadableStreamAddReadIntoRequest(stream) {\n assert(IsReadableStreamBYOBReader(stream._reader) === true);\n assert(stream._state === 'readable' || stream._state === 'closed');\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n\n function ReadableStreamAddReadRequest(stream) {\n assert(IsReadableStreamDefaultReader(stream._reader) === true);\n assert(stream._state === 'readable');\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n ReadableStreamClose(stream);\n\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n\n _resolve(CreateIterResultObject(undefined, true));\n }\n\n reader._readRequests = [];\n }\n\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\n\n function ReadableStreamError(stream, e) {\n assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n assert(stream._state === 'readable', 'state must be readable');\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n\n readRequest._reject(e);\n }\n\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n\n readIntoRequest._reject(e);\n }\n\n reader._readIntoRequests = [];\n }\n\n defaultReaderClosedPromiseReject(reader, e);\n\n reader._closedPromise.catch(function () {});\n }\n\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n\n var readIntoRequest = reader._readIntoRequests.shift();\n\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n\n var readRequest = reader._readRequests.shift();\n\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = [];\n }\n\n _createClass(ReadableStreamDefaultReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n return ReadableStreamDefaultReaderRead(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsReadableStreamDefaultReader(this) === false) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\n\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamDefaultReader;\n }();\n\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\n\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = [];\n }\n\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read(view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n\n return ReadableStreamBYOBReaderRead(this, view);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\n\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamBYOBReader;\n }();\n\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n assert(stream._state === 'errored', 'state must be errored');\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n\n reader._closedPromise.catch(function () {});\n }\n }\n\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n\n reader._closedPromise.catch(function () {});\n\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\n\n this._controlledReadableStream = stream;\n this._underlyingSource = underlyingSource;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n this._closeRequested = false;\n this._pullAgain = false;\n this._pulling = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var controller = this;\n var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n\n ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n\n ReadableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\n\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableStreamDefaultController;\n }();\n\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n\n if (desiredSize > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n controller._closeRequested = true;\n\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\n }\n\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n }, {\n key: 'respondWithNewView',\n value: function respondWithNewView(view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n\n return ReadableStreamBYOBRequest;\n }();\n\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n }\n\n this._controlledReadableStream = stream;\n this._underlyingByteSource = underlyingByteSource;\n this._pullAgain = false;\n this._pulling = false;\n ReadableByteStreamControllerClearPendingPullIntos(this);\n this._queue = this._queueTotalSize = undefined;\n ResetQueue(this);\n this._closeRequested = false;\n this._started = false;\n this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n\n this._autoAllocateChunkSize = autoAllocateChunkSize;\n this._pendingPullIntos = [];\n var controller = this;\n var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n if (stream._state === 'readable') {\n ReadableByteStreamControllerError(controller, r);\n }\n }).catch(rethrowAssertionErrorRejection);\n }\n\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n\n ReadableByteStreamControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n\n ReadableByteStreamControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n\n ReadableByteStreamControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n firstDescriptor.bytesFilled = 0;\n }\n\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n assert(ReadableStreamHasDefaultReader(stream) === true);\n\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n\n var entry = this._queue.shift();\n\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n\n return Promise.resolve(CreateIterResultObject(view, false));\n }\n\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\n\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n }\n }, {\n key: 'byobRequest',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n }\n\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableByteStreamController;\n }();\n\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableByteStreamControllerError(controller, e);\n }\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n\n controller._queueTotalSize += byteLength;\n }\n\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n\n var queue = controller._queue;\n\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue[0];\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n\n if (ready === false) {\n assert(controller._queueTotalSize === 0, 'queue must be empty');\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n\n return ready;\n }\n\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n assert(controller._closeRequested === false);\n\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n\n var ctor = view.constructor;\n var pullIntoDescriptor = {\n buffer: view.buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n\n if (controller._pendingPullIntos.length > 0) {\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n return ReadableStreamAddReadIntoRequest(stream);\n }\n\n if (stream._state === 'closed') {\n var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(CreateIterResultObject(emptyView, true));\n }\n\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(CreateIterResultObject(filledView, false));\n }\n\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return Promise.reject(e);\n }\n }\n\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n var stream = controller._controlledReadableStream;\n\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\n\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n }\n\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\n\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n\n ReadableStreamClose(stream);\n }\n\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n assert(controller._queue.length === 0);\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n }\n\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\n\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\n\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_reject(reason);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n reader._closedPromise = Promise.reject(reason);\n }\n\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_resolve(undefined);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n }\n\n function byobRequestBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n }\n\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n }\n\n function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n try {\n Promise.prototype.then.call(promise, undefined, function () {});\n } catch (e) {}\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var transformStream = __w_pdfjs_require__(6);\n\n var readableStream = __w_pdfjs_require__(4);\n\n var writableStream = __w_pdfjs_require__(2);\n\n exports.TransformStream = transformStream.TransformStream;\n exports.ReadableStream = readableStream.ReadableStream;\n exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n exports.IsWritableStream = writableStream.IsWritableStream;\n exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n exports.WritableStream = writableStream.WritableStream;\n exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(4),\n ReadableStream = _require3.ReadableStream,\n ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n var controller = transformStream._readableController;\n\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n TransformStreamErrorInternal(transformStream, e);\n }\n\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n\n transformStream._readableClosed = true;\n }\n\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n\n transformStream._backpressure = backpressure;\n }\n\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\n\n function TransformStreamTransform(transformStream, chunk) {\n assert(transformStream._errored === false);\n assert(transformStream._transforming === false);\n assert(transformStream._backpressure === false);\n transformStream._transforming = true;\n var transformer = transformStream._transformer;\n var controller = transformStream._transformStreamController;\n var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n return transformPromise.then(function () {\n transformStream._transforming = false;\n return TransformStreamReadableReadyPromise(transformStream);\n }, function (e) {\n TransformStreamErrorIfNeeded(transformStream, e);\n return Promise.reject(e);\n });\n }\n\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n\n return true;\n }\n\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n\n return true;\n }\n\n var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n\n _createClass(TransformStreamSink, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._writableController = c;\n return this._startPromise.then(function () {\n return TransformStreamReadableReadyPromise(transformStream);\n });\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n var transformStream = this._transformStream;\n return TransformStreamTransform(transformStream, chunk);\n }\n }, {\n key: 'abort',\n value: function abort() {\n var transformStream = this._transformStream;\n transformStream._writableDone = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n }\n }, {\n key: 'close',\n value: function close() {\n var transformStream = this._transformStream;\n assert(transformStream._transforming === false);\n transformStream._writableDone = true;\n var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n return flushPromise.then(function () {\n if (transformStream._errored === true) {\n return Promise.reject(transformStream._storedError);\n }\n\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n return Promise.resolve();\n }).catch(function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n\n return TransformStreamSink;\n }();\n\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n\n _createClass(TransformStreamSource, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._readableController = c;\n return this._startPromise.then(function () {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n });\n }\n }, {\n key: 'pull',\n value: function pull() {\n var transformStream = this._transformStream;\n assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n TransformStreamSetBackpressure(transformStream, false);\n return transformStream._backpressureChangePromise;\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n var transformStream = this._transformStream;\n transformStream._readableClosed = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n }\n }]);\n\n return TransformStreamSource;\n }();\n\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n\n this._controlledTransformStream = transformStream;\n }\n\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n TransformStreamCloseReadable(this._controlledTransformStream);\n }\n }, {\n key: 'error',\n value: function error(reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n TransformStreamError(this._controlledTransformStream, reason);\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n\n return TransformStreamDefaultController;\n }();\n\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, TransformStream);\n\n this._transformer = transformer;\n var readableStrategy = transformer.readableStrategy,\n writableStrategy = transformer.writableStrategy;\n this._transforming = false;\n this._errored = false;\n this._storedError = undefined;\n this._writableController = undefined;\n this._readableController = undefined;\n this._transformStreamController = undefined;\n this._writableDone = false;\n this._readableClosed = false;\n this._backpressure = undefined;\n this._backpressureChangePromise = undefined;\n this._backpressureChangePromise_resolve = undefined;\n this._transformStreamController = new TransformStreamDefaultController(this);\n var startPromise_resolve = void 0;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n var source = new TransformStreamSource(this, startPromise);\n this._readable = new ReadableStream(source, readableStrategy);\n var sink = new TransformStreamSink(this, startPromise);\n this._writable = new WritableStream(sink, writableStrategy);\n assert(this._writableController !== undefined);\n assert(this._readableController !== undefined);\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n TransformStreamSetBackpressure(this, desiredSize <= 0);\n var transformStream = this;\n var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n startPromise_resolve(startResult);\n startPromise.catch(function (e) {\n if (transformStream._errored === false) {\n transformStream._errored = true;\n transformStream._storedError = e;\n }\n });\n }\n\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\n\n return this._readable;\n }\n }, {\n key: 'writable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('writable');\n }\n\n return this._writable;\n }\n }]);\n\n return TransformStream;\n }();\n\n module.exports = {\n TransformStream: TransformStream\n };\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n }\n}, function (module, exports, __w_pdfjs_require__) {\n module.exports = __w_pdfjs_require__(5);\n}]));\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n{\n var isURLSupported = false;\n\n try {\n if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n var u = new URL('b', 'http://a');\n u.pathname = 'c%20d';\n isURLSupported = u.href === 'http://a/c%20d';\n }\n } catch (ex) {}\n\n if (isURLSupported) {\n exports.URL = URL;\n } else {\n var PolyfillURL = __w_pdfjs_require__(145).URL;\n\n var OriginalURL = __w_pdfjs_require__(3).URL;\n\n if (OriginalURL) {\n PolyfillURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n\n PolyfillURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n\n exports.URL = PolyfillURL;\n }\n}\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n(function URLConstructorClosure() {\n 'use strict';\n\n var relative = Object.create(null);\n relative['ftp'] = 21;\n relative['file'] = 0;\n relative['gopher'] = 70;\n relative['http'] = 80;\n relative['https'] = 443;\n relative['ws'] = 80;\n relative['wss'] = 443;\n var relativePathDotMapping = Object.create(null);\n relativePathDotMapping['%2e'] = '.';\n relativePathDotMapping['.%2e'] = '..';\n relativePathDotMapping['%2e.'] = '..';\n relativePathDotMapping['%2e%2e'] = '..';\n\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n\n return h.toLowerCase();\n }\n\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n\n switch (state) {\n case 'scheme start':\n if (c && ALPHA.test(c)) {\n buffer += c.toLowerCase();\n state = 'scheme';\n } else if (!stateOverride) {\n buffer = '';\n state = 'no scheme';\n continue;\n } else {\n err('Invalid scheme.');\n break loop;\n }\n\n break;\n\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n\n if (stateOverride) {\n break loop;\n }\n\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\n\n if (this._scheme === 'file') {\n state = 'relative';\n } else if (this._isRelative && base && base._scheme === this._scheme) {\n state = 'relative or authority';\n } else if (this._isRelative) {\n state = 'authority first slash';\n } else {\n state = 'scheme data';\n }\n } else if (!stateOverride) {\n buffer = '';\n cursor = 0;\n state = 'no scheme';\n continue;\n } else if (c === EOF) {\n break loop;\n } else {\n err('Code point not allowed in scheme: ' + c);\n break loop;\n }\n\n break;\n\n case 'scheme data':\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else {\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._schemeData += percentEscape(c);\n }\n }\n\n break;\n\n case 'no scheme':\n if (!base || !isRelativeScheme(base._scheme)) {\n err('Missing scheme.');\n invalid.call(this);\n } else {\n state = 'relative';\n continue;\n }\n\n break;\n\n case 'relative or authority':\n if (c === '/' && input[cursor + 1] === '/') {\n state = 'authority ignore slashes';\n } else {\n err('Expected /, got: ' + c);\n state = 'relative';\n continue;\n }\n\n break;\n\n case 'relative':\n this._isRelative = true;\n\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\n\n if (c === EOF) {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._username = base._username;\n this._password = base._password;\n break loop;\n } else if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n\n state = 'relative slash';\n } else if (c === '?') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = '?';\n this._username = base._username;\n this._password = base._password;\n state = 'query';\n } else if (c === '#') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._fragment = '#';\n this._username = base._username;\n this._password = base._password;\n state = 'fragment';\n } else {\n var nextC = input[cursor + 1];\n var nextNextC = input[cursor + 2];\n\n if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n this._path = base._path.slice();\n\n this._path.pop();\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n\n if (this._scheme === 'file') {\n state = 'file host';\n } else {\n state = 'authority ignore slashes';\n }\n } else {\n if (this._scheme !== 'file') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'authority first slash':\n if (c === '/') {\n state = 'authority second slash';\n } else {\n err('Expected \\'/\\', got: ' + c);\n state = 'authority ignore slashes';\n continue;\n }\n\n break;\n\n case 'authority second slash':\n state = 'authority ignore slashes';\n\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n\n break;\n\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n\n break;\n\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n\n seenAt = true;\n\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n\n var tempC = percentEscape(cp);\n\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\n }\n\n buffer = '';\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n cursor -= buffer.length;\n buffer = '';\n state = 'host';\n continue;\n } else {\n buffer += c;\n }\n\n break;\n\n case 'file host':\n if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n state = 'relative path';\n } else if (buffer.length === 0) {\n state = 'relative path start';\n } else {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n }\n\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid whitespace in file host.');\n } else {\n buffer += c;\n }\n\n break;\n\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n\n if (stateOverride === 'hostname') {\n break loop;\n }\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n\n if (stateOverride) {\n break loop;\n }\n\n continue;\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n if (c === '[') {\n seenBracket = true;\n } else if (c === ']') {\n seenBracket = false;\n }\n\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n\n break;\n\n case 'port':\n if (/[0-9]/.test(c)) {\n buffer += c;\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n if (buffer !== '') {\n var temp = parseInt(buffer, 10);\n\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n\n buffer = '';\n }\n\n if (stateOverride) {\n break loop;\n }\n\n state = 'relative path start';\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid code point in port: ' + c);\n } else {\n invalid.call(this);\n }\n\n break;\n\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n\n state = 'relative path';\n\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n\n break;\n\n case 'relative path':\n if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n if (c === '\\\\') {\n err('\\\\ not allowed in relative path.');\n }\n\n var tmp;\n\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n\n if (buffer === '..') {\n this._path.pop();\n\n if (c !== '/' && c !== '\\\\') {\n this._path.push('');\n }\n } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n this._path.push('');\n } else if (buffer !== '.') {\n if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n buffer = buffer[0] + ':';\n }\n\n this._path.push(buffer);\n }\n\n buffer = '';\n\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n }\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n buffer += percentEscape(c);\n }\n\n break;\n\n case 'query':\n if (!stateOverride && c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._query += percentEscapeQuery(c);\n }\n\n break;\n\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n\n break;\n }\n\n cursor++;\n }\n }\n\n function clear() {\n this._scheme = '';\n this._schemeData = '';\n this._username = '';\n this._password = null;\n this._host = '';\n this._port = '';\n this._path = [];\n this._query = '';\n this._fragment = '';\n this._isInvalid = false;\n this._isRelative = false;\n }\n\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\n\n this._url = url;\n clear.call(this);\n var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n parse.call(this, input, null, base);\n }\n\n JURL.prototype = {\n toString: function toString() {\n return this.href;\n },\n\n get href() {\n if (this._isInvalid) {\n return this._url;\n }\n\n var authority = '';\n\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n\n get protocol() {\n return this._scheme + ':';\n },\n\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n\n parse.call(this, value + ':', 'scheme start');\n },\n\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'host');\n },\n\n get hostname() {\n return this._host;\n },\n\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'hostname');\n },\n\n get port() {\n return this._port;\n },\n\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'port');\n },\n\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._query = '?';\n\n if (value[0] === '?') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'query');\n },\n\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n\n this._fragment = '#';\n\n if (value[0] === '#') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'fragment');\n },\n\n get origin() {\n var host;\n\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n\n return 'null';\n }\n\n host = this.host;\n\n if (!host) {\n return '';\n }\n\n return this._scheme + '://' + host;\n }\n\n };\n exports.URL = JURL;\n})();\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _dom_utils = __w_pdfjs_require__(151);\n\nvar _font_loader = __w_pdfjs_require__(152);\n\nvar _api_compatibility = __w_pdfjs_require__(153);\n\nvar _canvas = __w_pdfjs_require__(154);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nvar _worker_options = __w_pdfjs_require__(156);\n\nvar _message_handler = __w_pdfjs_require__(157);\n\nvar _metadata = __w_pdfjs_require__(158);\n\nvar _transport_stream = __w_pdfjs_require__(160);\n\nvar _webgl = __w_pdfjs_require__(161);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar DEFAULT_RANGE_CHUNK_SIZE = 65536;\nvar isWorkerDisabled = false;\nvar fallbackWorkerSrc;\nvar fakeWorkerFilesLoader = null;\n{\n var useRequireEnsure = false;\n\n if (typeof window === 'undefined') {\n isWorkerDisabled = true;\n\n if (typeof require.ensure === 'undefined') {\n require.ensure = require('node-ensure');\n }\n\n useRequireEnsure = true;\n } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {\n useRequireEnsure = true;\n }\n\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\n\n var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;\n fakeWorkerFilesLoader = useRequireEnsure ? function () {\n return new Promise(function (resolve, reject) {\n require.ensure([], function () {\n try {\n var worker;\n worker = require('./pdf.worker.js');\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject, 'pdfjsWorker');\n });\n } : dynamicLoaderSupported ? function () {\n return new Promise(function (resolve, reject) {\n requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {\n try {\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n });\n } : null;\n\n if (!fallbackWorkerSrc && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && 'currentScript' in document) {\n var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n }\n }\n}\nvar createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\n if (typeof src === 'string') {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (_typeof(src) !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n params[key] = new _util.URL(source[key], window.location).href;\n continue;\n } else if (key === 'range') {\n rangeTransport = source[key];\n continue;\n } else if (key === 'worker') {\n worker = source[key];\n continue;\n } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {\n var pdfBytes = source[key];\n\n if (typeof pdfBytes === 'string') {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (_typeof(pdfBytes) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.');\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _dom_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== 'boolean') {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== 'boolean') {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== 'boolean') {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== 'boolean') {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== 'boolean') {\n params.disableAutoFetch = false;\n }\n\n if (typeof params.disableCreateObjectURL !== 'boolean') {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var workerParams = {\n postMessageTransfers: params.postMessageTransfers,\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n var networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\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\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n }).catch(task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n }\n\n return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId: docId,\n apiVersion: '2.1.266',\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 disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error('Worker was destroyed');\n }\n\n return workerId;\n });\n}\n\nvar PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask =\n /*#__PURE__*/\n function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = 'd' + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n _createClass(PDFDocumentLoadingTask, [{\n key: \"destroy\",\n value: function destroy() {\n var _this = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this._transport = null;\n\n if (_this._worker) {\n _this._worker.destroy();\n\n _this._worker = null;\n }\n });\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _util.deprecated)('PDFDocumentLoadingTask.then method, ' + 'use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n}();\n\nvar PDFDataRangeTransport =\n/*#__PURE__*/\nfunction () {\n function PDFDataRangeTransport(length, initialData) {\n _classCallCheck(this, PDFDataRangeTransport);\n\n this.length = length;\n this.initialData = initialData;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var listener = _step.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded) {\n var _this2 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var listener = _step2.value;\n listener(loaded);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this3 = this;\n\n this._readyCapability.promise.then(function () {\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var listener = _step3.value;\n listener(chunk);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n}();\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nvar PDFDocumentProxy =\n/*#__PURE__*/\nfunction () {\n function PDFDocumentProxy(pdfInfo, transport, loadingTask) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this.loadingTask = loadingTask;\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this._transport.getOpenActionDestination();\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }]);\n\n return PDFDocumentProxy;\n}();\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nvar PDFPageProxy =\n/*#__PURE__*/\nfunction () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this.pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _dom_utils.StatTimer() : _dom_utils.DummyStatTimer;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"getViewport\",\n value: function getViewport() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref.scale,\n _ref$rotation = _ref.rotation,\n rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,\n _ref$dontFlip = _ref.dontFlip,\n dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;\n\n if (arguments.length > 1 || typeof arguments[0] === 'number') {\n (0, _util.deprecated)('getViewport is called with obsolete arguments.');\n scale = arguments[0];\n rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;\n dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;\n }\n\n return new _dom_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$intent = _ref2.intent,\n intent = _ref2$intent === void 0 ? null : _ref2$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this.pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref3) {\n var _this4 = this;\n\n var canvasContext = _ref3.canvasContext,\n viewport = _ref3.viewport,\n _ref3$intent = _ref3.intent,\n intent = _ref3$intent === void 0 ? 'display' : _ref3$intent,\n _ref3$enableWebGL = _ref3.enableWebGL,\n enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,\n _ref3$renderInteracti = _ref3.renderInteractiveForms,\n renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,\n _ref3$transform = _ref3.transform,\n transform = _ref3$transform === void 0 ? null : _ref3$transform,\n _ref3$imageLayer = _ref3.imageLayer,\n imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,\n _ref3$canvasFactory = _ref3.canvasFactory,\n canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,\n _ref3$background = _ref3.background,\n background = _ref3$background === void 0 ? null : _ref3$background;\n var stats = this._stats;\n stats.time('Overall');\n this.pendingCleanup = false;\n var renderingIntent = intent === 'print' ? 'print' : 'display';\n var canvasFactoryInstance = canvasFactory || new _dom_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n\n if (!intentState.displayReadyCapability) {\n intentState.receivingOperatorList = true;\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n stats.time('Page Request');\n\n this._transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this4.cleanupAfterRender) {\n _this4.pendingCleanup = true;\n }\n\n _this4._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n } else {\n internalRenderTask.capability.resolve();\n }\n\n stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageNumber: this.pageNumber,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== 'print',\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this4.pendingCleanup) {\n complete();\n return;\n }\n\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = 'oplist';\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.receivingOperatorList = true;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n this._stats.time('Page Request');\n\n this._transport.messageHandler.send('RenderPageRequest', {\n pageIndex: this.pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$normalizeWhites = _ref4.normalizeWhitespace,\n normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,\n _ref4$disableCombineT = _ref4.disableCombineTextItems,\n disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;\n\n var TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref5) {\n var _textContent$items;\n\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this.pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n if (intent === 'oplist') {\n return;\n }\n\n var intentState = this.intentStates[intent];\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n\n this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = this.intentStates[intent];\n return intentState.renderTasks.length !== 0 || intentState.receivingOperatorList;\n }, this)) {\n return;\n }\n\n Object.keys(this.intentStates).forEach(function (intent) {\n delete this.intentStates[intent];\n }, this);\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats instanceof _dom_utils.StatTimer) {\n this._stats = new _dom_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intent) {\n var intentState = this.intentStates[intent];\n\n for (var 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\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i = 0; _i < intentState.renderTasks.length; _i++) {\n intentState.renderTasks[_i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n intentState.receivingOperatorList = false;\n\n this._tryCleanup();\n }\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this.pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats instanceof _dom_utils.StatTimer ? this._stats : null;\n }\n }]);\n\n return PDFPageProxy;\n}();\n\nexports.PDFPageProxy = PDFPageProxy;\n\nvar LoopbackPort =\n/*#__PURE__*/\nfunction () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this5 = this;\n\n function cloneValue(value) {\n if (_typeof(value) !== 'object' || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n\n if (value === buffer) {\n result = value;\n } else if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === 'undefined' || typeof desc.value === 'function') {\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(this, {\n data: obj\n });\n }, this);\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this5._listeners.forEach(function (listener) {\n listener.call(this, e);\n }, _this5);\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners = [];\n }\n }]);\n\n return LoopbackPort;\n}();\n\nexports.LoopbackPort = LoopbackPort;\n\nvar PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var nextFakeWorkerId = 0;\n var fakeWorkerFilesLoadedCapability;\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== 'undefined') {\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n try {\n if (typeof window !== 'undefined') {\n return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();\n var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n var loader = fakeWorkerFilesLoader || function () {\n return (0, _dom_utils.loadScript)(_getWorkerSrc()).then(function () {\n return window.pdfjsWorker.WorkerMessageHandler;\n });\n };\n\n loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);\n return fakeWorkerFilesLoadedCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = 'importScripts(\\'' + url + '\\');';\n return _util.URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker =\n /*#__PURE__*/\n function () {\n function PDFWorker() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$name = _ref6.name,\n name = _ref6$name === void 0 ? null : _ref6$name,\n _ref6$port = _ref6.port,\n port = _ref6$port === void 0 ? null : _ref6$port,\n _ref6$postMessageTran = _ref6.postMessageTransfers,\n postMessageTransfers = _ref6$postMessageTran === void 0 ? true : _ref6$postMessageTran,\n _ref6$verbosity = _ref6.verbosity,\n verbosity = _ref6$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref6$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.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.postMessageTransfers = postMessageTransfers !== false;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);\n\n this._messageHandler.on('ready', function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this6 = this;\n\n if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new _util.URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener('error', onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this6.destroyed) {\n _this6._readyCapability.reject(new Error('Worker was destroyed'));\n } else {\n _this6._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this6._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener('error', onWorkerError);\n messageHandler.on('test', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data && data.supportTypedArray) {\n _this6._messageHandler = messageHandler;\n _this6._port = worker;\n _this6._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this6.postMessageTransfers = false;\n }\n\n _this6._readyCapability.resolve();\n\n messageHandler.send('configure', {\n verbosity: _this6.verbosity\n });\n } else {\n _this6._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on('ready', function (data) {\n worker.removeEventListener('error', onWorkerError);\n\n if (_this6.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this6._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this6.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send('test', testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.info)('Cannot use postMessage transfers');\n testObj[0] = 0;\n messageHandler.send('test', testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)('The worker has been disabled.');\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this7 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)('Setting up fake worker.');\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this7.destroyed) {\n _this7._readyCapability.reject(new Error('Worker was destroyed'));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this7._port = port;\n var id = 'fake' + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + '_worker', id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + '_worker', port);\n _this7._messageHandler = messageHandler;\n\n _this7._readyCapability.resolve();\n }).catch(function (reason) {\n _this7._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error('PDFWorker.fromPort - invalid method signature.');\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nvar WorkerTransport =\n/*#__PURE__*/\nfunction () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n _createClass(WorkerTransport, [{\n key: \"destroy\",\n value: function destroy() {\n var _this8 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));\n }\n\n var waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache = [];\n this.pagePromises = [];\n var terminated = this.messageHandler.sendWithPromise('Terminate', null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this8.fontLoader.clear();\n\n if (_this8._networkStream) {\n _this8._networkStream.cancelAllRequests();\n }\n\n if (_this8.messageHandler) {\n _this8.messageHandler.destroy();\n\n _this8.messageHandler = null;\n }\n\n _this8.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on('GetReader', function (data, sink) {\n var _this9 = this;\n\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = function (evt) {\n _this9._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this9._fullReader.read().then(function (_ref7) {\n var value = _ref7.value,\n done = _ref7.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n _this9._fullReader.cancel(reason);\n };\n }, this);\n messageHandler.on('ReaderHeadersReady', function (data) {\n var _this10 = this;\n\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = this._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this10._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this10._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n }, this);\n messageHandler.on('GetRangeReader', function (data, sink) {\n (0, _util.assert)(this._networkStream);\n\n var rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref8) {\n var value = _ref8.value,\n done = _ref8.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n }, this);\n messageHandler.on('GetDoc', function (_ref9) {\n var pdfInfo = _ref9.pdfInfo;\n this.numPages = pdfInfo.numPages;\n this.pdfDocument = new PDFDocumentProxy(pdfInfo, this, loadingTask);\n\n loadingTask._capability.resolve(this.pdfDocument);\n }, this);\n messageHandler.on('PasswordRequest', function (exception) {\n var _this11 = this;\n\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this11._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return this._passwordCapability.promise;\n }, this);\n messageHandler.on('PasswordException', function (exception) {\n loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));\n }, this);\n messageHandler.on('InvalidPDF', function (exception) {\n loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));\n }, this);\n messageHandler.on('MissingPDF', function (exception) {\n loadingTask._capability.reject(new _util.MissingPDFException(exception.message));\n }, this);\n messageHandler.on('UnexpectedResponse', function (exception) {\n loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));\n }, this);\n messageHandler.on('UnknownError', function (exception) {\n loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));\n }, this);\n messageHandler.on('DataLoaded', function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n this.downloadInfoCapability.resolve(data);\n }, this);\n messageHandler.on('StartRenderPage', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageIndex];\n\n page._stats.timeEnd('Page Request');\n\n page._startRenderPage(data.transparency, data.intent);\n }, this);\n messageHandler.on('RenderPageChunk', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageIndex];\n\n page._renderPageChunk(data.operatorList, data.intent);\n }, this);\n messageHandler.on('commonobj', function (data) {\n var _this12 = this;\n\n if (this.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case 'Font':\n var params = this._params;\n\n if ('error' in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && _global_scope.default.FontInspector && _global_scope.default.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n _global_scope.default['FontInspector'].fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry: fontRegistry\n });\n this.fontLoader.bind(font).then(function () {\n _this12.commonObjs.resolve(id, font);\n }, function (reason) {\n messageHandler.sendWithPromise('FontFallback', {\n id: id\n }).finally(function () {\n _this12.commonObjs.resolve(id, font);\n });\n });\n break;\n\n case 'FontPath':\n this.commonObjs.resolve(id, exportedData);\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n }, this);\n messageHandler.on('obj', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = this.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return;\n }\n\n switch (type) {\n case 'JpegStream':\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n resolve(img);\n };\n\n img.onerror = function () {\n reject(new Error('Error during JPEG image loading'));\n };\n\n img.src = imageData;\n }).then(function (img) {\n pageProxy.objs.resolve(id, img);\n });\n\n case 'Image':\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n }, this);\n messageHandler.on('DocProgress', function (data) {\n if (this.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n }, this);\n messageHandler.on('PageError', function (data) {\n if (this.destroyed) {\n return;\n }\n\n var page = this.pageCache[data.pageNum - 1];\n var intentState = page.intentStates[data.intent];\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(data.error);\n } else {\n throw new Error(data.error);\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n }\n }, this);\n messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature, this);\n messageHandler.on('JpegDecode', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n if (typeof document === 'undefined') {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n\n var _data3 = _slicedToArray(data, 2),\n imageUrl = _data3[0],\n components = _data3[1];\n\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error('Only 3 components or 1 component can be returned'));\n }\n\n return new Promise(function (resolve, reject) {\n var img = new Image();\n\n img.onload = function () {\n var width = img.width;\n var height = img.height;\n var size = width * height;\n var rgbaLength = size * 4;\n var buf = new Uint8ClampedArray(size * components);\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n var tmpCtx = tmpCanvas.getContext('2d');\n tmpCtx.drawImage(img, 0, 0);\n var data = tmpCtx.getImageData(0, 0, width, height).data;\n\n if (components === 3) {\n for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {\n buf[_j] = data[_i2];\n }\n }\n\n resolve({\n data: buf,\n width: width,\n height: height\n });\n };\n\n img.onerror = function () {\n reject(new Error('JpegDecode failed to load image'));\n };\n\n img.src = imageUrl;\n });\n }, this);\n messageHandler.on('FetchBuiltInCMap', function (data) {\n if (this.destroyed) {\n return Promise.reject(new Error('Worker was destroyed'));\n }\n\n return this.CMapReaderFactory.fetch({\n name: data.name\n });\n }, this);\n }\n }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref10) {\n var featureId = _ref10.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise('GetData', null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this13 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this.numPages) {\n return Promise.reject(new Error('Invalid page request'));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise('GetPage', {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this13.destroyed) {\n throw new Error('Transport destroyed');\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.pdfBug);\n _this13.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise('GetPageIndex', {\n ref: ref\n }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise('GetAnnotations', {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise('GetDestinations', null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== 'string') {\n return Promise.reject(new Error('Invalid destination request.'));\n }\n\n return this.messageHandler.sendWithPromise('GetDestination', {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise('GetPageLabels', null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise('GetPageMode', null);\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n return this.messageHandler.sendWithPromise('getOpenActionDestination', null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise('GetAttachments', null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise('GetJavaScript', null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise('GetOutline', null);\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise('GetPermissions', null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this14 = this;\n\n return this.messageHandler.sendWithPromise('GetMetadata', null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this14._fullReader ? _this14._fullReader.filename : null\n };\n });\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise('GetStats', null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this15 = this;\n\n this.messageHandler.sendWithPromise('Cleanup', null).then(function () {\n for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {\n var page = _this15.pageCache[i];\n\n if (page) {\n page.cleanup();\n }\n }\n\n _this15.commonObjs.clear();\n\n _this15.fontLoader.clear();\n });\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, 'loadingParams', {\n disableAutoFetch: params.disableAutoFetch,\n disableCreateObjectURL: params.disableCreateObjectURL,\n disableFontFace: params.disableFontFace,\n nativeImageDecoderSupport: params.nativeImageDecoderSupport\n });\n }\n }]);\n\n return WorkerTransport;\n}();\n\nvar PDFObjects =\n/*#__PURE__*/\nfunction () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n}();\n\nvar RenderTask =\n/*#__PURE__*/\nfunction () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }, {\n key: \"then\",\n value: function then(onFulfilled, onRejected) {\n (0, _util.deprecated)('RenderTask.then method, use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }, {\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }]);\n\n return RenderTask;\n}();\n\nvar InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask =\n /*#__PURE__*/\n function () {\n function InternalRenderTask(_ref11) {\n var callback = _ref11.callback,\n params = _ref11.params,\n objs = _ref11.objs,\n commonObjs = _ref11.commonObjs,\n operatorList = _ref11.operatorList,\n pageNumber = _ref11.pageNumber,\n canvasFactory = _ref11.canvasFactory,\n webGLContext = _ref11.webGLContext,\n _ref11$useRequestAnim = _ref11.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref11$useRequestAnim === void 0 ? false : _ref11$useRequestAnim,\n _ref11$pdfBug = _ref11.pdfBug,\n pdfBug = _ref11$pdfBug === void 0 ? false : _ref11$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this.pageNumber = pageNumber;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== 'undefined';\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics() {\n var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && _global_scope.default.StepperManager && _global_scope.default.StepperManager.enabled) {\n this.stepper = _global_scope.default.StepperManager.create(this.pageNumber - 1);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback(error || new _dom_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this.pageNumber), 'canvas'));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this16 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this16._nextBound().catch(_this16.cancel.bind(_this16));\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this.cancelled) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n}();\n\nvar version = '2.1.266';\nexports.version = version;\nvar build = '81f5835c';\nexports.build = build;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(148);\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g = function () {\n return this || (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) === \"object\" && self;\n}() || Function(\"return this\")();\n\nvar hadRuntime = g.regeneratorRuntime && Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\ng.regeneratorRuntime = undefined;\nmodule.exports = __w_pdfjs_require__(149);\n\nif (hadRuntime) {\n g.regeneratorRuntime = oldRuntime;\n} else {\n try {\n delete g.regeneratorRuntime;\n } catch (e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n!function (global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n var inModule = ( false ? undefined : _typeof(module)) === \"object\";\n var runtime = global.regeneratorRuntime;\n\n if (runtime) {\n if (inModule) {\n module.exports = runtime;\n }\n\n return;\n }\n\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n runtime.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n runtime.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n runtime.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n runtime.AsyncIterator = AsyncIterator;\n\n runtime.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return runtime.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n runtime.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n}(function () {\n return this || (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) === \"object\" && self;\n}() || Function(\"return this\")());\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(150)(module)))\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.loadScript = loadScript;\nexports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_LINK_REL = 'noopener noreferrer nofollow';\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nvar SVG_NS = 'http://www.w3.org/2000/svg';\n\nvar DOMCanvasFactory =\n/*#__PURE__*/\nfunction () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error('invalid canvas size');\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error('canvas is not specified');\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n}();\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nvar DOMCMapReaderFactory =\n/*#__PURE__*/\nfunction () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"fetch\",\n value: function fetch(_ref2) {\n var _this = this;\n\n var name = _ref2.name;\n\n if (!this.baseUrl) {\n return Promise.reject(new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.'));\n }\n\n if (!name) {\n return Promise.reject(new Error('CMap name must be specified.'));\n }\n\n return new Promise(function (resolve, reject) {\n var url = _this.baseUrl + name + (_this.isCompressed ? '.bcmap' : '');\n var request = new XMLHttpRequest();\n request.open('GET', url, true);\n\n if (_this.isCompressed) {\n request.responseType = 'arraybuffer';\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var data;\n\n if (_this.isCompressed && request.response) {\n data = new Uint8Array(request.response);\n } else if (!_this.isCompressed && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (data) {\n resolve({\n cMapData: data,\n compressionType: _this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE\n });\n return;\n }\n }\n\n reject(new Error('Unable to load ' + (_this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url));\n };\n\n request.send(null);\n });\n }\n }]);\n\n return DOMCMapReaderFactory;\n}();\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nvar DOMSVGFactory =\n/*#__PURE__*/\nfunction () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');\n var svg = document.createElementNS(SVG_NS, 'svg:svg');\n svg.setAttribute('version', '1.1');\n svg.setAttribute('width', width + 'px');\n svg.setAttribute('height', height + 'px');\n svg.setAttribute('preserveAspectRatio', 'none');\n svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);\n return svg;\n }\n }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n}();\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nvar PageViewport =\n/*#__PURE__*/\nfunction () {\n function PageViewport(_ref3) {\n var viewBox = _ref3.viewBox,\n scale = _ref3.scale,\n rotation = _ref3.rotation,\n _ref3$offsetX = _ref3.offsetX,\n offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,\n _ref3$offsetY = _ref3.offsetY,\n offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,\n _ref3$dontFlip = _ref3.dontFlip,\n dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$scale = _ref4.scale,\n scale = _ref4$scale === void 0 ? this.scale : _ref4$scale,\n _ref4$rotation = _ref4.rotation,\n rotation = _ref4$rotation === void 0 ? this.rotation : _ref4$rotation,\n _ref4$dontFlip = _ref4.dontFlip,\n dontFlip = _ref4$dontFlip === void 0 ? false : _ref4$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: this.offsetX,\n offsetY: this.offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var tl = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var br = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [tl[0], tl[1], br[0], br[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n}();\n\nexports.PageViewport = PageViewport;\n\nvar RenderingCancelledException = function RenderingCancelledException() {\n function RenderingCancelledException(msg, type) {\n this.message = msg;\n this.type = type;\n }\n\n RenderingCancelledException.prototype = new Error();\n RenderingCancelledException.prototype.name = 'RenderingCancelledException';\n RenderingCancelledException.constructor = RenderingCancelledException;\n return RenderingCancelledException;\n}();\n\nexports.RenderingCancelledException = RenderingCancelledException;\nvar LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\nvar LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];\n\nfunction addLinkAttributes(link) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref5.url,\n target = _ref5.target,\n rel = _ref5.rel;\n\n link.href = link.title = url ? (0, _util.removeNullCharacters)(url) : '';\n\n if (url) {\n var LinkTargetValues = Object.values(LinkTarget);\n var targetIndex = LinkTargetValues.includes(target) ? target : LinkTarget.NONE;\n link.target = LinkTargetStringMap[targetIndex];\n link.rel = typeof rel === 'string' ? rel : DEFAULT_LINK_REL;\n }\n}\n\nfunction getFilenameFromUrl(url) {\n var anchor = url.indexOf('#');\n var query = url.indexOf('?');\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf('/', end) + 1, end);\n}\n\nvar StatTimer =\n/*#__PURE__*/\nfunction () {\n function StatTimer() {\n var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, StatTimer);\n\n this.enabled = !!enable;\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (!this.enabled) {\n return;\n }\n\n if (name in this.started) {\n (0, _util.warn)('Timer is already running for ' + name);\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!this.enabled) {\n return;\n }\n\n if (!(name in this.started)) {\n (0, _util.warn)('Timer has not been started for ' + name);\n }\n\n this.times.push({\n 'name': name,\n 'start': this.started[name],\n 'end': Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var times = this.times;\n var out = '',\n longest = 0;\n\n for (var i = 0, ii = times.length; i < ii; ++i) {\n var name = times[i]['name'];\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n\n for (var _i = 0, _ii = times.length; _i < _ii; ++_i) {\n var span = times[_i];\n var duration = span.end - span.start;\n out += \"\".concat(span['name'].padEnd(longest), \" \").concat(duration, \"ms\\n\");\n }\n\n return out;\n }\n }]);\n\n return StatTimer;\n}();\n\nexports.StatTimer = StatTimer;\n\nvar DummyStatTimer =\n/*#__PURE__*/\nfunction () {\n function DummyStatTimer() {\n _classCallCheck(this, DummyStatTimer);\n\n (0, _util.unreachable)('Cannot initialize DummyStatTimer.');\n }\n\n _createClass(DummyStatTimer, null, [{\n key: \"time\",\n value: function time(name) {}\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {}\n }, {\n key: \"toString\",\n value: function toString() {\n return '';\n }\n }]);\n\n return DummyStatTimer;\n}();\n\nexports.DummyStatTimer = DummyStatTimer;\n\nfunction loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement('script');\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseFontLoader =\n/*#__PURE__*/\nfunction () {\n function BaseFontLoader(_ref) {\n var docId = _ref.docId,\n onUnsupportedFeature = _ref.onUnsupportedFeature;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)('Cannot initialize BaseFontLoader.');\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement('style');\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee(font) {\n var _this = this;\n\n var nativeFontFace, rule;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context.prev = 7;\n _context.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context.next = 18;\n break;\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context.t0;\n\n case 18:\n return _context.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context.next = 25;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context.next = 24;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 24:\n return _context.abrupt(\"return\", new Promise(function (resolve) {\n var request = _this._queueLoadingCallback(resolve);\n\n _this._prepareFontLoadEvent([rule], [font], request);\n }));\n\n case 25:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[7, 12]]);\n }));\n\n function bind(_x) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)('Abstract method `_queueLoadingCallback`.');\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)('Abstract method `_prepareFontLoadEvent`.');\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `isFontLoadingAPISupported`.');\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `isSyncFontLoadingSupported`.');\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)('Abstract method `_loadTestFont`.');\n }\n }]);\n\n return BaseFontLoader;\n}();\n\nvar FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader =\n /*#__PURE__*/\n function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n function GenericFontLoader(docId) {\n var _this2;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId));\n _this2.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this2.loadTestFontId = 0;\n return _this2;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, 'completeRequest() cannot be called twice.');\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n var canvas = document.createElement('canvas');\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext('2d');\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)('Load test font never loaded.');\n callback();\n return;\n }\n\n ctx.font = '30px ' + name;\n ctx.fillText('.', 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n var div = document.createElement('div');\n div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement('span');\n span.textContent = 'Hi';\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof document !== 'undefined' && !!document.fonts;\n\n if (supported && typeof navigator !== 'undefined') {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] < 63) {\n supported = false;\n }\n }\n\n return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === 'undefined') {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, 'isSyncFontLoadingSupported', supported);\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\n return atob('T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA' + 'FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA' + 'ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA' + 'AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1' + 'AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD' + '6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM' + 'AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D' + 'IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA' + 'AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA' + 'AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB' + 'AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY' + 'AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA' + 'AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' + 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA' + 'AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC' + 'AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3' + 'Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj' + 'FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==');\n };\n\n return (0, _util.shadow)(this, '_loadTestFont', getLoadTestFont());\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n}\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n\n};\n\nvar FontFaceObject =\n/*#__PURE__*/\nfunction () {\n function FontFaceObject(translatedData, _ref2) {\n var _ref2$isEvalSupported = _ref2.isEvalSupported,\n isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,\n _ref2$disableFontFace = _ref2.disableFontFace,\n disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,\n _ref2$ignoreErrors = _ref2.ignoreErrors,\n ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,\n _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,\n onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,\n _ref2$fontRegistry = _ref2.fontRegistry,\n fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + '_path_' + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && IsEvalSupportedCached.value) {\n var args,\n js = '';\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(',');\n } else {\n args = '';\n }\n\n js += 'c.' + current.cmd + '(' + args + ');\\n';\n }\n\n return this.compiledGlyphs[character] = new Function('c', 'size', js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {\n current = cmds[_i];\n\n if (current.cmd === 'scale') {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n}();\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar compatibilityParams = Object.create(null);\n{\n var isNodeJS = __w_pdfjs_require__(4);\n\n var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';\n var isIE = /Trident/.test(userAgent);\n var isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkFontFaceAndImage() {\n if (isNodeJS()) {\n compatibilityParams.disableFontFace = true;\n compatibilityParams.nativeImageDecoderSupport = 'none';\n }\n })();\n}\nexports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(155);\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\nvar IsLittleEndianCached = {\n get value() {\n return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());\n }\n\n};\n\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\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._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\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 var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var 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 var 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 var 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 var 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 var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var 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.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var 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}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n --count;\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = '#000000';\n this.strokeColor = '#000000';\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xFFFFFFFF;\n var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = '#000000';\n ctx.fillStyle = '#000000';\n ctx.fillRule = 'nonzero';\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = 'butt';\n ctx.lineJoin = 'miter';\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = 'source-over';\n ctx.font = '10px sans-serif';\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === 'Luminosity') {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing: function beginDrawing(_ref) {\n var transform = _ref.transform,\n viewport = _ref.viewport,\n _ref$transparency = _ref.transparency,\n transparency = _ref$transparency === void 0 ? false : _ref$transparency,\n _ref$background = _ref.background,\n background = _ref$background === void 0 ? null : _ref$background;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || 'rgb(255, 255, 255)';\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function';\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var deps = argsArray[i];\n\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var depObjId = deps[n];\n var common = depObjId[0] === 'g' && depObjId[1] === '_';\n var objsPool = common ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function CanvasGraphics_setRenderingIntent(intent) {},\n setFlatness: function CanvasGraphics_setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'RI':\n this.setRenderingIntent(value);\n break;\n\n case 'FL':\n this.setFlatness(value);\n break;\n\n case 'Font':\n this.setFont(value[0], value[1]);\n break;\n\n case 'CA':\n this.current.strokeAlpha = state[1];\n break;\n\n case 'ca':\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case 'BM':\n this.ctx.globalCompositeOperation = value;\n break;\n\n case 'SMask':\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = 'smaskGroupAt' + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== 'undefined' ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill('evenodd');\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)('Invalid font matrix for font ' + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || 'sans-serif';\n var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar: function paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n var patternFill = current.patternFill && font.data;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var ctx = this.canvasFactory.create(10, 10).context;\n ctx.scale(1.5, 1);\n ctx.fillText('I', 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var _this = this;\n\n var pattern;\n\n if (IR[0] === 'TilingPattern') {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)('Should not call beginInlineImage');\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)('Should not call beginImageData');\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)('TODO: Support non-isolated groups.');\n }\n\n if (group.knockout) {\n (0, _util.warn)('Knockout groups not supported.');\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error('Bounding box is required.');\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = 'groupAt' + this.groupLevel;\n\n if (group.smask) {\n cacheId += '_smask_' + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n var domImage = this.objs.get(objId);\n\n if (!domImage) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId: objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = 'source-in';\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === 'function' && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = 'prescale1';\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)('Unsupported \\'paintXObject\\' command.');\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip('evenodd');\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar ShadingIRs = {};\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var colorStops = raw[2];\n var p0 = raw[3];\n var p1 = raw[4];\n var r0 = raw[5];\n var r1 = raw[6];\n return {\n type: 'Pattern',\n getPattern: function RadialAxial_getPattern(ctx) {\n var grad;\n\n if (type === 'axial') {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === 'radial') {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n};\n\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n var k;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n k = k < 0 ? 0 : k > 1 ? 1 : k;\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case 'lattice':\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case 'triangles':\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error('illegal figure');\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords: coords,\n colors: colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: context\n });\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n return createMeshCanvas;\n}();\n\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var background = raw[8];\n return {\n type: 'Pattern',\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: 'Pattern',\n getPattern: function Dummy_fromIR_getPattern() {\n return 'hotpink';\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = 'Pattern';\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)('TilingType: ' + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n var topLeft = [x0, y0];\n var botRight = [x0 + xstep, y0 + ystep];\n var width = botRight[0] - topLeft[0];\n var height = botRight[1] - topLeft[1];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n width = Math.min(Math.ceil(Math.abs(width * combinedScale[0])), MAX_PATTERN_SIZE);\n height = Math.min(Math.ceil(Math.abs(height * combinedScale[1])), MAX_PATTERN_SIZE);\n var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', width, height, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n this.setScale(width, height, xstep, ystep);\n this.transformToScale(graphics);\n var tmpTranslate = [1, 0, 0, 1, -topLeft[0], -topLeft[1]];\n graphics.transform.apply(graphics, tmpTranslate);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n return tmpCanvas.canvas;\n },\n setScale: function TilingPattern_setScale(width, height, xstep, ystep) {\n this.scale = [width / xstep, height / ystep];\n },\n transformToScale: function TilingPattern_transformToScale(graphics) {\n var scale = this.scale;\n var tmpScale = [scale[0], 0, 0, scale[1], 0, 0];\n graphics.transform.apply(graphics, tmpScale);\n },\n scaleToContext: function TilingPattern_scaleToContext() {\n var scale = this.scale;\n this.ctx.scale(1 / scale[0], 1 / scale[1]);\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n var context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n this.scaleToContext();\n return ctx.createPattern(temporaryPatternCanvas, 'repeat');\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nvar GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = MessageHandler;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction resolveCall(_x, _x2) {\n return _resolveCall.apply(this, arguments);\n}\n\nfunction _resolveCall() {\n _resolveCall = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee(fn, args) {\n var thisArg,\n _args = arguments;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n thisArg = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;\n\n if (fn) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 3:\n return _context.abrupt(\"return\", fn.apply(thisArg, args));\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n return _resolveCall.apply(this, arguments);\n}\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== 'object') {\n return reason;\n }\n\n switch (reason.name) {\n case 'AbortException':\n return new _util.AbortException(reason.message);\n\n case 'MissingPDFException':\n return new _util.MissingPDFException(reason.message);\n\n case 'UnexpectedResponseException':\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.details);\n }\n}\n\nfunction makeReasonSerializable(reason) {\n if (!(reason instanceof Error) || reason instanceof _util.AbortException || reason instanceof _util.MissingPDFException || reason instanceof _util.UnexpectedResponseException || reason instanceof _util.UnknownErrorException) {\n return reason;\n }\n\n return new _util.UnknownErrorException(reason.message, reason.toString());\n}\n\nfunction resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n}\n\nfunction finalize(promise) {\n return Promise.resolve(promise).catch(function () {});\n}\n\nfunction MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n var ah = this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n\n if ('error' in data) {\n callback.reject(wrapReason(data.error));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: makeReasonSerializable(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n };\n\n comObj.addEventListener('message', this._onComObjOnMessage);\n}\n\nMessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = [handler, scope];\n },\n send: function send(actionName, data, transfers) {\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n\n return capability.promise;\n },\n sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n return new _util.ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n isClosed: false\n };\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n });\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\n\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\n var _this3 = this;\n\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var desiredSize = data.desiredSize;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var capability = (0, _util.createPromiseCapability)();\n\n var sendStreamRequest = function sendStreamRequest(_ref) {\n var stream = _ref.stream,\n chunk = _ref.chunk,\n transfers = _ref.transfers,\n success = _ref.success,\n reason = _ref.reason;\n\n _this3.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n streamId: streamId,\n chunk: chunk,\n success: success,\n reason: reason\n }, transfers);\n };\n\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n sendStreamRequest({\n stream: 'enqueue',\n chunk: chunk,\n transfers: transfers\n });\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'close'\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'error',\n reason: reason\n });\n },\n sinkCapability: capability,\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n sendStreamRequest({\n stream: 'start_complete',\n success: true\n });\n }, function (reason) {\n sendStreamRequest({\n stream: 'start_complete',\n success: false,\n reason: reason\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this4 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n\n var sendStreamResponse = function sendStreamResponse(_ref2) {\n var stream = _ref2.stream,\n success = _ref2.success,\n reason = _ref2.reason;\n\n _this4.comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n success: success,\n streamId: streamId,\n reason: reason\n });\n };\n\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n return capability && finalize(capability.promise);\n })).then(function () {\n delete _this4.streamControllers[data.streamId];\n });\n };\n\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: false,\n reason: reason\n });\n });\n break;\n\n case 'enqueue':\n (0, _util.assert)(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n\n break;\n\n case 'close':\n (0, _util.assert)(this.streamControllers[data.streamId], 'close should have stream controller');\n\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n\n case 'error':\n (0, _util.assert)(this.streamControllers[data.streamId], 'error should have stream controller');\n this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\n\n resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: false,\n reason: reason\n });\n });\n this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[data.streamId].isCancelled = true;\n delete this.streamSinks[data.streamId];\n break;\n\n default:\n throw new Error('Unexpected stream case');\n }\n },\n postMessage: function postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n },\n destroy: function destroy() {\n this.comObj.removeEventListener('message', this._onComObjOnMessage);\n }\n};\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _xml_parser = __w_pdfjs_require__(159);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Metadata =\n/*#__PURE__*/\nfunction () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === 'string', 'Metadata: input is not a string');\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadata = Object.create(null);\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^([^<]+)/, '').replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case 'amp':\n return '&';\n\n case 'apos':\n return '\\'';\n\n case 'gt':\n return '>';\n\n case 'lt':\n return '<';\n\n case 'quot':\n return '\\\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = '';\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += '&#x' + (0x10000 + code).toString(16).substring(1) + ';';\n }\n }\n\n return '>' + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== 'rdf:description') {\n continue;\n }\n\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== '#text') {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n this._metadata[name] = entry.textContent.trim();\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n var data = this._metadata[name];\n return typeof data !== 'undefined' ? data : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return this._metadata;\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return typeof this._metadata[name] !== 'undefined';\n }\n }]);\n\n return Metadata;\n}();\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n var ch = s[index];\n return ch === ' ' || ch === '\\n' || ch === '\\r' || ch === '\\t';\n}\n\nfunction isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar XMLParserBase =\n/*#__PURE__*/\nfunction () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this = this;\n\n return s.replace(/&([^;]+);/g, function (all, entity) {\n if (entity.substring(0, 2) === '#x') {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === '#') {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case 'lt':\n return '<';\n\n case 'gt':\n return '>';\n\n case 'amp':\n return '&';\n\n case 'quot':\n return '\\\"';\n }\n\n return _this.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var pos = start,\n name,\n attributes = [];\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n\n name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== '>' && s[pos] !== '/' && s[pos] !== '?') {\n skipWs();\n var attrName = '',\n attrValue = '';\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '=') {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== '=') {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\\\"' && attrEndChar !== '\\'') {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: \"_parseProcessingInstruction\",\n value: function _parseProcessingInstruction(s, start) {\n var pos = start,\n name,\n value;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {\n ++pos;\n }\n\n name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== '?' || s[pos + 1] !== '>')) {\n ++pos;\n }\n\n value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === '<') {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case '/':\n ++j;\n q = s.indexOf('>', j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case '?':\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case '!':\n if (s.substring(j + 1, j + 3) === '--') {\n q = s.indexOf('-->', j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === '[CDATA[') {\n q = s.indexOf(']]>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === 'DOCTYPE') {\n var q2 = s.indexOf('[', j + 8);\n var complexDoctype = false;\n q = s.indexOf('>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(']>', j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === '/>') {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== '>') {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== '<') {\n j++;\n }\n\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n}();\n\nvar SimpleDOMNode =\n/*#__PURE__*/\nfunction () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, 'parentNode', {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }, {\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || '';\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join('');\n }\n }]);\n\n return SimpleDOMNode;\n}();\n\nvar SimpleXMLParser =\n/*#__PURE__*/\nfunction (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n function SimpleXMLParser() {\n var _this2;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(SimpleXMLParser).call(this));\n _this2._currentFragment = null;\n _this2._stack = null;\n _this2._errorCode = XMLParserErrorCode.NoError;\n return _this2;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case 'apos':\n return '\\'';\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode('#text', text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode('#text', text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar PDFDataTransportStream = function PDFDataTransportStreamClosure() {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this = this;\n\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded) {\n _this._onProgress({\n loaded: loaded\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n PDFDataTransportStream.prototype = {\n _onReceiveData: function PDFDataTransportStream_onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found);\n }\n },\n _onProgress: function PDFDataTransportStream_onDataProgress(evt) {\n if (this._rangeReaders.length > 0) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n }\n },\n _removeRangeReader: function PDFDataTransportStream_removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFDataTransportStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks);\n },\n getRangeReader: function PDFDataTransportStream_getRangeReader(begin, end) {\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n },\n cancelAllRequests: function PDFDataTransportStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n };\n\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n this._stream = stream;\n this._done = false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n PDFDataTransportStreamReader.prototype = {\n _enqueue: function PDFDataTransportStreamReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n return;\n }\n\n this._queuedChunks.push(chunk);\n },\n\n get headersReady() {\n return this._headersReady;\n },\n\n get filename() {\n return this._filename;\n },\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n },\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n },\n\n get contentLength() {\n return this._stream._contentLength;\n },\n\n read: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }(),\n cancel: function PDFDataTransportStreamReader_cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n };\n\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n PDFDataTransportStreamRangeReader.prototype = {\n _enqueue: function PDFDataTransportStreamRangeReader_enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n },\n\n get isStreamingSupported() {\n return false;\n },\n\n read: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!this._queuedChunk) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }(),\n cancel: function PDFDataTransportStreamRangeReader_cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n };\n return PDFDataTransportStream;\n}();\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WebGLContext =\n/*#__PURE__*/\nfunction () {\n function WebGLContext(_ref) {\n var _ref$enable = _ref.enable,\n enable = _ref$enable === void 0 ? false : _ref$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"composeSMask\",\n value: function composeSMask(_ref2) {\n var layer = _ref2.layer,\n mask = _ref2.mask,\n properties = _ref2.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n backgroundColor = _ref3.backgroundColor,\n figures = _ref3.figures,\n context = _ref3.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }, {\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, 'isEnabled', enabled);\n }\n }]);\n\n return WebGLContext;\n}();\n\nexports.WebGLContext = WebGLContext;\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error('Error during shader compilation: ' + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error('Error during program linking: ' + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement('canvas');\n currentGL = currentCanvas.getContext('webgl', {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } ';\n var smaskFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } ';\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');\n cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');\n var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');\n var texLayerLocation = gl.getUniformLocation(program, 'u_image');\n var texMaskLocation = gl.getUniformLocation(program, 'u_mask');\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = '\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } ';\n var figuresFragmentShaderCode = '\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } ';\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');\n cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');\n cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');\n cache.positionLocation = gl.getAttribLocation(program, 'a_position');\n cache.colorLocation = gl.getAttribLocation(program, 'a_color');\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case 'lattice':\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case 'triangles':\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case 'lattice':\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case 'triangles':\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n}();\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n var styleBuf = ['left: ', 0, 'px; top: ', 0, 'px; font-size: ', 0, 'px; font-family: ', '', ';'];\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement('span');\n var textDivProperties = {\n style: null,\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left;\n var top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n styleBuf[1] = left;\n styleBuf[3] = top;\n styleBuf[5] = fontHeight;\n styleBuf[7] = style.fontFamily;\n textDivProperties.style = styleBuf.join('');\n textDiv.setAttribute('style', textDivProperties.style);\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n if (geom.str.length > 1) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, i) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n\n var findPositiveMin = function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n };\n\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref) {\n var textContent = _ref.textContent,\n textContentStream = _ref.textContentStream,\n container = _ref.container,\n viewport = _ref.viewport,\n textDivs = _ref.textDivs,\n textContentItemsStr = _ref.textContentItemsStr,\n enhanceTextSelection = _ref.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(_global_scope.default.FontInspector && _global_scope.default.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n if (this._reader) {\n this._reader.cancel(new _util.AbortException('text layer task cancelled'));\n\n this._reader = null;\n }\n\n this._canceled = true;\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject('canceled');\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textLayerFrag = this._container;\n\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var fontSize = textDiv.style.fontSize;\n var fontFamily = textDiv.style.fontFamily;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = fontSize + ' ' + fontFamily;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n var width = this._layoutTextCtx.measureText(textDiv.textContent).width;\n\n var transform = '';\n\n if (textDivProperties.canvasWidth !== 0 && width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n textDivProperties.originalTransform = transform;\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n textLayerFrag.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement('canvas');\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext('2d', {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + ' parameters specified.');\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this);\n } else {\n _this._renderTimer = setTimeout(function () {\n render(_this);\n _this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProperties = this._textDivProperties.get(div);\n\n if (divProperties.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n var transform = '',\n padding = '';\n\n if (divProperties.scale !== 1) {\n transform = 'scaleX(' + divProperties.scale + ')';\n }\n\n if (divProperties.angle !== 0) {\n transform = 'rotate(' + divProperties.angle + 'deg) ' + transform;\n }\n\n if (divProperties.paddingLeft !== 0) {\n padding += ' padding-left: ' + divProperties.paddingLeft / divProperties.scale + 'px;';\n transform += ' translateX(' + -divProperties.paddingLeft / divProperties.scale + 'px)';\n }\n\n if (divProperties.paddingTop !== 0) {\n padding += ' padding-top: ' + divProperties.paddingTop + 'px;';\n transform += ' translateY(' + -divProperties.paddingTop + 'px)';\n }\n\n if (divProperties.paddingRight !== 0) {\n padding += ' padding-right: ' + divProperties.paddingRight / divProperties.scale + 'px;';\n }\n\n if (divProperties.paddingBottom !== 0) {\n padding += ' padding-bottom: ' + divProperties.paddingBottom + 'px;';\n }\n\n if (padding !== '') {\n div.setAttribute('style', divProperties.style + padding);\n }\n\n if (transform !== '') {\n div.style.transform = transform;\n }\n } else {\n div.style.padding = 0;\n div.style.transform = divProperties.originalTransform || '';\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _dom_utils = __w_pdfjs_require__(151);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationElementFactory =\n/*#__PURE__*/\nfunction () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotationElement(parameters);\n\n case 'Btn':\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case 'Ch':\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n}();\n\nvar AnnotationElement =\n/*#__PURE__*/\nfunction () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement('section');\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute('data-annotation-id', data.id);\n\n var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = 'matrix(' + viewport.transform.join(',') + ')';\n container.style.transformOrigin = -rect[0] + 'px ' + -rect[1] + 'px';\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = data.borderStyle.width + 'px';\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = 'solid';\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = 'dashed';\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)('Unimplemented border style: beveled');\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)('Unimplemented border style: inset');\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = 'solid';\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = rect[0] + 'px';\n container.style.top = rect[1] + 'px';\n container.style.width = width + 'px';\n container.style.height = height + 'px';\n return container;\n }\n }, {\n key: \"_createPopup\",\n value: function _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement('div');\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');\n }\n }]);\n\n return AnnotationElement;\n}();\n\nvar LinkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'linkAnnotation';\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement('a');\n (0, _dom_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _dom_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel\n });\n\n if (!data.url) {\n if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = 'internalLink';\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this2 = this;\n\n link.href = this.linkService.getAnchorUrl('');\n\n link.onclick = function () {\n _this2.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = 'internalLink';\n }\n }]);\n\n return LinkAnnotationElement;\n}(AnnotationElement);\n\nvar TextAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'textAnnotation';\n var image = document.createElement('img');\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';\n image.alt = '[{{type}} Annotation]';\n image.dataset.l10nId = 'text_annotation_type';\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n}(AnnotationElement);\n\nvar WidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotationElement).apply(this, arguments));\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n}(AnnotationElement);\n\nvar TextWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = ['left', 'center', 'right'];\n this.container.className = 'textWidgetAnnotation';\n var element = null;\n\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement('textarea');\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement('input');\n element.type = 'text';\n element.setAttribute('value', this.data.fieldValue);\n }\n\n element.disabled = this.data.readOnly;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var combWidth = fieldWidth / this.data.maxLen;\n element.classList.add('comb');\n element.style.letterSpacing = 'calc(' + combWidth + 'px - 1ch)';\n }\n } else {\n element = document.createElement('div');\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = 'middle';\n element.style.display = 'table-cell';\n var font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = this.data.fontSize + 'px';\n style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';\n\n if (!font) {\n return;\n }\n\n style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';\n style.fontStyle = font.italic ? 'italic' : 'normal';\n var fontFamily = font.loadedName ? '\"' + font.loadedName + '\", ' : '';\n var fallbackName = font.fallbackName || 'Helvetica, sans-serif';\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar CheckboxWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(CheckboxWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation checkBox';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'checkbox';\n\n if (this.data.fieldValue && this.data.fieldValue !== 'Off') {\n element.setAttribute('checked', true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar RadioButtonWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(RadioButtonWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'buttonWidgetAnnotation radioButton';\n var element = document.createElement('input');\n element.disabled = this.data.readOnly;\n element.type = 'radio';\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute('checked', true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PushButtonWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this, arguments));\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = 'buttonWidgetAnnotation pushButton';\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n}(LinkAnnotationElement);\n\nvar ChoiceWidgetAnnotationElement =\n/*#__PURE__*/\nfunction (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'choiceWidgetAnnotation';\n var selectElement = document.createElement('select');\n selectElement.disabled = this.data.readOnly;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n for (var i = 0, ii = this.data.options.length; i < ii; i++) {\n var option = this.data.options[i];\n var optionElement = document.createElement('option');\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute('selected', true);\n }\n\n selectElement.appendChild(optionElement);\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n}(WidgetAnnotationElement);\n\nvar PopupAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotationElement).call(this, parameters, isRenderable));\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = ['Line', 'Square', 'Circle', 'PolyLine', 'Polygon', 'Ink'];\n this.container.className = 'popupAnnotation';\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = '[data-annotation-id=\"' + this.data.parentId + '\"]';\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n contents: this.data.contents\n });\n var parentLeft = parseFloat(parentElement.style.left);\n var parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = -(parentLeft + parentWidth) + 'px -' + parentElement.style.top;\n this.container.style.left = parentLeft + parentWidth + 'px';\n this.container.appendChild(popup.render());\n return this.container;\n }\n }]);\n\n return PopupAnnotationElement;\n}(AnnotationElement);\n\nvar PopupElement =\n/*#__PURE__*/\nfunction () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement('div');\n wrapper.className = 'popupWrapper';\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute('hidden', true);\n var popup = document.createElement('div');\n popup.className = 'popup';\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var contents = this._formatContents(this.contents);\n\n var title = document.createElement('h1');\n title.textContent = this.title;\n this.trigger.addEventListener('click', this._toggle.bind(this));\n this.trigger.addEventListener('mouseover', this._show.bind(this, false));\n this.trigger.addEventListener('mouseout', this._hide.bind(this, false));\n popup.addEventListener('click', this._hide.bind(this, true));\n popup.appendChild(title);\n popup.appendChild(contents);\n wrapper.appendChild(popup);\n return wrapper;\n }\n }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement('p');\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement('br'));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute('hidden')) {\n this.hideElement.removeAttribute('hidden');\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {\n this.hideElement.setAttribute('hidden', true);\n this.container.style.zIndex -= 1;\n }\n }\n }]);\n\n return PopupElement;\n}();\n\nvar LineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement5) {\n _inherits(LineAnnotationElement, _AnnotationElement5);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'lineAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var line = this.svgFactory.createElement('svg:line');\n line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute('stroke-width', data.borderStyle.width);\n line.setAttribute('stroke', 'transparent');\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n}(AnnotationElement);\n\nvar SquareAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement6) {\n _inherits(SquareAnnotationElement, _AnnotationElement6);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'squareAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var square = this.svgFactory.createElement('svg:rect');\n square.setAttribute('x', borderWidth / 2);\n square.setAttribute('y', borderWidth / 2);\n square.setAttribute('width', width - borderWidth);\n square.setAttribute('height', height - borderWidth);\n square.setAttribute('stroke-width', borderWidth);\n square.setAttribute('stroke', 'transparent');\n square.setAttribute('fill', 'none');\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n}(AnnotationElement);\n\nvar CircleAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement7) {\n _inherits(CircleAnnotationElement, _AnnotationElement7);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'circleAnnotation';\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var circle = this.svgFactory.createElement('svg:ellipse');\n circle.setAttribute('cx', width / 2);\n circle.setAttribute('cy', height / 2);\n circle.setAttribute('rx', width / 2 - borderWidth / 2);\n circle.setAttribute('ry', height / 2 - borderWidth / 2);\n circle.setAttribute('stroke-width', borderWidth);\n circle.setAttribute('stroke', 'transparent');\n circle.setAttribute('fill', 'none');\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n}(AnnotationElement);\n\nvar PolylineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement8) {\n _inherits(PolylineAnnotationElement, _AnnotationElement8);\n\n function PolylineAnnotationElement(parameters) {\n var _this3;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).call(this, parameters, isRenderable, true));\n _this3.containerClassName = 'polylineAnnotation';\n _this3.svgElementName = 'svg:polyline';\n return _this3;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var vertices = data.vertices;\n var points = [];\n\n for (var i = 0, ii = vertices.length; i < ii; i++) {\n var x = vertices[i].x - data.rect[0];\n var y = data.rect[3] - vertices[i].y;\n points.push(x + ',' + y);\n }\n\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n}(AnnotationElement);\n\nvar PolygonAnnotationElement =\n/*#__PURE__*/\nfunction (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n function PolygonAnnotationElement(parameters) {\n var _this4;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, parameters));\n _this4.containerClassName = 'polygonAnnotation';\n _this4.svgElementName = 'svg:polygon';\n return _this4;\n }\n\n return PolygonAnnotationElement;\n}(PolylineAnnotationElement);\n\nvar InkAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement9) {\n _inherits(InkAnnotationElement, _AnnotationElement9);\n\n function InkAnnotationElement(parameters) {\n var _this5;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).call(this, parameters, isRenderable, true));\n _this5.containerClassName = 'inkAnnotation';\n _this5.svgElementName = 'svg:polyline';\n return _this5;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var inkLists = data.inkLists;\n\n for (var i = 0, ii = inkLists.length; i < ii; i++) {\n var inkList = inkLists[i];\n var points = [];\n\n for (var j = 0, jj = inkList.length; j < jj; j++) {\n var x = inkList[j].x - data.rect[0];\n var y = data.rect[3] - inkList[j].y;\n points.push(x + ',' + y);\n }\n\n points = points.join(' ');\n var borderWidth = data.borderStyle.width;\n var polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute('points', points);\n polyline.setAttribute('stroke-width', borderWidth);\n polyline.setAttribute('stroke', 'transparent');\n polyline.setAttribute('fill', 'none');\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n}(AnnotationElement);\n\nvar HighlightAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement10) {\n _inherits(HighlightAnnotationElement, _AnnotationElement10);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'highlightAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n}(AnnotationElement);\n\nvar UnderlineAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement11) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement11);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'underlineAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n}(AnnotationElement);\n\nvar SquigglyAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement12) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement12);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'squigglyAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n}(AnnotationElement);\n\nvar StrikeOutAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement13) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement13);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'strikeoutAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n}(AnnotationElement);\n\nvar StampAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement14) {\n _inherits(StampAnnotationElement, _AnnotationElement14);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotationElement).call(this, parameters, isRenderable, true));\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'stampAnnotation';\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n}(AnnotationElement);\n\nvar FileAttachmentAnnotationElement =\n/*#__PURE__*/\nfunction (_AnnotationElement15) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement15);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this6;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).call(this, parameters, true));\n var _this6$data$file = _this6.data.file,\n filename = _this6$data$file.filename,\n content = _this6$data$file.content;\n _this6.filename = (0, _dom_utils.getFilenameFromUrl)(filename);\n _this6.content = content;\n\n if (_this6.linkService.eventBus) {\n _this6.linkService.eventBus.dispatch('fileattachmentannotation', {\n source: _assertThisInitialized(_assertThisInitialized(_this6)),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this6;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = 'fileAttachmentAnnotation';\n var trigger = document.createElement('div');\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener('dblclick', this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)('Download cannot be started due to unavailable download manager');\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, '');\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n}(AnnotationElement);\n\nvar AnnotationLayer =\n/*#__PURE__*/\nfunction () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n\n if (!data) {\n continue;\n }\n\n var element = AnnotationElementFactory.create({\n data: data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || '',\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _dom_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n for (var i = 0, ii = parameters.annotations.length; i < ii; i++) {\n var data = parameters.annotations[i];\n var element = parameters.div.querySelector('[data-annotation-id=\"' + data.id + '\"]');\n\n if (element) {\n element.style.transform = 'matrix(' + parameters.viewport.transform.join(',') + ')';\n }\n }\n\n parameters.div.removeAttribute('hidden');\n }\n }]);\n\n return AnnotationLayer;\n}();\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _dom_utils = __w_pdfjs_require__(151);\n\nvar _is_node = _interopRequireDefault(__w_pdfjs_require__(4));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SVGGraphics = function SVGGraphics() {\n throw new Error('Not implemented: SVGGraphics');\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n var SVG_DEFAULTS = {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fillColor: '#000000'\n };\n\n var convertImgDataToPng = function convertImgDataToPngClosure() {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedB88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var i = start; i < end; i++) {\n var a = (crc ^ data[i]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n var crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!(0, _is_node.default)()) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = new Buffer(literals);\n }\n\n var output = require('zlib').deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: ' + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xFFFF;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n var adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error('invalid format');\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n var y, i;\n\n for (y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (y = 0; y < height; y++) {\n offsetLiterals++;\n\n for (i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xFF;\n }\n }\n }\n\n var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk('IHDR', ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk('IDATA', idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk('IEND', new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState = function SVGExtraStateClosure() {\n function SVGExtraState() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = '#000000';\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = '';\n this.lineCap = '';\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = '';\n }\n\n SVGExtraState.prototype = {\n clone: function SVGExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function SVGExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return SVGExtraState;\n }();\n\n exports.SVGGraphics = SVGGraphics = function SVGGraphicsClosure() {\n function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n var opListLen = opList.length;\n\n for (var x = 0; x < opListLen; x++) {\n if (opList[x].fn === 'save') {\n opTree.push({\n 'fnId': 92,\n 'fn': 'group',\n 'items': []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opList[x].fn === 'restore') {\n opTree = tmp.pop();\n } else {\n opTree.push(opList[x]);\n }\n }\n\n return opTree;\n }\n\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== '0') {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === '0');\n\n return s.substring(0, s[i] === '.' ? i : i + 1);\n }\n\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return '';\n }\n\n return 'scale(' + pf(m[0]) + ' ' + pf(m[3]) + ')';\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var a = Math.acos(m[0]) * 180 / Math.PI;\n return 'rotate(' + pf(a) + ')';\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return 'translate(' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n }\n\n return 'matrix(' + pf(m[0]) + ' ' + pf(m[1]) + ' ' + pf(m[2]) + ' ' + pf(m[3]) + ' ' + pf(m[4]) + ' ' + pf(m[5]) + ')';\n }\n\n function SVGGraphics(commonObjs, objs, forceDataSchema) {\n this.svgFactory = new _dom_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n }\n\n var XML_NS = 'http://www.w3.org/XML/1998/namespace';\n var XLINK_NS = 'http://www.w3.org/1999/xlink';\n var LINE_CAP_STYLES = ['butt', 'round', 'square'];\n var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];\n var clipCount = 0;\n var maskCount = 0;\n SVGGraphics.prototype = {\n save: function SVGGraphics_save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n },\n restore: function SVGGraphics_restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n },\n group: function SVGGraphics_group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n },\n loadDependencies: function SVGGraphics_loadDependencies(operatorList) {\n var _this = this;\n\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0; i < fnArrayLen; i++) {\n if (_util.OPS.dependency === fnArray[i]) {\n var deps = argsArray[i];\n\n for (var n = 0, nn = deps.length; n < nn; n++) {\n var obj = deps[n];\n var common = obj.substring(0, 2) === 'g_';\n var promise;\n\n if (common) {\n promise = new Promise(function (resolve) {\n _this.commonObjs.get(obj, resolve);\n });\n } else {\n promise = new Promise(function (resolve) {\n _this.objs.get(obj, resolve);\n });\n }\n\n this.current.dependencies.push(promise);\n }\n }\n }\n\n return Promise.all(this.current.dependencies);\n },\n transform: function SVGGraphics_transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n },\n getSVG: function SVGGraphics_getSVG(operatorList, viewport) {\n var _this2 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this2.transformMatrix = _util.IDENTITY_MATRIX;\n\n var opTree = _this2.convertOpList(operatorList);\n\n _this2.executeOpTree(opTree);\n\n return svgElement;\n });\n },\n convertOpList: function SVGGraphics_convertOpList(operatorList) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var fnArrayLen = fnArray.length;\n var REVOPS = [];\n var opList = [];\n\n for (var op in _util.OPS) {\n REVOPS[_util.OPS[op]] = op;\n }\n\n for (var x = 0; x < fnArrayLen; x++) {\n var fnId = fnArray[x];\n opList.push({\n 'fnId': fnId,\n 'fn': REVOPS[fnId],\n 'args': argsArray[x]\n });\n }\n\n return opListToTree(opList);\n },\n executeOpTree: function SVGGraphics_executeOpTree(opTree) {\n var opTreeLen = opTree.length;\n\n for (var x = 0; x < opTreeLen; x++) {\n var fn = opTree[x].fn;\n var fnId = opTree[x].fnId;\n var args = opTree[x].args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip('nonzero');\n break;\n\n case _util.OPS.eoClip:\n this.clip('evenodd');\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTree[x].items);\n break;\n\n default:\n (0, _util.warn)('Unimplemented operator ' + fn);\n break;\n }\n }\n },\n setWordSpacing: function SVGGraphics_setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n },\n setCharSpacing: function SVGGraphics_setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n },\n nextLine: function SVGGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n setTextMatrix: function SVGGraphics_setTextMatrix(a, b, c, d, e, f) {\n var current = this.current;\n this.current.textMatrix = this.current.lineMatrix = [a, b, c, d, e, f];\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.txtElement = this.svgFactory.createElement('svg:text');\n current.txtElement.appendChild(current.tspan);\n },\n beginText: function SVGGraphics_beginText() {\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.lineMatrix = _util.IDENTITY_MATRIX;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.txtElement = this.svgFactory.createElement('svg:text');\n this.current.txtgrp = this.svgFactory.createElement('svg:g');\n this.current.xcoords = [];\n },\n moveText: function SVGGraphics_moveText(x, y) {\n var current = this.current;\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n },\n showText: function SVGGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n\n var width = glyph.width;\n var character = glyph.fontChar;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var charWidth = width * widthAdvanceScale + spacing * fontDirection;\n\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n\n current.xcoords.push(current.x + x * textHScale);\n current.tspan.textContent += character;\n x += charWidth;\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);\n current.tspan.setAttributeNS(null, 'font-size', pf(current.fontSize) + 'px');\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, 'fill', current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, 'fill', 'transparent');\n } else {\n current.tspan.setAttributeNS(null, 'fill', 'none');\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._setStrokeAttributes(current.tspan);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, 'transform', pm(textMatrix) + ' scale(1, -1)');\n current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n },\n setLeadingMoveText: function SVGGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n addFontStyle: function SVGGraphics_addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement('svg:style');\n this.cssStyle.setAttributeNS(null, 'type', 'text/css');\n this.defs.appendChild(this.cssStyle);\n }\n\n var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += '@font-face { font-family: \"' + fontObj.loadedName + '\";' + ' src: url(' + url + '); }\\n';\n },\n setFont: function SVGGraphics_setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n this.current.font = fontObj;\n\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';\n var italic = fontObj.italic ? 'italic' : 'normal';\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement('svg:tspan');\n current.tspan.setAttributeNS(null, 'y', pf(-current.y));\n current.xcoords = [];\n },\n endText: function endText() {\n var current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip('nonzero');\n this.endPath();\n }\n },\n setLineWidth: function SVGGraphics_setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n },\n setLineCap: function SVGGraphics_setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function SVGGraphics_setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function SVGGraphics_setMiterLimit(limit) {\n this.current.miterLimit = limit;\n },\n setStrokeAlpha: function SVGGraphics_setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n },\n setStrokeRGBColor: function SVGGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.current.strokeColor = color;\n },\n setFillAlpha: function SVGGraphics_setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n },\n setFillRGBColor: function SVGGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.current.fillColor = color;\n this.current.tspan = this.svgFactory.createElement('svg:tspan');\n this.current.xcoords = [];\n },\n setDash: function SVGGraphics_setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n },\n constructPath: function SVGGraphics_constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n current.path = this.svgFactory.createElement('svg:path');\n var d = [];\n var opLength = ops.length;\n\n for (var i = 0, j = 0; i < opLength; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n var xw = x + width;\n var yh = y + height;\n d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push('M', pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push('L', pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push('Z');\n break;\n }\n }\n\n current.path.setAttributeNS(null, 'd', d.join(' '));\n current.path.setAttributeNS(null, 'fill', 'none');\n\n this._ensureTransformGroup().appendChild(current.path);\n\n current.element = current.path;\n current.setCurrentPoint(x, y);\n },\n endPath: function SVGGraphics_endPath() {\n if (!this.pendingClip) {\n return;\n }\n\n var current = this.current;\n var clipId = 'clippath' + clipCount;\n clipCount++;\n var clipPath = this.svgFactory.createElement('svg:clipPath');\n clipPath.setAttributeNS(null, 'id', clipId);\n clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === 'evenodd') {\n clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');\n } else {\n clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, 'clip-path', current.activeClipUrl);\n }\n\n current.activeClipUrl = 'url(#' + clipId + ')';\n this.tgrp = null;\n },\n clip: function SVGGraphics_clip(type) {\n this.pendingClip = type;\n },\n closePath: function SVGGraphics_closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = current.path.getAttributeNS(null, 'd');\n d += 'Z';\n current.path.setAttributeNS(null, 'd', d);\n }\n },\n setLeading: function SVGGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setTextRise: function SVGGraphics_setTextRise(textRise) {\n this.current.textRise = textRise;\n },\n setTextRenderingMode: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n },\n setHScale: function SVGGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setGState: function SVGGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case 'LW':\n this.setLineWidth(value);\n break;\n\n case 'LC':\n this.setLineCap(value);\n break;\n\n case 'LJ':\n this.setLineJoin(value);\n break;\n\n case 'ML':\n this.setMiterLimit(value);\n break;\n\n case 'D':\n this.setDash(value[0], value[1]);\n break;\n\n case 'Font':\n this.setFont(value);\n break;\n\n case 'CA':\n this.setStrokeAlpha(value);\n break;\n\n case 'ca':\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)('Unimplemented graphic state ' + key);\n break;\n }\n }\n },\n fill: function SVGGraphics_fill() {\n var current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, 'fill', current.fillColor);\n current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);\n this.endPath();\n }\n },\n stroke: function SVGGraphics_stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, 'fill', 'none');\n this.endPath();\n }\n },\n _setStrokeAttributes: function _setStrokeAttributes(element) {\n var current = this.current;\n element.setAttributeNS(null, 'stroke', current.strokeColor);\n element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);\n element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));\n element.setAttributeNS(null, 'stroke-linecap', current.lineCap);\n element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);\n element.setAttributeNS(null, 'stroke-width', pf(current.lineWidth) + 'px');\n element.setAttributeNS(null, 'stroke-dasharray', current.dashArray.map(pf).join(' '));\n element.setAttributeNS(null, 'stroke-dashoffset', pf(current.dashPhase) + 'px');\n },\n eoFill: function SVGGraphics_eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fill();\n },\n fillStroke: function SVGGraphics_fillStroke() {\n this.stroke();\n this.fill();\n },\n eoFillStroke: function SVGGraphics_eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');\n }\n\n this.fillStroke();\n },\n closeStroke: function SVGGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n closeFillStroke: function SVGGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n },\n paintSolidColorImageMask: function SVGGraphics_paintSolidColorImageMask() {\n var current = this.current;\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', '1px');\n rect.setAttributeNS(null, 'height', '1px');\n rect.setAttributeNS(null, 'fill', current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n },\n paintJpegXObject: function SVGGraphics_paintJpegXObject(objId, w, h) {\n var imgObj = this.objs.get(objId);\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);\n imgEl.setAttributeNS(null, 'width', pf(w));\n imgEl.setAttributeNS(null, 'height', pf(h));\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-h));\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / w) + ' ' + pf(-1 / h) + ')');\n\n this._ensureTransformGroup().appendChild(imgEl);\n },\n paintImageXObject: function SVGGraphics_paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)('Dependent image isn\\'t ready yet');\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintInlineImageXObject: function SVGGraphics_paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', '0');\n cliprect.setAttributeNS(null, 'y', '0');\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n var imgEl = this.svgFactory.createElement('svg:image');\n imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);\n imgEl.setAttributeNS(null, 'x', '0');\n imgEl.setAttributeNS(null, 'y', pf(-height));\n imgEl.setAttributeNS(null, 'width', pf(width) + 'px');\n imgEl.setAttributeNS(null, 'height', pf(height) + 'px');\n imgEl.setAttributeNS(null, 'transform', 'scale(' + pf(1 / width) + ' ' + pf(-1 / height) + ')');\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n },\n paintImageMaskXObject: function SVGGraphics_paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = 'mask' + maskCount++;\n var mask = this.svgFactory.createElement('svg:mask');\n mask.setAttributeNS(null, 'id', current.maskId);\n var rect = this.svgFactory.createElement('svg:rect');\n rect.setAttributeNS(null, 'x', '0');\n rect.setAttributeNS(null, 'y', '0');\n rect.setAttributeNS(null, 'width', pf(width));\n rect.setAttributeNS(null, 'height', pf(height));\n rect.setAttributeNS(null, 'fill', fillColor);\n rect.setAttributeNS(null, 'mask', 'url(#' + current.maskId + ')');\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n },\n paintFormXObjectBegin: function SVGGraphics_paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var cliprect = this.svgFactory.createElement('svg:rect');\n cliprect.setAttributeNS(null, 'x', bbox[0]);\n cliprect.setAttributeNS(null, 'y', bbox[1]);\n cliprect.setAttributeNS(null, 'width', pf(width));\n cliprect.setAttributeNS(null, 'height', pf(height));\n this.current.element = cliprect;\n this.clip('nonzero');\n this.endPath();\n }\n },\n paintFormXObjectEnd: function SVGGraphics_paintFormXObjectEnd() {},\n _initialize: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement('svg:defs');\n svg.appendChild(definitions);\n this.defs = definitions;\n var rootGroup = this.svgFactory.createElement('svg:g');\n rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n },\n _ensureClipGroup: function SVGGraphics_ensureClipGroup() {\n if (!this.current.clipGroup) {\n var clipGroup = this.svgFactory.createElement('svg:g');\n clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n },\n _ensureTransformGroup: function SVGGraphics_ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement('svg:g');\n this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n };\n return SVGGraphics;\n }();\n}\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar fs = require('fs');\n\nvar http = require('http');\n\nvar https = require('https');\n\nvar url = require('url');\n\nvar fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === 'file:' || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = 'file:';\n }\n\n return parsedUrl;\n}\n\nvar PDFNodeStream =\n/*#__PURE__*/\nfunction () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';\n this.isFsUrl = this.url.protocol === 'file:';\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequest = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFNodeStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequest);\n this._fullRequest = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequest;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequest) {\n this._fullRequest.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNodeStream;\n}();\n\nexports.PDFNodeStream = PDFNodeStream;\n\nvar BaseFullReader =\n/*#__PURE__*/\nfunction () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(BaseFullReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee() {\n var chunk, buffer;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this._done = true;\n\n _this._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException('streaming is disabled'));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseFullReader;\n}();\n\nvar BaseRangeReader =\n/*#__PURE__*/\nfunction () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee2() {\n var chunk, buffer;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context2.next = 4;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context2.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context2.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context2.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this2 = this;\n\n this._readableStream = readableStream;\n readableStream.on('readable', function () {\n _this2._readCapability.resolve();\n });\n readableStream.on('end', function () {\n readableStream.destroy();\n _this2._done = true;\n\n _this2._readCapability.resolve();\n });\n readableStream.on('error', function (reason) {\n _this2._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return BaseRangeReader;\n}();\n\nfunction createRequestOptions(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: 'GET',\n headers: headers\n };\n}\n\nvar PDFNodeStreamFullReader =\n/*#__PURE__*/\nfunction (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this3;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFullReader).call(this, stream));\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this3._url, \"\\\".\"));\n _this3._storedError = error;\n\n _this3._headersCapability.reject(error);\n\n return;\n }\n\n _this3._headersCapability.resolve();\n\n _this3._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this3._readableStream.headers[name.toLowerCase()];\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this3._rangeChunkSize,\n disableRange: _this3._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this3._isRangeSupported = allowRangeRequests;\n _this3._contentLength = suggestedLength || _this3._contentLength;\n _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this3._request = null;\n\n if (_this3._url.protocol === 'http:') {\n _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n } else {\n _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);\n }\n\n _this3._request.on('error', function (reason) {\n _this3._storedError = reason;\n\n _this3._headersCapability.reject(reason);\n });\n\n _this3._request.end();\n\n return _this3;\n }\n\n return PDFNodeStreamFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamRangeReader =\n/*#__PURE__*/\nfunction (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this4;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).call(this, stream));\n _this4._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n _this4._httpHeaders[property] = value;\n }\n\n _this4._httpHeaders['Range'] = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this4._url, \"\\\".\"));\n _this4._storedError = error;\n return;\n }\n\n _this4._setReadableStream(response);\n };\n\n _this4._request = null;\n\n if (_this4._url.protocol === 'http:') {\n _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n } else {\n _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);\n }\n\n _this4._request.on('error', function (reason) {\n _this4._storedError = reason;\n });\n\n _this4._request.end();\n\n return _this4;\n }\n\n return PDFNodeStreamRangeReader;\n}(BaseRangeReader);\n\nvar PDFNodeStreamFsFullReader =\n/*#__PURE__*/\nfunction (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this5;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).call(this, stream));\n var path = decodeURIComponent(_this5._url.path);\n\n if (fileUriRegex.test(_this5._url.href)) {\n path = path.replace(/^\\//, '');\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === 'ENOENT') {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this5._storedError = error;\n\n _this5._headersCapability.reject(error);\n\n return;\n }\n\n _this5._contentLength = stat.size;\n\n _this5._setReadableStream(fs.createReadStream(path));\n\n _this5._headersCapability.resolve();\n });\n return _this5;\n }\n\n return PDFNodeStreamFsFullReader;\n}(BaseFullReader);\n\nvar PDFNodeStreamFsRangeReader =\n/*#__PURE__*/\nfunction (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this6;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).call(this, stream));\n var path = decodeURIComponent(_this6._url.path);\n\n if (fileUriRegex.test(_this6._url.href)) {\n path = path.replace(/^\\//, '');\n }\n\n _this6._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this6;\n }\n\n return PDFNodeStreamFsRangeReader;\n}(BaseRangeReader);\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(167);\n\nfunction validateRangeRequestCapabilities(_ref) {\n var getResponseHeader = _ref.getResponseHeader,\n isHttp = _ref.isHttp,\n rangeChunkSize = _ref.rangeChunkSize,\n disableRange = _ref.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, 'Range chunk size must be larger than zero');\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader('Content-Length'), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader('Accept-Ranges') !== 'bytes') {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';\n\n if (contentEncoding !== 'identity') {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader('Content-Disposition');\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && /^file:/.test(url)) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF \"' + url + '\".', status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp('filename\\\\*', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp('filename', 'i').exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp('(?:^|;)\\\\s*' + attributePattern + '\\\\s*=\\\\s*' + '(' + '[^\";\\\\s][^;\\\\s]*' + '|' + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + ')', flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xFF;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode('utf-8', value);\n\n if (needsEncodingFixup) {\n value = textdecode('iso-8859-1', value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDisposition) {\n var matches = [],\n match;\n var iter = toParamRegExp('filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)', 'ig');\n\n while ((match = iter.exec(contentDisposition)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n\n var _matches$n = _slicedToArray(matches[n], 2),\n quot = _matches$n[0],\n part = _matches$n[1];\n\n part = rfc2616unquote(part);\n\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join('');\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, '$1');\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf('\\'');\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, '');\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith('=?') || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (_, charset, encoding, text) {\n if (encoding === 'q' || encoding === 'Q') {\n text = text.replace(/_/g, ' ');\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return '';\n}\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: 'GET',\n headers: headers,\n signal: abortController && abortController.signal,\n mode: 'cors',\n credentials: withCredentials ? 'include' : 'same-origin',\n redirect: 'follow'\n };\n}\n\nvar PDFFetchStream =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFFetchStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFFetchStream;\n}();\n\nexports.PDFFetchStream = PDFFetchStream;\n\nvar PDFFetchStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStreamReader(stream) {\n var _this = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var source = stream.source;\n this._withCredentials = source.withCredentials;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this._reader = response.body.getReader();\n\n _this._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this._stream.isHttp,\n rangeChunkSize: _this._rangeChunkSize,\n disableRange: _this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n _this._isRangeSupported = allowRangeRequests;\n _this._contentLength = suggestedLength || _this._contentLength;\n _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this._isStreamingSupported && _this._isRangeSupported) {\n _this.cancel(new _util.AbortException('streaming is disabled'));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee() {\n var _ref, value, done, buffer;\n\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context.next = 4;\n return this._reader.read();\n\n case 4:\n _ref = _context.sent;\n value = _ref.value;\n done = _ref.done;\n\n if (!done) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamReader;\n}();\n\nvar PDFFetchStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this2 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== 'undefined') {\n this._abortController = new AbortController();\n }\n\n this._headers = new Headers();\n\n for (var property in this._stream.httpHeaders) {\n var value = this._stream.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n this._headers.append(property, value);\n }\n\n var rangeStr = begin + '-' + (end - 1);\n\n this._headers.append('Range', 'bytes=' + rangeStr);\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this2._readCapability.resolve();\n\n _this2._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee2() {\n var _ref2, value, done, buffer;\n\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context2.next = 4;\n return this._reader.read();\n\n case 4:\n _ref2 = _context2.sent;\n value = _ref2.value;\n done = _ref2.done;\n\n if (!done) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context2.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n}();\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = PDFNetworkStream;\nexports.NetworkManager = NetworkManager;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(147));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(166);\n\nvar _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n;\nvar OK_RESPONSE = 200;\nvar PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction NetworkManager(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n this.loadedRequests = Object.create(null);\n}\n\nfunction getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== 'string') {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nvar supportsMozChunked = function supportsMozChunkedClosure() {\n try {\n var x = new XMLHttpRequest();\n x.open('GET', _global_scope.default.location.href);\n x.responseType = 'moz-chunked-arraybuffer';\n return x.responseType === 'moz-chunked-arraybuffer';\n } catch (e) {\n return false;\n }\n}();\n\nNetworkManager.prototype = {\n requestRange: function NetworkManager_requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n },\n requestFull: function NetworkManager_requestFull(listeners) {\n return this.request(listeners);\n },\n request: function NetworkManager_request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open('GET', this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === 'undefined') {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && 'begin' in args && 'end' in args) {\n var rangeStr = args.begin + '-' + (args.end - 1);\n xhr.setRequestHeader('Range', 'bytes=' + rangeStr);\n pendingRequest.expectedStatus = 206;\n } else {\n pendingRequest.expectedStatus = 200;\n }\n\n var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData;\n\n if (useMozChunkedLoading) {\n xhr.responseType = 'moz-chunked-arraybuffer';\n pendingRequest.onProgressiveData = args.onProgressiveData;\n pendingRequest.mozChunked = true;\n } else {\n xhr.responseType = 'arraybuffer';\n }\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n },\n onProgress: function NetworkManager_onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.mozChunked) {\n var chunk = getArrayBuffer(pendingRequest.xhr);\n pendingRequest.onProgressiveData(chunk);\n }\n\n var onProgress = pendingRequest.onProgress;\n\n if (onProgress) {\n onProgress(evt);\n }\n },\n onStateChange: function NetworkManager_onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n this.loadedRequests[xhrId] = true;\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader('Content-Range');\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n var begin = parseInt(matches[1], 10);\n pendingRequest.onDone({\n begin: begin,\n chunk: chunk\n });\n } else if (pendingRequest.onProgressiveData) {\n pendingRequest.onDone(null);\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n },\n hasPendingRequests: function NetworkManager_hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n },\n getRequestXhr: function NetworkManager_getXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n },\n isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) {\n return !!this.pendingRequests[xhrId].onProgressiveData;\n },\n isPendingRequest: function NetworkManager_isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n },\n isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) {\n return xhrId in this.loadedRequests;\n },\n abortAllRequests: function NetworkManager_abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n },\n abortRequest: function NetworkManager_abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n};\n\nfunction PDFNetworkStream(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n}\n\nPDFNetworkStream.prototype = {\n _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n },\n getFullReader: function PDFNetworkStream_getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n },\n getRangeReader: function PDFNetworkStream_getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n },\n cancelAllRequests: function PDFNetworkStream_cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n};\n\nfunction PDFNetworkStreamFullRequestReader(manager, source) {\n this._manager = manager;\n var args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onProgressiveData: source.disableStream ? null : this._onProgressiveData.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n}\n\nPDFNetworkStreamFullRequestReader.prototype = {\n _onHeadersReceived: function PDFNetworkStreamFullRequestReader_onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _validateRangeRequest.allowRangeRequests,\n suggestedLength = _validateRangeRequest.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n var networkManager = this._manager;\n\n if (networkManager.isStreamingRequest(fullRequestXhrId)) {\n this._isStreamingSupported = true;\n } else if (this._isRangeSupported) {\n networkManager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n },\n _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(chunk);\n }\n },\n _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) {\n if (args) {\n this._onProgressiveData(args.chunk);\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n },\n _onError: function PDFNetworkStreamFullRequestReader_onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n },\n _onProgress: function PDFNetworkStreamFullRequestReader_onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n },\n\n get filename() {\n return this._filename;\n },\n\n get isRangeSupported() {\n return this._isRangeSupported;\n },\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n },\n\n get contentLength() {\n return this._contentLength;\n },\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n },\n\n read: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee() {\n var chunk, requestCapability;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!this._storedError) {\n _context.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }(),\n cancel: function PDFNetworkStreamFullRequestReader_cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n};\n\nfunction PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n this._manager = manager;\n var args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n}\n\nPDFNetworkStreamRangeRequestReader.prototype = {\n _close: function PDFNetworkStreamRangeRequestReader_close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n },\n _onDone: function PDFNetworkStreamRangeRequestReader_onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n },\n _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n },\n\n get isStreamingSupported() {\n return false;\n },\n\n read: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee2() {\n var chunk, requestCapability;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context2.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context2.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context2.next = 6;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context2.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }(),\n cancel: function PDFNetworkStreamRangeRequestReader_cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n};\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.focusEvents = exports.keyboardEvents = exports.touchEvents = exports.mouseEvents = void 0;\n// As defined on the list of supported mouse events: https://reactjs.org/docs/events.html#mouse-events\nvar mouseEvents = ['onClick', 'onContextMenu', 'onDoubleClick', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp']; // As defined on the list of supported touch events: https://reactjs.org/docs/events.html#touch-events\n\nexports.mouseEvents = mouseEvents;\nvar touchEvents = ['onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart']; // As defined on the list of supported keyboard events: https://reactjs.org/docs/events.html#keyboard-events\n\nexports.touchEvents = touchEvents;\nvar keyboardEvents = ['onKeyDown', 'onKeyPress', 'onKeyUp']; // As defined on the list of supported keyboard events: https://reactjs.org/docs/events.html#focus-events\n\nexports.keyboardEvents = keyboardEvents;\nvar focusEvents = ['onFocus', 'onBlur'];\n/**\n * Returns an object with on-event callback props curried with provided args.\n * @param {Object} props Props passed to a component.\n * @param {Function=} getArgs A function that returns argument(s) on-event callbacks\n * shall be curried with.\n */\n\nexports.focusEvents = focusEvents;\n\nvar makeEventProps = function makeEventProps(props, getArgs) {\n var eventProps = {};\n [].concat(mouseEvents, touchEvents, keyboardEvents, focusEvents).forEach(function (eventName) {\n if (props[eventName]) {\n eventProps[eventName] = function (event) {\n return getArgs ? props[eventName](event, getArgs(eventName)) : props[eventName](event);\n };\n }\n });\n return eventProps;\n};\n\nvar _default = makeEventProps;\nexports.default = _default;","export default function mergeClassNames() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.reduce(function (classList, arg) {\n return typeof arg === 'string' || arg instanceof Array ? classList.concat(arg) : classList;\n }, []).filter(Boolean).join(' ');\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = Message;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction Message(_ref) {\n var children = _ref.children,\n type = _ref.type;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"react-pdf__message react-pdf__message--\".concat(type)\n }, children);\n}\n\nMessage.propTypes = {\n children: _propTypes[\"default\"].node,\n type: _propTypes[\"default\"].oneOf(['error', 'loading', 'no-data']).isRequired\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _pdf_link_service = require(\"pdfjs-dist/lib/web/pdf_link_service\");\n\nvar _default = _pdf_link_service.PDFLinkService;\nexports[\"default\"] = _default;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar _default = (0, _react.createContext)(null);\n\nexports[\"default\"] = _default;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/** @license React v16.13.1\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;kb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\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 * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\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.worker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf.worker\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '2.1.266';\nvar pdfjsBuild = '81f5835c';\n\nvar pdfjsCoreWorker = __w_pdfjs_require__(1);\n\nexports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WorkerMessageHandler = exports.WorkerTask = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _pdf_manager = __w_pdfjs_require__(151);\n\nvar _is_node = _interopRequireDefault(__w_pdfjs_require__(9));\n\nvar _message_handler = __w_pdfjs_require__(189);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar WorkerTask = function WorkerTaskClosure() {\n function WorkerTask(name) {\n this.name = name;\n this.terminated = false;\n this._capability = (0, _util.createPromiseCapability)();\n }\n\n WorkerTask.prototype = {\n get finished() {\n return this._capability.promise;\n },\n\n finish: function finish() {\n this._capability.resolve();\n },\n terminate: function terminate() {\n this.terminated = true;\n },\n ensureNotTerminated: function ensureNotTerminated() {\n if (this.terminated) {\n throw new Error('Worker task was terminated');\n }\n }\n };\n return WorkerTask;\n}();\n\nexports.WorkerTask = WorkerTask;\n\nvar PDFWorkerStream = function PDFWorkerStreamClosure() {\n function PDFWorkerStream(msgHandler) {\n this._msgHandler = msgHandler;\n this._contentLength = null;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n PDFWorkerStream.prototype = {\n getFullReader: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n return this._fullRequestReader;\n },\n getRangeReader: function getRangeReader(begin, end) {\n var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n },\n cancelAllRequests: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n };\n\n function PDFWorkerStreamReader(msgHandler) {\n var _this = this;\n\n this._msgHandler = msgHandler;\n this._contentLength = null;\n this._isRangeSupported = false;\n this._isStreamingSupported = false;\n\n var readableStream = this._msgHandler.sendWithStream('GetReader');\n\n this._reader = readableStream.getReader();\n this._headersReady = this._msgHandler.sendWithPromise('ReaderHeadersReady').then(function (data) {\n _this._isStreamingSupported = data.isStreamingSupported;\n _this._isRangeSupported = data.isRangeSupported;\n _this._contentLength = data.contentLength;\n });\n }\n\n PDFWorkerStreamReader.prototype = {\n get headersReady() {\n return this._headersReady;\n },\n\n get contentLength() {\n return this._contentLength;\n },\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n },\n\n get isRangeSupported() {\n return this._isRangeSupported;\n },\n\n read: function read() {\n return this._reader.read().then(function (_ref) {\n var value = _ref.value,\n done = _ref.done;\n\n if (done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n return {\n value: value.buffer,\n done: false\n };\n });\n },\n cancel: function cancel(reason) {\n this._reader.cancel(reason);\n }\n };\n\n function PDFWorkerStreamRangeReader(begin, end, msgHandler) {\n this._msgHandler = msgHandler;\n this.onProgress = null;\n\n var readableStream = this._msgHandler.sendWithStream('GetRangeReader', {\n begin: begin,\n end: end\n });\n\n this._reader = readableStream.getReader();\n }\n\n PDFWorkerStreamRangeReader.prototype = {\n get isStreamingSupported() {\n return false;\n },\n\n read: function read() {\n return this._reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n return {\n value: value.buffer,\n done: false\n };\n });\n },\n cancel: function cancel(reason) {\n this._reader.cancel(reason);\n }\n };\n return PDFWorkerStream;\n}();\n\nvar WorkerMessageHandler = {\n setup: function setup(handler, port) {\n var testMessageProcessed = false;\n handler.on('test', function wphSetupTest(data) {\n if (testMessageProcessed) {\n return;\n }\n\n testMessageProcessed = true;\n\n if (!(data instanceof Uint8Array)) {\n handler.send('test', false);\n return;\n }\n\n var supportTransfers = data[0] === 255;\n handler.postMessageTransfers = supportTransfers;\n var xhr = new XMLHttpRequest();\n var responseExists = 'response' in xhr;\n\n try {\n xhr.responseType;\n } catch (e) {\n responseExists = false;\n }\n\n if (!responseExists) {\n handler.send('test', false);\n return;\n }\n\n handler.send('test', {\n supportTypedArray: true,\n supportTransfers: supportTransfers\n });\n });\n handler.on('configure', function wphConfigure(data) {\n (0, _util.setVerbosityLevel)(data.verbosity);\n });\n handler.on('GetDocRequest', function wphSetupDoc(data) {\n return WorkerMessageHandler.createDocumentHandler(data, port);\n });\n },\n createDocumentHandler: function createDocumentHandler(docParams, port) {\n var pdfManager;\n var terminated = false;\n var cancelXHRs = null;\n var WorkerTasks = [];\n var apiVersion = docParams.apiVersion;\n var workerVersion = '2.1.266';\n\n if (apiVersion !== workerVersion) {\n throw new Error(\"The API version \\\"\".concat(apiVersion, \"\\\" does not match \") + \"the Worker version \\\"\".concat(workerVersion, \"\\\".\"));\n }\n\n var docId = docParams.docId;\n var docBaseUrl = docParams.docBaseUrl;\n var workerHandlerName = docParams.docId + '_worker';\n var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);\n handler.postMessageTransfers = docParams.postMessageTransfers;\n\n function ensureNotTerminated() {\n if (terminated) {\n throw new Error('Worker was terminated');\n }\n }\n\n function startWorkerTask(task) {\n WorkerTasks.push(task);\n }\n\n function finishWorkerTask(task) {\n task.finish();\n var i = WorkerTasks.indexOf(task);\n WorkerTasks.splice(i, 1);\n }\n\n function loadDocument(_x) {\n return _loadDocument.apply(this, arguments);\n }\n\n function _loadDocument() {\n _loadDocument = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee(recoveryMode) {\n var _ref6, _ref7, numPages, fingerprint;\n\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return pdfManager.ensureDoc('checkHeader');\n\n case 2:\n _context.next = 4;\n return pdfManager.ensureDoc('parseStartXRef');\n\n case 4:\n _context.next = 6;\n return pdfManager.ensureDoc('parse', [recoveryMode]);\n\n case 6:\n if (recoveryMode) {\n _context.next = 9;\n break;\n }\n\n _context.next = 9;\n return pdfManager.ensureDoc('checkFirstPage');\n\n case 9:\n _context.next = 11;\n return Promise.all([pdfManager.ensureDoc('numPages'), pdfManager.ensureDoc('fingerprint')]);\n\n case 11:\n _ref6 = _context.sent;\n _ref7 = _slicedToArray(_ref6, 2);\n numPages = _ref7[0];\n fingerprint = _ref7[1];\n return _context.abrupt(\"return\", {\n numPages: numPages,\n fingerprint: fingerprint\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n return _loadDocument.apply(this, arguments);\n }\n\n function getPdfManager(data, evaluatorOptions) {\n var pdfManagerCapability = (0, _util.createPromiseCapability)();\n var pdfManager;\n var source = data.source;\n\n if (source.data) {\n try {\n pdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(pdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n return pdfManagerCapability.promise;\n }\n\n var pdfStream,\n cachedChunks = [];\n\n try {\n pdfStream = new PDFWorkerStream(handler);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n return pdfManagerCapability.promise;\n }\n\n var fullRequest = pdfStream.getFullReader();\n fullRequest.headersReady.then(function () {\n if (!fullRequest.isRangeSupported) {\n return;\n }\n\n var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported;\n pdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, {\n msgHandler: handler,\n password: source.password,\n length: fullRequest.contentLength,\n disableAutoFetch: disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize\n }, evaluatorOptions, docBaseUrl);\n\n for (var i = 0; i < cachedChunks.length; i++) {\n pdfManager.sendProgressiveData(cachedChunks[i]);\n }\n\n cachedChunks = [];\n pdfManagerCapability.resolve(pdfManager);\n cancelXHRs = null;\n }).catch(function (reason) {\n pdfManagerCapability.reject(reason);\n cancelXHRs = null;\n });\n var loaded = 0;\n\n var flushChunks = function flushChunks() {\n var pdfFile = (0, _util.arraysToBytes)(cachedChunks);\n\n if (source.length && pdfFile.length !== source.length) {\n (0, _util.warn)('reported HTTP length is different from actual');\n }\n\n try {\n pdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(pdfManager);\n } catch (ex) {\n pdfManagerCapability.reject(ex);\n }\n\n cachedChunks = [];\n };\n\n var readPromise = new Promise(function (resolve, reject) {\n var readChunk = function readChunk(chunk) {\n try {\n ensureNotTerminated();\n\n if (chunk.done) {\n if (!pdfManager) {\n flushChunks();\n }\n\n cancelXHRs = null;\n return;\n }\n\n var data = chunk.value;\n loaded += (0, _util.arrayByteLength)(data);\n\n if (!fullRequest.isStreamingSupported) {\n handler.send('DocProgress', {\n loaded: loaded,\n total: Math.max(loaded, fullRequest.contentLength || 0)\n });\n }\n\n if (pdfManager) {\n pdfManager.sendProgressiveData(data);\n } else {\n cachedChunks.push(data);\n }\n\n fullRequest.read().then(readChunk, reject);\n } catch (e) {\n reject(e);\n }\n };\n\n fullRequest.read().then(readChunk, reject);\n });\n readPromise.catch(function (e) {\n pdfManagerCapability.reject(e);\n cancelXHRs = null;\n });\n\n cancelXHRs = function cancelXHRs() {\n pdfStream.cancelAllRequests('abort');\n };\n\n return pdfManagerCapability.promise;\n }\n\n function setupDoc(data) {\n function onSuccess(doc) {\n ensureNotTerminated();\n handler.send('GetDoc', {\n pdfInfo: doc\n });\n }\n\n function onFailure(e) {\n ensureNotTerminated();\n\n if (e instanceof _util.PasswordException) {\n var task = new WorkerTask('PasswordException: response ' + e.code);\n startWorkerTask(task);\n handler.sendWithPromise('PasswordRequest', e).then(function (data) {\n finishWorkerTask(task);\n pdfManager.updatePassword(data.password);\n pdfManagerReady();\n }).catch(function (boundException) {\n finishWorkerTask(task);\n handler.send('PasswordException', boundException);\n }.bind(null, e));\n } else if (e instanceof _util.InvalidPDFException) {\n handler.send('InvalidPDF', e);\n } else if (e instanceof _util.MissingPDFException) {\n handler.send('MissingPDF', e);\n } else if (e instanceof _util.UnexpectedResponseException) {\n handler.send('UnexpectedResponse', e);\n } else {\n handler.send('UnknownError', new _util.UnknownErrorException(e.message, e.toString()));\n }\n }\n\n function pdfManagerReady() {\n ensureNotTerminated();\n loadDocument(false).then(onSuccess, function loadFailure(ex) {\n ensureNotTerminated();\n\n if (!(ex instanceof _util.XRefParseException)) {\n onFailure(ex);\n return;\n }\n\n pdfManager.requestLoadedStream();\n pdfManager.onLoadedStream().then(function () {\n ensureNotTerminated();\n loadDocument(true).then(onSuccess, onFailure);\n });\n }, onFailure);\n }\n\n ensureNotTerminated();\n var evaluatorOptions = {\n forceDataSchema: data.disableCreateObjectURL,\n maxImageSize: data.maxImageSize,\n disableFontFace: data.disableFontFace,\n nativeImageDecoderSupport: data.nativeImageDecoderSupport,\n ignoreErrors: data.ignoreErrors,\n isEvalSupported: data.isEvalSupported\n };\n getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {\n if (terminated) {\n newPdfManager.terminate();\n throw new Error('Worker was terminated');\n }\n\n pdfManager = newPdfManager;\n pdfManager.onLoadedStream().then(function (stream) {\n handler.send('DataLoaded', {\n length: stream.bytes.byteLength\n });\n });\n }).then(pdfManagerReady, onFailure);\n }\n\n handler.on('GetPage', function wphSetupGetPage(data) {\n return pdfManager.getPage(data.pageIndex).then(function (page) {\n return Promise.all([pdfManager.ensure(page, 'rotate'), pdfManager.ensure(page, 'ref'), pdfManager.ensure(page, 'userUnit'), pdfManager.ensure(page, 'view')]).then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 4),\n rotate = _ref4[0],\n ref = _ref4[1],\n userUnit = _ref4[2],\n view = _ref4[3];\n\n return {\n rotate: rotate,\n ref: ref,\n userUnit: userUnit,\n view: view\n };\n });\n });\n });\n handler.on('GetPageIndex', function wphSetupGetPageIndex(data) {\n var ref = new _primitives.Ref(data.ref.num, data.ref.gen);\n var catalog = pdfManager.pdfDocument.catalog;\n return catalog.getPageIndex(ref);\n });\n handler.on('GetDestinations', function wphSetupGetDestinations(data) {\n return pdfManager.ensureCatalog('destinations');\n });\n handler.on('GetDestination', function wphSetupGetDestination(data) {\n return pdfManager.ensureCatalog('getDestination', [data.id]);\n });\n handler.on('GetPageLabels', function wphSetupGetPageLabels(data) {\n return pdfManager.ensureCatalog('pageLabels');\n });\n handler.on('GetPageMode', function wphSetupGetPageMode(data) {\n return pdfManager.ensureCatalog('pageMode');\n });\n handler.on('getOpenActionDestination', function (data) {\n return pdfManager.ensureCatalog('openActionDestination');\n });\n handler.on('GetAttachments', function wphSetupGetAttachments(data) {\n return pdfManager.ensureCatalog('attachments');\n });\n handler.on('GetJavaScript', function wphSetupGetJavaScript(data) {\n return pdfManager.ensureCatalog('javaScript');\n });\n handler.on('GetOutline', function wphSetupGetOutline(data) {\n return pdfManager.ensureCatalog('documentOutline');\n });\n handler.on('GetPermissions', function (data) {\n return pdfManager.ensureCatalog('permissions');\n });\n handler.on('GetMetadata', function wphSetupGetMetadata(data) {\n return Promise.all([pdfManager.ensureDoc('documentInfo'), pdfManager.ensureCatalog('metadata')]);\n });\n handler.on('GetData', function wphSetupGetData(data) {\n pdfManager.requestLoadedStream();\n return pdfManager.onLoadedStream().then(function (stream) {\n return stream.bytes;\n });\n });\n handler.on('GetStats', function wphSetupGetStats(data) {\n return pdfManager.pdfDocument.xref.stats;\n });\n handler.on('GetAnnotations', function (_ref5) {\n var pageIndex = _ref5.pageIndex,\n intent = _ref5.intent;\n return pdfManager.getPage(pageIndex).then(function (page) {\n return page.getAnnotationsData(intent);\n });\n });\n handler.on('RenderPageRequest', function wphSetupRenderPage(data) {\n var pageIndex = data.pageIndex;\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask('RenderPageRequest: page ' + pageIndex);\n startWorkerTask(task);\n var pageNum = pageIndex + 1;\n var start = Date.now();\n page.getOperatorList({\n handler: handler,\n task: task,\n intent: data.intent,\n renderInteractiveForms: data.renderInteractiveForms\n }).then(function (operatorList) {\n finishWorkerTask(task);\n (0, _util.info)('page=' + pageNum + ' - getOperatorList: time=' + (Date.now() - start) + 'ms, len=' + operatorList.totalLength);\n }, function (e) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n var minimumStackMessage = 'worker.js: while trying to getPage() and getOperatorList()';\n var wrappedException;\n\n if (typeof e === 'string') {\n wrappedException = {\n message: e,\n stack: minimumStackMessage\n };\n } else if (_typeof(e) === 'object') {\n wrappedException = {\n message: e.message || e.toString(),\n stack: e.stack || minimumStackMessage\n };\n } else {\n wrappedException = {\n message: 'Unknown exception type: ' + _typeof(e),\n stack: minimumStackMessage\n };\n }\n\n handler.send('PageError', {\n pageNum: pageNum,\n error: wrappedException,\n intent: data.intent\n });\n });\n });\n }, this);\n handler.on('GetTextContent', function wphExtractText(data, sink) {\n var pageIndex = data.pageIndex;\n\n sink.onPull = function (desiredSize) {};\n\n sink.onCancel = function (reason) {};\n\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask('GetTextContent: page ' + pageIndex);\n startWorkerTask(task);\n var pageNum = pageIndex + 1;\n var start = Date.now();\n page.extractTextContent({\n handler: handler,\n task: task,\n sink: sink,\n normalizeWhitespace: data.normalizeWhitespace,\n combineTextItems: data.combineTextItems\n }).then(function () {\n finishWorkerTask(task);\n (0, _util.info)('text indexing: page=' + pageNum + ' - time=' + (Date.now() - start) + 'ms');\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n sink.error(reason);\n throw reason;\n });\n });\n });\n handler.on('FontFallback', function (data) {\n return pdfManager.fontFallback(data.id, handler);\n });\n handler.on('Cleanup', function wphCleanup(data) {\n return pdfManager.cleanup();\n });\n handler.on('Terminate', function wphTerminate(data) {\n terminated = true;\n\n if (pdfManager) {\n pdfManager.terminate();\n pdfManager = null;\n }\n\n if (cancelXHRs) {\n cancelXHRs();\n }\n\n var waitOn = [];\n WorkerTasks.forEach(function (task) {\n waitOn.push(task.finished);\n task.terminate();\n });\n return Promise.all(waitOn).then(function () {\n handler.destroy();\n handler = null;\n });\n });\n handler.on('Ready', function wphReady(data) {\n setupDoc(docParams);\n docParams = null;\n });\n return workerHandlerName;\n },\n initializeFromPort: function initializeFromPort(port) {\n var handler = new _message_handler.MessageHandler('worker', 'main', port);\n WorkerMessageHandler.setup(handler, port);\n handler.send('ready', null);\n }\n};\nexports.WorkerMessageHandler = WorkerMessageHandler;\n\nfunction isMessagePort(maybePort) {\n return typeof maybePort.postMessage === 'function' && 'onmessage' in maybePort;\n}\n\nif (typeof window === 'undefined' && !(0, _is_node.default)() && typeof self !== 'undefined' && isMessagePort(self)) {\n WorkerMessageHandler.initializeFromPort(self);\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g = function () {\n return this || (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) === \"object\" && self;\n}() || Function(\"return this\")();\n\nvar hadRuntime = g.regeneratorRuntime && Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\ng.regeneratorRuntime = undefined;\nmodule.exports = __w_pdfjs_require__(4);\n\nif (hadRuntime) {\n g.regeneratorRuntime = oldRuntime;\n} else {\n try {\n delete g.regeneratorRuntime;\n } catch (e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n!function (global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n var inModule = ( false ? undefined : _typeof(module)) === \"object\";\n var runtime = global.regeneratorRuntime;\n\n if (runtime) {\n if (inModule) {\n module.exports = runtime;\n }\n\n return;\n }\n\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n return generator;\n }\n\n runtime.wrap = wrap;\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n prototype[method] = function (arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n };\n\n runtime.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n runtime.awrap = function (arg) {\n return {\n __await: arg\n };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n\n if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function (unwrapped) {\n result.value = unwrapped;\n resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n\n runtime.AsyncIterator = AsyncIterator;\n\n runtime.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return runtime.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n\n if (record.type === \"normal\") {\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (method === undefined) {\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n return info;\n }\n\n context.delegate = null;\n return ContinueSentinel;\n }\n\n defineIteratorMethods(Gp);\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp[iteratorSymbol] = function () {\n return this;\n };\n\n Gp.toString = function () {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n keys.reverse();\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n return next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n runtime.values = values;\n\n function doneResult() {\n return {\n value: undefined,\n done: true\n };\n }\n\n Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function stop() {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n}(function () {\n return this || (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) === \"object\" && self;\n}() || Function(\"return this\")());\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(5)(module)))\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toRomanNumerals = toRomanNumerals;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.deprecated = deprecated;\nexports.getInheritableProperty = getInheritableProperty;\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSpace = isSpace;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.isLittleEndian = isLittleEndian;\nexports.isEvalSupported = isEvalSupported;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nObject.defineProperty(exports, \"ReadableStream\", {\n enumerable: true,\n get: function get() {\n return _streams_polyfill.ReadableStream;\n }\n});\nObject.defineProperty(exports, \"URL\", {\n enumerable: true,\n get: function get() {\n return _url_polyfill.URL;\n }\n});\nexports.createObjectURL = exports.FormatError = exports.XRefParseException = exports.XRefEntryException = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.MissingDataException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = void 0;\n\n__w_pdfjs_require__(7);\n\nvar _streams_polyfill = __w_pdfjs_require__(147);\n\nvar _url_polyfill = __w_pdfjs_require__(149);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display'\n};\nexports.NativeImageDecoding = NativeImageDecoding;\nvar 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};\nexports.PermissionFlag = PermissionFlag;\nvar 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};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar 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};\nexports.AnnotationType = AnnotationType;\nvar 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};\nexports.AnnotationFlag = AnnotationFlag;\nvar 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};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: 0,\n FLATE: 1,\n LZW: 2,\n DCT: 3,\n JPX: 4,\n JBIG: 5,\n A85: 6,\n AHX: 7,\n CCF: 8,\n RL: 9\n};\nexports.StreamType = StreamType;\nvar FontType = {\n UNKNOWN: 0,\n TYPE1: 1,\n TYPE1C: 2,\n CIDFONTTYPE0: 3,\n CIDFONTTYPE0C: 4,\n TRUETYPE: 5,\n CIDFONTTYPE2: 6,\n TYPE3: 7,\n OPENTYPE: 8,\n TYPE0: 9,\n MMTYPE1: 10\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\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 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};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font'\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar 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\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log('Info: ' + msg);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log('Warning: ' + msg);\n }\n}\n\nfunction deprecated(details) {\n console.log('Deprecated API usage: ' + details);\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\nfunction isSameOrigin(baseUrl, otherUrl) {\n try {\n var base = new _url_polyfill.URL(baseUrl);\n\n if (!base.origin || base.origin === 'null') {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new _url_polyfill.URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new _url_polyfill.URL(url, baseUrl) : new _url_polyfill.URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nfunction getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n\n return lookup;\n };\n}\n\nvar PasswordException = function PasswordExceptionClosure() {\n function PasswordException(msg, code) {\n this.name = 'PasswordException';\n this.message = msg;\n this.code = code;\n }\n\n PasswordException.prototype = new Error();\n PasswordException.constructor = PasswordException;\n return PasswordException;\n}();\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = function UnknownErrorExceptionClosure() {\n function UnknownErrorException(msg, details) {\n this.name = 'UnknownErrorException';\n this.message = msg;\n this.details = details;\n }\n\n UnknownErrorException.prototype = new Error();\n UnknownErrorException.constructor = UnknownErrorException;\n return UnknownErrorException;\n}();\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = function InvalidPDFExceptionClosure() {\n function InvalidPDFException(msg) {\n this.name = 'InvalidPDFException';\n this.message = msg;\n }\n\n InvalidPDFException.prototype = new Error();\n InvalidPDFException.constructor = InvalidPDFException;\n return InvalidPDFException;\n}();\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = function MissingPDFExceptionClosure() {\n function MissingPDFException(msg) {\n this.name = 'MissingPDFException';\n this.message = msg;\n }\n\n MissingPDFException.prototype = new Error();\n MissingPDFException.constructor = MissingPDFException;\n return MissingPDFException;\n}();\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = function UnexpectedResponseExceptionClosure() {\n function UnexpectedResponseException(msg, status) {\n this.name = 'UnexpectedResponseException';\n this.message = msg;\n this.status = status;\n }\n\n UnexpectedResponseException.prototype = new Error();\n UnexpectedResponseException.constructor = UnexpectedResponseException;\n return UnexpectedResponseException;\n}();\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = 'Missing data [' + begin + ', ' + end + ')';\n }\n\n MissingDataException.prototype = new Error();\n MissingDataException.prototype.name = 'MissingDataException';\n MissingDataException.constructor = MissingDataException;\n return MissingDataException;\n}();\n\nexports.MissingDataException = MissingDataException;\n\nvar XRefEntryException = function XRefEntryExceptionClosure() {\n function XRefEntryException(msg) {\n this.message = msg;\n }\n\n XRefEntryException.prototype = new Error();\n XRefEntryException.prototype.name = 'XRefEntryException';\n XRefEntryException.constructor = XRefEntryException;\n return XRefEntryException;\n}();\n\nexports.XRefEntryException = XRefEntryException;\n\nvar XRefParseException = function XRefParseExceptionClosure() {\n function XRefParseException(msg) {\n this.message = msg;\n }\n\n XRefParseException.prototype = new Error();\n XRefParseException.prototype.name = 'XRefParseException';\n XRefParseException.constructor = XRefParseException;\n return XRefParseException;\n}();\n\nexports.XRefParseException = XRefParseException;\n\nvar FormatError = function FormatErrorClosure() {\n function FormatError(msg) {\n this.message = msg;\n }\n\n FormatError.prototype = new Error();\n FormatError.prototype.name = 'FormatError';\n FormatError.constructor = FormatError;\n return FormatError;\n}();\n\nexports.FormatError = FormatError;\n\nvar AbortException = function AbortExceptionClosure() {\n function AbortException(msg) {\n this.name = 'AbortException';\n this.message = msg;\n }\n\n AbortException.prototype = new Error();\n AbortException.constructor = AbortException;\n return AbortException;\n}();\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== 'string') {\n warn('The argument for removeNullCharacters must be a string.');\n return str;\n }\n\n return str.replace(NullCharactersRegExp, '');\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join('');\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n if (arr.length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n var i,\n ii = arr.length;\n var item, itemLength;\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n itemLength = arrayByteLength(item);\n resultLength += itemLength;\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (i = 0; i < ii; i++) {\n item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, start) {\n return data[start] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nfunction isEvalSupported() {\n try {\n new Function('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === void 0 ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values;\n\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n\n if (!values) {\n values = [];\n }\n\n values.push(value);\n }\n\n if (++loopCount > LOOP_LIMIT) {\n warn(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n break;\n }\n\n dict = dict.get('Parent');\n }\n\n return values;\n}\n\nvar Util = function UtilClosure() {\n function Util() {}\n\n var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\n Util.makeCssRgb = function Util_makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join('');\n };\n\n Util.transform = function Util_transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n };\n\n Util.applyTransform = function Util_applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n };\n\n Util.applyInverseTransform = function Util_applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var 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 Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n };\n\n Util.inverseTransform = function Util_inverseTransform(m) {\n var d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n };\n\n Util.apply3dTransform = function Util_apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n };\n\n Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n };\n\n Util.normalizeRect = function Util_normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n };\n\n Util.intersect = function Util_intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare),\n orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare),\n result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return false;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return false;\n }\n\n return result;\n };\n\n return Util;\n}();\n\nexports.Util = Util;\nvar ROMAN_NUMBER_MAP = ['', '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'];\n\nfunction toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n assert(Number.isInteger(number) && number > 0, 'The number should be a positive integer.');\n var pos,\n romanBuf = [];\n\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push('M');\n }\n\n pos = number / 100 | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n pos = number / 10 | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n var romanStr = romanBuf.join('');\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\nvar PDFStringTranslateTable = [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, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var i,\n n = str.length,\n strBuf = [];\n\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n for (i = 2; i < n; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else {\n for (i = 0; i < n; ++i) {\n var code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n\n return strBuf.join('');\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\n\nfunction isNum(v) {\n return typeof v === 'number';\n}\n\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;\n}\n\nfunction isSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;\n}\n\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, 'settled', {\n get: function 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\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && _url_polyfill.URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return _url_polyfill.URL.createObjectURL(blob);\n }\n\n var buffer = 'data:' + contentType + ';base64,';\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xFF;\n var b2 = data[i + 1] & 0xFF;\n var b3 = data[i + 2] & 0xFF;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3F : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar globalScope = __w_pdfjs_require__(8);\n\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n\n var isNodeJS = __w_pdfjs_require__(9);\n\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object';\n\n (function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n\n globalScope.btoa = function (chars) {\n return Buffer.from(chars, 'binary').toString('base64');\n };\n })();\n\n (function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n\n globalScope.atob = function (input) {\n return Buffer.from(input, 'base64').toString('binary');\n };\n })();\n\n (function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n\n Element.prototype.remove = function () {\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n })();\n\n (function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n div.classList.add('testOne', 'testTwo');\n\n if (div.classList.contains('testOne') === true && div.classList.contains('testTwo') === true) {\n return;\n }\n\n var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function () {\n for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {\n tokens[_key] = arguments[_key];\n }\n\n for (var _i = 0; _i < tokens.length; _i++) {\n var token = tokens[_i];\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n\n DOMTokenList.prototype.remove = function () {\n for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n tokens[_key2] = arguments[_key2];\n }\n\n for (var _i2 = 0; _i2 < tokens.length; _i2++) {\n var token = tokens[_i2];\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n })();\n\n (function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n\n var div = document.createElement('div');\n\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function (token) {\n var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);\n return this[force ? 'add' : 'remove'](token), force;\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(10);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(40);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(42);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(44);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(51);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(74);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(79);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(81);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(83);\n })();\n\n (function checkPromise() {\n if (globalScope.Promise && globalScope.Promise.prototype && globalScope.Promise.prototype.finally) {\n return;\n }\n\n globalScope.Promise = __w_pdfjs_require__(86);\n })();\n\n (function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n\n globalScope.WeakMap = __w_pdfjs_require__(106);\n })();\n\n (function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n\n globalScope.WeakSet = __w_pdfjs_require__(123);\n })();\n\n (function checkStringCodePointAt() {\n if (String.codePointAt) {\n return;\n }\n\n String.codePointAt = __w_pdfjs_require__(127);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(129);\n })();\n\n (function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(131);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(138);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(142);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(144);\n })();\n}\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function isNodeJS() {\n return (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process + '' === '[object process]' && !process.versions['nw'];\n};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(11);\n\nmodule.exports = __w_pdfjs_require__(14).String.startsWith;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar toLength = __w_pdfjs_require__(30);\n\nvar context = __w_pdfjs_require__(32);\n\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(39)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n});\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(13);\n\nvar core = __w_pdfjs_require__(14);\n\nvar hide = __w_pdfjs_require__(15);\n\nvar redefine = __w_pdfjs_require__(25);\n\nvar ctx = __w_pdfjs_require__(28);\n\nvar PROTOTYPE = 'prototype';\n\nvar $export = function $export(type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n\n for (key in source) {\n own = !IS_FORCED && target && target[key] !== undefined;\n out = (own ? target : source)[key];\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if (target) redefine(target, key, out, type & $export.U);\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\n\nglobal.core = core;\n$export.F = 1;\n$export.G = 2;\n$export.S = 4;\n$export.P = 8;\n$export.B = 16;\n$export.W = 32;\n$export.U = 64;\n$export.R = 128;\nmodule.exports = $export;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif (typeof __g == 'number') __g = global;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = {\n version: '2.6.2'\n};\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(16);\n\nvar createDesc = __w_pdfjs_require__(24);\n\nmodule.exports = __w_pdfjs_require__(20) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(17);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(19);\n\nvar toPrimitive = __w_pdfjs_require__(23);\n\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(20) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) {}\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(18);\n\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nmodule.exports = function (it) {\n return _typeof(it) === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(20) && !__w_pdfjs_require__(21)(function () {\n return Object.defineProperty(__w_pdfjs_require__(22)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(21)(function () {\n return Object.defineProperty({}, 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar document = __w_pdfjs_require__(13).document;\n\nvar is = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(18);\n\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(13);\n\nvar hide = __w_pdfjs_require__(15);\n\nvar has = __w_pdfjs_require__(26);\n\nvar SRC = __w_pdfjs_require__(27)('src');\n\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__w_pdfjs_require__(14).inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar id = 0;\nvar px = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(29);\n\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n\n switch (length) {\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(31);\n\nvar min = Math.min;\n\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(33);\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar cof = __w_pdfjs_require__(34);\n\nvar MATCH = __w_pdfjs_require__(35)('match');\n\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(36)('wks');\n\nvar uid = __w_pdfjs_require__(27);\n\nvar _Symbol = __w_pdfjs_require__(13).Symbol;\n\nvar USE_SYMBOL = typeof _Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(14);\n\nvar global = __w_pdfjs_require__(13);\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __w_pdfjs_require__(37) ? 'pure' : 'global',\n copyright: 'Ā© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar MATCH = __w_pdfjs_require__(35)('match');\n\nmodule.exports = function (KEY) {\n var re = /./;\n\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) {}\n }\n\n return true;\n};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(41);\n\nmodule.exports = __w_pdfjs_require__(14).String.endsWith;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar toLength = __w_pdfjs_require__(30);\n\nvar context = __w_pdfjs_require__(32);\n\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n$export($export.P + $export.F * __w_pdfjs_require__(39)(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n});\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(43);\n\nmodule.exports = __w_pdfjs_require__(14).String.includes;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar context = __w_pdfjs_require__(32);\n\nvar INCLUDES = 'includes';\n$export($export.P + $export.F * __w_pdfjs_require__(39)(INCLUDES), 'String', {\n includes: function includes(searchString) {\n return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(45);\n\nmodule.exports = __w_pdfjs_require__(14).Array.includes;\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar $includes = __w_pdfjs_require__(46)(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__w_pdfjs_require__(50)('includes');\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar toLength = __w_pdfjs_require__(30);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\n\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n if (value != value) return true;\n } else for (; length > index; index++) {\n if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n }\n }\n return !IS_INCLUDES && -1;\n };\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar IObject = __w_pdfjs_require__(48);\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(34);\n\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(31);\n\nvar max = Math.max;\nvar min = Math.min;\n\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar UNSCOPABLES = __w_pdfjs_require__(35)('unscopables');\n\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(15)(ArrayProto, UNSCOPABLES, {});\n\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(52);\n\n__w_pdfjs_require__(67);\n\nmodule.exports = __w_pdfjs_require__(14).Array.from;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $at = __w_pdfjs_require__(53)(true);\n\n__w_pdfjs_require__(54)(String, 'String', function (iterated) {\n this._t = String(iterated);\n this._i = 0;\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return {\n value: undefined,\n done: true\n };\n point = $at(O, index);\n this._i += point.length;\n return {\n value: point,\n done: false\n };\n});\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(31);\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(37);\n\nvar $export = __w_pdfjs_require__(12);\n\nvar redefine = __w_pdfjs_require__(25);\n\nvar hide = __w_pdfjs_require__(15);\n\nvar Iterators = __w_pdfjs_require__(55);\n\nvar $iterCreate = __w_pdfjs_require__(56);\n\nvar setToStringTag = __w_pdfjs_require__(64);\n\nvar getPrototypeOf = __w_pdfjs_require__(65);\n\nvar ITERATOR = __w_pdfjs_require__(35)('iterator');\n\nvar BUGGY = !([].keys && 'next' in [].keys());\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function returnThis() {\n return this;\n};\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n\n var getMethod = function getMethod(kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n\n switch (kind) {\n case KEYS:\n return function keys() {\n return new Constructor(this, kind);\n };\n\n case VALUES:\n return function values() {\n return new Constructor(this, kind);\n };\n }\n\n return function entries() {\n return new Constructor(this, kind);\n };\n };\n\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n setToStringTag(IteratorPrototype, TAG, true);\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n\n $default = function values() {\n return $native.call(this);\n };\n }\n\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n\n return methods;\n};\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar create = __w_pdfjs_require__(57);\n\nvar descriptor = __w_pdfjs_require__(24);\n\nvar setToStringTag = __w_pdfjs_require__(64);\n\nvar IteratorPrototype = {};\n\n__w_pdfjs_require__(15)(IteratorPrototype, __w_pdfjs_require__(35)('iterator'), function () {\n return this;\n});\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, {\n next: descriptor(1, next)\n });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(17);\n\nvar dPs = __w_pdfjs_require__(58);\n\nvar enumBugKeys = __w_pdfjs_require__(62);\n\nvar IE_PROTO = __w_pdfjs_require__(61)('IE_PROTO');\n\nvar Empty = function Empty() {};\n\nvar PROTOTYPE = 'prototype';\n\nvar _createDict = function createDict() {\n var iframe = __w_pdfjs_require__(22)('iframe');\n\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n\n __w_pdfjs_require__(63).appendChild(iframe);\n\n iframe.src = 'javascript:';\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n _createDict = iframeDocument.F;\n\n while (i--) {\n delete _createDict[PROTOTYPE][enumBugKeys[i]];\n }\n\n return _createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _createDict();\n\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(16);\n\nvar anObject = __w_pdfjs_require__(17);\n\nvar getKeys = __w_pdfjs_require__(59);\n\nmodule.exports = __w_pdfjs_require__(20) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n\n while (length > i) {\n dP.f(O, P = keys[i++], Properties[P]);\n }\n\n return O;\n};\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(60);\n\nvar enumBugKeys = __w_pdfjs_require__(62);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(26);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar arrayIndexOf = __w_pdfjs_require__(46)(false);\n\nvar IE_PROTO = __w_pdfjs_require__(61)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n\n for (key in O) {\n if (key != IE_PROTO) has(O, key) && result.push(key);\n }\n\n while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n }\n\n return result;\n};\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar shared = __w_pdfjs_require__(36)('keys');\n\nvar uid = __w_pdfjs_require__(27);\n\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar document = __w_pdfjs_require__(13).document;\n\nmodule.exports = document && document.documentElement;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar def = __w_pdfjs_require__(16).f;\n\nvar has = __w_pdfjs_require__(26);\n\nvar TAG = __w_pdfjs_require__(35)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, {\n configurable: true,\n value: tag\n });\n};\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar has = __w_pdfjs_require__(26);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar IE_PROTO = __w_pdfjs_require__(61)('IE_PROTO');\n\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n\n return O instanceof Object ? ObjectProto : null;\n};\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(28);\n\nvar $export = __w_pdfjs_require__(12);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar call = __w_pdfjs_require__(68);\n\nvar isArrayIter = __w_pdfjs_require__(69);\n\nvar toLength = __w_pdfjs_require__(30);\n\nvar createProperty = __w_pdfjs_require__(70);\n\nvar getIterFn = __w_pdfjs_require__(71);\n\n$export($export.S + $export.F * !__w_pdfjs_require__(73)(function (iter) {\n Array.from(iter);\n}), 'Array', {\n from: function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n\n result.length = index;\n return result;\n }\n});\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(17);\n\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar Iterators = __w_pdfjs_require__(55);\n\nvar ITERATOR = __w_pdfjs_require__(35)('iterator');\n\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $defineProperty = __w_pdfjs_require__(16);\n\nvar createDesc = __w_pdfjs_require__(24);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(72);\n\nvar ITERATOR = __w_pdfjs_require__(35)('iterator');\n\nvar Iterators = __w_pdfjs_require__(55);\n\nmodule.exports = __w_pdfjs_require__(14).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(34);\n\nvar TAG = __w_pdfjs_require__(35)('toStringTag');\n\nvar ARG = cof(function () {\n return arguments;\n}()) == 'Arguments';\n\nvar tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (e) {}\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T : ARG ? cof(O) : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ITERATOR = __w_pdfjs_require__(35)('iterator');\n\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n\n riter['return'] = function () {\n SAFE_CLOSING = true;\n };\n\n Array.from(riter, function () {\n throw 2;\n });\n} catch (e) {}\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n\n iter.next = function () {\n return {\n done: safe = true\n };\n };\n\n arr[ITERATOR] = function () {\n return iter;\n };\n\n exec(arr);\n } catch (e) {}\n\n return safe;\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(75);\n\nmodule.exports = __w_pdfjs_require__(14).Object.assign;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\n$export($export.S + $export.F, 'Object', {\n assign: __w_pdfjs_require__(76)\n});\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(59);\n\nvar gOPS = __w_pdfjs_require__(77);\n\nvar pIE = __w_pdfjs_require__(78);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar IObject = __w_pdfjs_require__(48);\n\nvar $assign = Object.assign;\nmodule.exports = !$assign || __w_pdfjs_require__(21)(function () {\n var A = {};\n var B = {};\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) {\n B[k] = k;\n });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n\n while (length > j) {\n if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n }\n }\n\n return T;\n} : $assign;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = {}.propertyIsEnumerable;\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(80);\n\nmodule.exports = __w_pdfjs_require__(14).Math.log2;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(82);\n\nmodule.exports = __w_pdfjs_require__(14).Number.isNaN;\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(84);\n\nmodule.exports = __w_pdfjs_require__(14).Number.isInteger;\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\n$export($export.S, 'Number', {\n isInteger: __w_pdfjs_require__(85)\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar floor = Math.floor;\n\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(87);\n\n__w_pdfjs_require__(52);\n\n__w_pdfjs_require__(88);\n\n__w_pdfjs_require__(91);\n\n__w_pdfjs_require__(104);\n\n__w_pdfjs_require__(105);\n\nmodule.exports = __w_pdfjs_require__(14).Promise;\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar classof = __w_pdfjs_require__(72);\n\nvar test = {};\ntest[__w_pdfjs_require__(35)('toStringTag')] = 'z';\n\nif (test + '' != '[object z]') {\n __w_pdfjs_require__(25)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $iterators = __w_pdfjs_require__(89);\n\nvar getKeys = __w_pdfjs_require__(59);\n\nvar redefine = __w_pdfjs_require__(25);\n\nvar global = __w_pdfjs_require__(13);\n\nvar hide = __w_pdfjs_require__(15);\n\nvar Iterators = __w_pdfjs_require__(55);\n\nvar wks = __w_pdfjs_require__(35);\n\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\nvar DOMIterables = {\n CSSRuleList: true,\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true,\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true,\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) {\n if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n }\n}\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar addToUnscopables = __w_pdfjs_require__(50);\n\nvar step = __w_pdfjs_require__(90);\n\nvar Iterators = __w_pdfjs_require__(55);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nmodule.exports = __w_pdfjs_require__(54)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated);\n this._i = 0;\n this._k = kind;\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (done, value) {\n return {\n value: value,\n done: !!done\n };\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar LIBRARY = __w_pdfjs_require__(37);\n\nvar global = __w_pdfjs_require__(13);\n\nvar ctx = __w_pdfjs_require__(28);\n\nvar classof = __w_pdfjs_require__(72);\n\nvar $export = __w_pdfjs_require__(12);\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar aFunction = __w_pdfjs_require__(29);\n\nvar anInstance = __w_pdfjs_require__(92);\n\nvar forOf = __w_pdfjs_require__(93);\n\nvar speciesConstructor = __w_pdfjs_require__(94);\n\nvar task = __w_pdfjs_require__(95).set;\n\nvar microtask = __w_pdfjs_require__(97)();\n\nvar newPromiseCapabilityModule = __w_pdfjs_require__(98);\n\nvar perform = __w_pdfjs_require__(99);\n\nvar userAgent = __w_pdfjs_require__(100);\n\nvar promiseResolve = __w_pdfjs_require__(101);\n\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\n\nvar empty = function empty() {};\n\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\nvar USE_NATIVE = !!function () {\n try {\n var promise = $Promise.resolve(1);\n\n var FakePromise = (promise.constructor = {})[__w_pdfjs_require__(35)('species')] = function (exec) {\n exec(empty, empty);\n };\n\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) {}\n}();\n\nvar isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function notify(promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n\n var run = function run(reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n\n if (handler === true) result = value;else {\n if (domain) domain.enter();\n result = handler(value);\n\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n\n while (chain.length > i) {\n run(chain[i++]);\n }\n\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\n\nvar onUnhandled = function onUnhandled(promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({\n promise: promise,\n reason: value\n });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n }\n\n promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\n\nvar isUnhandled = function isUnhandled(promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\n\nvar onHandleUnhandled = function onHandleUnhandled(promise) {\n task.call(global, function () {\n var handler;\n\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({\n promise: promise,\n reason: promise._v\n });\n }\n });\n};\n\nvar $reject = function $reject(value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\n\nvar $resolve = function $resolve(value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise;\n\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = {\n _w: promise,\n _d: false\n };\n\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({\n _w: promise,\n _d: false\n }, e);\n }\n};\n\nif (!USE_NATIVE) {\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n\n Internal = function Promise(executor) {\n this._c = [];\n this._a = undefined;\n this._s = 0;\n this._d = false;\n this._v = undefined;\n this._h = 0;\n this._n = false;\n };\n\n Internal.prototype = __w_pdfjs_require__(102)($Promise.prototype, {\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n\n this._c.push(reaction);\n\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n 'catch': function _catch(onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n\n OwnPromiseCapability = function OwnPromiseCapability() {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Promise: $Promise\n});\n\n__w_pdfjs_require__(64)($Promise, PROMISE);\n\n__w_pdfjs_require__(103)(PROMISE);\n\nWrapper = __w_pdfjs_require__(14)[PROMISE];\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __w_pdfjs_require__(73)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {\n throw TypeError(name + ': incorrect invocation!');\n }\n\n return it;\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(28);\n\nvar call = __w_pdfjs_require__(68);\n\nvar isArrayIter = __w_pdfjs_require__(69);\n\nvar anObject = __w_pdfjs_require__(17);\n\nvar toLength = __w_pdfjs_require__(30);\n\nvar getIterFn = __w_pdfjs_require__(71);\n\nvar BREAK = {};\nvar RETURN = {};\n\nvar _exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () {\n return iterable;\n } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\n\n_exports.BREAK = BREAK;\n_exports.RETURN = RETURN;\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(17);\n\nvar aFunction = __w_pdfjs_require__(29);\n\nvar SPECIES = __w_pdfjs_require__(35)('species');\n\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(28);\n\nvar invoke = __w_pdfjs_require__(96);\n\nvar html = __w_pdfjs_require__(63);\n\nvar cel = __w_pdfjs_require__(22);\n\nvar global = __w_pdfjs_require__(13);\n\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function run() {\n var id = +this;\n\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar listener = function listener(event) {\n run.call(event.data);\n};\n\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n queue[++counter] = function () {\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n\n defer(counter);\n return counter;\n };\n\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n\n if (__w_pdfjs_require__(34)(process) == 'process') {\n defer = function defer(id) {\n process.nextTick(ctx(run, id, 1));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function defer(id) {\n Dispatch.now(ctx(run, id, 1));\n };\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function defer(id) {\n global.postMessage(id + '', '*');\n };\n\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function defer(id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n } else {\n defer = function defer(id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\n\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n\n switch (args.length) {\n case 0:\n return un ? fn() : fn.call(that);\n\n case 1:\n return un ? fn(args[0]) : fn.call(that, args[0]);\n\n case 2:\n return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);\n\n case 3:\n return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);\n\n case 4:\n return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);\n }\n\n return fn.apply(that, args);\n};\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(13);\n\nvar macrotask = __w_pdfjs_require__(95).set;\n\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __w_pdfjs_require__(34)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function flush() {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n\n while (head) {\n fn = head.fn;\n head = head.next;\n\n try {\n fn();\n } catch (e) {\n if (head) notify();else last = undefined;\n throw e;\n }\n }\n\n last = undefined;\n if (parent) parent.enter();\n };\n\n if (isNode) {\n notify = function notify() {\n process.nextTick(flush);\n };\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, {\n characterData: true\n });\n\n notify = function notify() {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve(undefined);\n\n notify = function notify() {\n promise.then(flush);\n };\n } else {\n notify = function notify() {\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last) last.next = task;\n\n if (!head) {\n head = task;\n notify();\n }\n\n last = task;\n };\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(29);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (exec) {\n try {\n return {\n e: false,\n v: exec()\n };\n } catch (e) {\n return {\n e: true,\n v: e\n };\n }\n};\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(13);\n\nvar navigator = global.navigator;\nmodule.exports = navigator && navigator.userAgent || '';\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(17);\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar newPromiseCapability = __w_pdfjs_require__(98);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefine = __w_pdfjs_require__(25);\n\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n redefine(target, key, src[key], safe);\n }\n\n return target;\n};\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(13);\n\nvar dP = __w_pdfjs_require__(16);\n\nvar DESCRIPTORS = __w_pdfjs_require__(20);\n\nvar SPECIES = __w_pdfjs_require__(35)('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar core = __w_pdfjs_require__(14);\n\nvar global = __w_pdfjs_require__(13);\n\nvar speciesConstructor = __w_pdfjs_require__(94);\n\nvar promiseResolve = __w_pdfjs_require__(101);\n\n$export($export.P + $export.R, 'Promise', {\n 'finally': function _finally(onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () {\n return x;\n });\n } : onFinally, isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () {\n throw e;\n });\n } : onFinally);\n }\n});\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar newPromiseCapability = __w_pdfjs_require__(98);\n\nvar perform = __w_pdfjs_require__(99);\n\n$export($export.S, 'Promise', {\n 'try': function _try(callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n }\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(87);\n\n__w_pdfjs_require__(88);\n\n__w_pdfjs_require__(107);\n\n__w_pdfjs_require__(119);\n\n__w_pdfjs_require__(121);\n\nmodule.exports = __w_pdfjs_require__(14).WeakMap;\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar each = __w_pdfjs_require__(108)(0);\n\nvar redefine = __w_pdfjs_require__(25);\n\nvar meta = __w_pdfjs_require__(112);\n\nvar assign = __w_pdfjs_require__(76);\n\nvar weak = __w_pdfjs_require__(113);\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar fails = __w_pdfjs_require__(21);\n\nvar validate = __w_pdfjs_require__(114);\n\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function wrapper(get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\nvar $WeakMap = module.exports = __w_pdfjs_require__(115)(WEAK_MAP, wrapper, methods, weak, true, true);\n\nif (fails(function () {\n return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7;\n})) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n\n var result = this._f[key](a, b);\n\n return key == 'set' ? this : result;\n }\n\n return method.call(this, a, b);\n });\n });\n}\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar ctx = __w_pdfjs_require__(28);\n\nvar IObject = __w_pdfjs_require__(48);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar toLength = __w_pdfjs_require__(30);\n\nvar asc = __w_pdfjs_require__(109);\n\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n\n if (TYPE) {\n if (IS_MAP) result[index] = res;else if (res) switch (TYPE) {\n case 3:\n return true;\n\n case 5:\n return val;\n\n case 6:\n return index;\n\n case 2:\n result.push(val);\n } else if (IS_EVERY) return false;\n }\n }\n }\n\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar speciesConstructor = __w_pdfjs_require__(110);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar isArray = __w_pdfjs_require__(111);\n\nvar SPECIES = __w_pdfjs_require__(35)('species');\n\nmodule.exports = function (original) {\n var C;\n\n if (isArray(original)) {\n C = original.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n\n return C === undefined ? Array : C;\n};\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar cof = __w_pdfjs_require__(34);\n\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar META = __w_pdfjs_require__(27)('meta');\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar has = __w_pdfjs_require__(26);\n\nvar setDesc = __w_pdfjs_require__(16).f;\n\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar FREEZE = !__w_pdfjs_require__(21)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\n\nvar setMeta = function setMeta(it) {\n setDesc(it, META, {\n value: {\n i: 'O' + ++id,\n w: {}\n }\n });\n};\n\nvar fastKey = function fastKey(it, create) {\n if (!isObject(it)) return _typeof(it) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\n if (!has(it, META)) {\n if (!isExtensible(it)) return 'F';\n if (!create) return 'E';\n setMeta(it);\n }\n\n return it[META].i;\n};\n\nvar getWeak = function getWeak(it, create) {\n if (!has(it, META)) {\n if (!isExtensible(it)) return true;\n if (!create) return false;\n setMeta(it);\n }\n\n return it[META].w;\n};\n\nvar onFreeze = function onFreeze(it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\n\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar redefineAll = __w_pdfjs_require__(102);\n\nvar getWeak = __w_pdfjs_require__(112).getWeak;\n\nvar anObject = __w_pdfjs_require__(17);\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar anInstance = __w_pdfjs_require__(92);\n\nvar forOf = __w_pdfjs_require__(93);\n\nvar createArrayMethod = __w_pdfjs_require__(108);\n\nvar $has = __w_pdfjs_require__(26);\n\nvar validate = __w_pdfjs_require__(114);\n\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\nvar uncaughtFrozenStore = function uncaughtFrozenStore(that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.a = [];\n};\n\nvar findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function get(key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function has(key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function set(key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;else this.a.push([key, value]);\n },\n 'delete': function _delete(key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME;\n that._i = id++;\n that._l = undefined;\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n 'delete': function _delete(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function def(that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(18);\n\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(13);\n\nvar $export = __w_pdfjs_require__(12);\n\nvar redefine = __w_pdfjs_require__(25);\n\nvar redefineAll = __w_pdfjs_require__(102);\n\nvar meta = __w_pdfjs_require__(112);\n\nvar forOf = __w_pdfjs_require__(93);\n\nvar anInstance = __w_pdfjs_require__(92);\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar fails = __w_pdfjs_require__(21);\n\nvar $iterDetect = __w_pdfjs_require__(73);\n\nvar setToStringTag = __w_pdfjs_require__(64);\n\nvar inheritIfRequired = __w_pdfjs_require__(116);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n\n var fixMethod = function fixMethod(KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY, KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) {\n fn.call(this, a === 0 ? 0 : a);\n return this;\n } : function set(a, b) {\n fn.call(this, a === 0 ? 0 : a, b);\n return this;\n });\n };\n\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = $iterDetect(function (iter) {\n new C(iter);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new C();\n var index = 5;\n\n while (index--) {\n $instance[ADDER](index, index);\n }\n\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n return C;\n};\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar setPrototypeOf = __w_pdfjs_require__(117).set;\n\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n }\n\n return that;\n};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar anObject = __w_pdfjs_require__(17);\n\nvar check = function check(O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\n\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? function (test, buggy, set) {\n try {\n set = __w_pdfjs_require__(28)(Function.call, __w_pdfjs_require__(118).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) {\n buggy = true;\n }\n\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pIE = __w_pdfjs_require__(78);\n\nvar createDesc = __w_pdfjs_require__(24);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar toPrimitive = __w_pdfjs_require__(23);\n\nvar has = __w_pdfjs_require__(26);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(19);\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(20) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) {}\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(120)('WeakMap');\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n\n while (length--) {\n A[length] = arguments[length];\n }\n\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(122)('WeakMap');\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar aFunction = __w_pdfjs_require__(29);\n\nvar ctx = __w_pdfjs_require__(28);\n\nvar forOf = __w_pdfjs_require__(93);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, {\n from: function from(source) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n\n return new this(A);\n }\n });\n};\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(87);\n\n__w_pdfjs_require__(88);\n\n__w_pdfjs_require__(124);\n\n__w_pdfjs_require__(125);\n\n__w_pdfjs_require__(126);\n\nmodule.exports = __w_pdfjs_require__(14).WeakSet;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar weak = __w_pdfjs_require__(113);\n\nvar validate = __w_pdfjs_require__(114);\n\nvar WEAK_SET = 'WeakSet';\n\n__w_pdfjs_require__(115)(WEAK_SET, function (get) {\n return function WeakSet() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n}, {\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(120)('WeakSet');\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(122)('WeakSet');\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(128);\n\nmodule.exports = __w_pdfjs_require__(14).String.codePointAt;\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar $at = __w_pdfjs_require__(53)(false);\n\n$export($export.P, 'String', {\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(130);\n\nmodule.exports = __w_pdfjs_require__(14).String.fromCodePoint;\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\n\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n fromCodePoint: function fromCodePoint(x) {\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));\n }\n\n return res.join('');\n }\n});\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(132);\n\n__w_pdfjs_require__(87);\n\nmodule.exports = __w_pdfjs_require__(14).Symbol;\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar global = __w_pdfjs_require__(13);\n\nvar has = __w_pdfjs_require__(26);\n\nvar DESCRIPTORS = __w_pdfjs_require__(20);\n\nvar $export = __w_pdfjs_require__(12);\n\nvar redefine = __w_pdfjs_require__(25);\n\nvar META = __w_pdfjs_require__(112).KEY;\n\nvar $fails = __w_pdfjs_require__(21);\n\nvar shared = __w_pdfjs_require__(36);\n\nvar setToStringTag = __w_pdfjs_require__(64);\n\nvar uid = __w_pdfjs_require__(27);\n\nvar wks = __w_pdfjs_require__(35);\n\nvar wksExt = __w_pdfjs_require__(133);\n\nvar wksDefine = __w_pdfjs_require__(134);\n\nvar enumKeys = __w_pdfjs_require__(135);\n\nvar isArray = __w_pdfjs_require__(111);\n\nvar anObject = __w_pdfjs_require__(17);\n\nvar isObject = __w_pdfjs_require__(18);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar toPrimitive = __w_pdfjs_require__(23);\n\nvar createDesc = __w_pdfjs_require__(24);\n\nvar _create = __w_pdfjs_require__(57);\n\nvar gOPNExt = __w_pdfjs_require__(136);\n\nvar $GOPD = __w_pdfjs_require__(118);\n\nvar $DP = __w_pdfjs_require__(16);\n\nvar $keys = __w_pdfjs_require__(59);\n\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\n\nvar _stringify = $JSON && $JSON.stringify;\n\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function get() {\n return dP(this, 'a', {\n value: 7\n }).a;\n }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function wrap(tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {\n return _typeof(it) == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, {\n enumerable: createDesc(0, false)\n });\n }\n\n return setSymbolDesc(it, key, D);\n }\n\n return dP(it, key, D);\n};\n\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n\n while (l > i) {\n $defineProperty(it, key = keys[i++], P[key]);\n }\n\n return it;\n};\n\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n }\n\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n }\n\n return result;\n};\n\nif (!USE_NATIVE) {\n $Symbol = function _Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\n var $set = function $set(value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: $set\n });\n return wrap(tag);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __w_pdfjs_require__(137).f = gOPNExt.f = $getOwnPropertyNames;\n __w_pdfjs_require__(78).f = $propertyIsEnumerable;\n __w_pdfjs_require__(77).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__w_pdfjs_require__(37)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {\n Symbol: $Symbol\n});\n\nfor (var es6Symbols = 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), j = 0; es6Symbols.length > j;) {\n wks(es6Symbols[j++]);\n}\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) {\n wksDefine(wellKnownSymbols[k++]);\n}\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n 'for': function _for(key) {\n return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n\n for (var key in SymbolRegistry) {\n if (SymbolRegistry[key] === sym) return key;\n }\n },\n useSetter: function useSetter() {\n setter = true;\n },\n useSimple: function useSimple() {\n setter = false;\n }\n});\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n return _stringify([S]) != '[null]' || _stringify({\n a: S\n }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n\n while (arguments.length > i) {\n args.push(arguments[i++]);\n }\n\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return;\n if (!isArray(replacer)) replacer = function replacer(key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __w_pdfjs_require__(15)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\nsetToStringTag($Symbol, 'Symbol');\nsetToStringTag(Math, 'Math', true);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nexports.f = __w_pdfjs_require__(35);\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(13);\n\nvar core = __w_pdfjs_require__(14);\n\nvar LIBRARY = __w_pdfjs_require__(37);\n\nvar wksExt = __w_pdfjs_require__(133);\n\nvar defineProperty = __w_pdfjs_require__(16).f;\n\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, {\n value: wksExt.f(name)\n });\n};\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(59);\n\nvar gOPS = __w_pdfjs_require__(77);\n\nvar pIE = __w_pdfjs_require__(78);\n\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n\n while (symbols.length > i) {\n if (isEnum.call(it, key = symbols[i++])) result.push(key);\n }\n }\n\n return result;\n};\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar gOPN = __w_pdfjs_require__(137).f;\n\nvar toString = {}.toString;\nvar windowNames = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function getWindowNames(it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $keys = __w_pdfjs_require__(60);\n\nvar hiddenKeys = __w_pdfjs_require__(62).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(139);\n\nmodule.exports = __w_pdfjs_require__(14).String.padStart;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar $pad = __w_pdfjs_require__(140);\n\nvar userAgent = __w_pdfjs_require__(100);\n\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padStart: function padStart(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toLength = __w_pdfjs_require__(30);\n\nvar repeat = __w_pdfjs_require__(141);\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(31);\n\nvar defined = __w_pdfjs_require__(38);\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n\n for (; n > 0; (n >>>= 1) && (str += str)) {\n if (n & 1) res += str;\n }\n\n return res;\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(143);\n\nmodule.exports = __w_pdfjs_require__(14).String.padEnd;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar $pad = __w_pdfjs_require__(140);\n\nvar userAgent = __w_pdfjs_require__(100);\n\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padEnd: function padEnd(maxLength) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(145);\n\nmodule.exports = __w_pdfjs_require__(14).Object.values;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(12);\n\nvar $values = __w_pdfjs_require__(146)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar getKeys = __w_pdfjs_require__(59);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar isEnum = __w_pdfjs_require__(78).f;\n\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n\n while (length > i) {\n if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n\n return result;\n };\n};\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n{\n var isReadableStreamSupported = false;\n\n if (typeof ReadableStream !== 'undefined') {\n try {\n new ReadableStream({\n start: function start(controller) {\n controller.close();\n }\n });\n isReadableStreamSupported = true;\n } catch (e) {}\n }\n\n if (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n } else {\n exports.ReadableStream = __w_pdfjs_require__(148).ReadableStream;\n }\n}\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\n(function (e, a) {\n for (var i in a) {\n e[i] = a[i];\n }\n})(exports, function (modules) {\n var installedModules = {};\n\n function __w_pdfjs_require__(moduleId) {\n if (installedModules[moduleId]) return installedModules[moduleId].exports;\n var module = installedModules[moduleId] = {\n i: moduleId,\n l: false,\n exports: {}\n };\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n module.l = true;\n return module.exports;\n }\n\n __w_pdfjs_require__.m = modules;\n __w_pdfjs_require__.c = installedModules;\n\n __w_pdfjs_require__.i = function (value) {\n return value;\n };\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n if (!__w_pdfjs_require__.o(exports, name)) {\n Object.defineProperty(exports, name, {\n configurable: false,\n enumerable: true,\n get: getter\n });\n }\n };\n\n __w_pdfjs_require__.n = function (module) {\n var getter = module && module.__esModule ? function getDefault() {\n return module['default'];\n } : function getModuleExports() {\n return module;\n };\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n\n return getter;\n };\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n\n __w_pdfjs_require__.p = \"\";\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 7);\n}([function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n function IsPropertyKey(argument) {\n return typeof argument === 'string' || (typeof argument === 'undefined' ? 'undefined' : _typeof(argument)) === 'symbol';\n }\n\n exports.typeIsObject = function (x) {\n return (typeof x === 'undefined' ? 'undefined' : _typeof(x)) === 'object' && x !== null || typeof x === 'function';\n };\n\n exports.createDataProperty = function (o, p, v) {\n assert(exports.typeIsObject(o));\n Object.defineProperty(o, p, {\n value: v,\n writable: true,\n enumerable: true,\n configurable: true\n });\n };\n\n exports.createArrayFromList = function (elements) {\n return elements.slice();\n };\n\n exports.ArrayBufferCopy = function (dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n };\n\n exports.CreateIterResultObject = function (value, done) {\n assert(typeof done === 'boolean');\n var obj = {};\n Object.defineProperty(obj, 'value', {\n value: value,\n enumerable: true,\n writable: true,\n configurable: true\n });\n Object.defineProperty(obj, 'done', {\n value: done,\n enumerable: true,\n writable: true,\n configurable: true\n });\n return obj;\n };\n\n exports.IsFiniteNonNegativeNumber = function (v) {\n if (Number.isNaN(v)) {\n return false;\n }\n\n if (v === Infinity) {\n return false;\n }\n\n if (v < 0) {\n return false;\n }\n\n return true;\n };\n\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n\n return Function.prototype.apply.call(F, V, args);\n }\n\n exports.InvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n var method = O[P];\n\n if (method === undefined) {\n return undefined;\n }\n\n return Call(method, O, args);\n };\n\n exports.PromiseInvokeOrNoop = function (O, P, args) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n\n try {\n return Promise.resolve(exports.InvokeOrNoop(O, P, args));\n } catch (returnValueE) {\n return Promise.reject(returnValueE);\n }\n };\n\n exports.PromiseInvokeOrPerformFallback = function (O, P, args, F, argsF) {\n assert(O !== undefined);\n assert(IsPropertyKey(P));\n assert(Array.isArray(args));\n assert(Array.isArray(argsF));\n var method = void 0;\n\n try {\n method = O[P];\n } catch (methodE) {\n return Promise.reject(methodE);\n }\n\n if (method === undefined) {\n return F.apply(null, argsF);\n }\n\n try {\n return Promise.resolve(Call(method, O, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n\n exports.TransferArrayBuffer = function (O) {\n return O.slice();\n };\n\n exports.ValidateAndNormalizeHighWaterMark = function (highWaterMark) {\n highWaterMark = Number(highWaterMark);\n\n if (Number.isNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\n }\n\n return highWaterMark;\n };\n\n exports.ValidateAndNormalizeQueuingStrategy = function (size, highWaterMark) {\n if (size !== undefined && typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n\n highWaterMark = exports.ValidateAndNormalizeHighWaterMark(highWaterMark);\n return {\n size: size,\n highWaterMark: highWaterMark\n };\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n function rethrowAssertionErrorRejection(e) {\n if (e && e.constructor === AssertionError) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n\n function AssertionError(message) {\n this.name = 'AssertionError';\n this.message = message || '';\n this.stack = new Error().stack;\n }\n\n AssertionError.prototype = Object.create(Error.prototype);\n AssertionError.prototype.constructor = AssertionError;\n\n function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n }\n\n module.exports = {\n rethrowAssertionErrorRejection: rethrowAssertionErrorRejection,\n AssertionError: AssertionError,\n assert: assert\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(0),\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n typeIsObject = _require.typeIsObject;\n\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert,\n rethrowAssertionErrorRejection = _require2.rethrowAssertionErrorRejection;\n\n var _require3 = __w_pdfjs_require__(3),\n DequeueValue = _require3.DequeueValue,\n EnqueueValueWithSize = _require3.EnqueueValueWithSize,\n PeekQueueValue = _require3.PeekQueueValue,\n ResetQueue = _require3.ResetQueue;\n\n var WritableStream = function () {\n function WritableStream() {\n var underlyingSink = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n _ref$highWaterMark = _ref.highWaterMark,\n highWaterMark = _ref$highWaterMark === undefined ? 1 : _ref$highWaterMark;\n\n _classCallCheck(this, WritableStream);\n\n this._state = 'writable';\n this._storedError = undefined;\n this._writer = undefined;\n this._writableStreamController = undefined;\n this._writeRequests = [];\n this._inFlightWriteRequest = undefined;\n this._closeRequest = undefined;\n this._inFlightCloseRequest = undefined;\n this._pendingAbortRequest = undefined;\n this._backpressure = false;\n var type = underlyingSink.type;\n\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n\n this._writableStreamController = new WritableStreamDefaultController(this, underlyingSink, size, highWaterMark);\n\n this._writableStreamController.__startSteps();\n }\n\n _createClass(WritableStream, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('abort'));\n }\n\n if (IsWritableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\n }\n\n return WritableStreamAbort(this, reason);\n }\n }, {\n key: 'getWriter',\n value: function getWriter() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n\n return AcquireWritableStreamDefaultWriter(this);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsWritableStreamLocked(this);\n }\n }]);\n\n return WritableStream;\n }();\n\n module.exports = {\n AcquireWritableStreamDefaultWriter: AcquireWritableStreamDefaultWriter,\n IsWritableStream: IsWritableStream,\n IsWritableStreamLocked: IsWritableStreamLocked,\n WritableStream: WritableStream,\n WritableStreamAbort: WritableStreamAbort,\n WritableStreamDefaultControllerError: WritableStreamDefaultControllerError,\n WritableStreamDefaultWriterCloseWithErrorPropagation: WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease: WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite: WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight: WritableStreamCloseQueuedOrInFlight\n };\n\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsWritableStreamLocked(stream) {\n assert(IsWritableStream(stream) === true, 'IsWritableStreamLocked should only be used on known writable streams');\n\n if (stream._writer === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n\n if (state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n var error = new TypeError('Requested to abort');\n\n if (stream._pendingAbortRequest !== undefined) {\n return Promise.reject(error);\n }\n\n assert(state === 'writable' || state === 'erroring', 'state must be writable or erroring');\n var wasAlreadyErroring = false;\n\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n\n var promise = new Promise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, error);\n }\n\n return promise;\n }\n\n function WritableStreamAddWriteRequest(stream) {\n assert(IsWritableStreamLocked(stream) === true);\n assert(stream._state === 'writable');\n var promise = new Promise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n\n assert(state === 'erroring');\n WritableStreamFinishErroring(stream);\n }\n\n function WritableStreamStartErroring(stream, reason) {\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n assert(stream._state === 'writable', 'state must be writable');\n var controller = stream._writableStreamController;\n assert(controller !== undefined, 'controller must not be undefined');\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n\n function WritableStreamFinishErroring(stream) {\n assert(stream._state === 'erroring', 'stream._state === erroring');\n assert(WritableStreamHasOperationMarkedInFlight(stream) === false, 'WritableStreamHasOperationMarkedInFlight(stream) === false');\n stream._state = 'errored';\n\n stream._writableStreamController.__errorSteps();\n\n var storedError = stream._storedError;\n\n for (var i = 0; i < stream._writeRequests.length; i++) {\n var writeRequest = stream._writeRequests[i];\n\n writeRequest._reject(storedError);\n }\n\n stream._writeRequests = [];\n\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n\n var promise = stream._writableStreamController.__abortSteps(abortRequest._reason);\n\n promise.then(function () {\n abortRequest._resolve();\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n\n function WritableStreamFinishInFlightWrite(stream) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._resolve(undefined);\n\n stream._inFlightWriteRequest = undefined;\n }\n\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n assert(stream._inFlightWriteRequest !== undefined);\n\n stream._inFlightWriteRequest._reject(error);\n\n stream._inFlightWriteRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamFinishInFlightClose(stream) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._resolve(undefined);\n\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n\n if (state === 'erroring') {\n stream._storedError = undefined;\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n\n stream._pendingAbortRequest = undefined;\n }\n }\n\n stream._state = 'closed';\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n\n assert(stream._pendingAbortRequest === undefined, 'stream._pendingAbortRequest === undefined');\n assert(stream._storedError === undefined, 'stream._storedError === undefined');\n }\n\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n assert(stream._inFlightCloseRequest !== undefined);\n\n stream._inFlightCloseRequest._reject(error);\n\n stream._inFlightCloseRequest = undefined;\n assert(stream._state === 'writable' || stream._state === 'erroring');\n\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n\n stream._pendingAbortRequest = undefined;\n }\n\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamMarkCloseRequestInFlight(stream) {\n assert(stream._inFlightCloseRequest === undefined);\n assert(stream._closeRequest !== undefined);\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n assert(stream._inFlightWriteRequest === undefined, 'there must be no pending write request');\n assert(stream._writeRequests.length !== 0, 'writeRequests must not be empty');\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n assert(stream._state === 'errored', '_stream_.[[state]] is `\"errored\"`');\n\n if (stream._closeRequest !== undefined) {\n assert(stream._inFlightCloseRequest === undefined);\n\n stream._closeRequest._reject(stream._storedError);\n\n stream._closeRequest = undefined;\n }\n\n var writer = stream._writer;\n\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n\n writer._closedPromise.catch(function () {});\n }\n }\n\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n assert(stream._state === 'writable');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var writer = stream._writer;\n\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n assert(backpressure === false);\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n\n stream._backpressure = backpressure;\n }\n\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\n _classCallCheck(this, WritableStreamDefaultWriter);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\n }\n\n if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n\n this._readyPromise.catch(function () {});\n\n defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n assert(state === 'errored', 'state must be errored');\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n\n this._readyPromise.catch(function () {});\n\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n\n this._closedPromise.catch(function () {});\n }\n }\n\n _createClass(WritableStreamDefaultWriter, [{\n key: 'abort',\n value: function abort(reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('abort'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('abort'));\n }\n\n return WritableStreamDefaultWriterAbort(this, reason);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('close'));\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return Promise.reject(defaultWriterLockException('close'));\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\n }\n\n return WritableStreamDefaultWriterClose(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return;\n }\n\n assert(stream._writer !== undefined);\n WritableStreamDefaultWriterRelease(this);\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('write'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n return WritableStreamDefaultWriterWrite(this, chunk);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n\n return WritableStreamDefaultWriterGetDesiredSize(this);\n }\n }, {\n key: 'ready',\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return Promise.reject(defaultWriterBrandCheckException('ready'));\n }\n\n return this._readyPromise;\n }\n }]);\n\n return WritableStreamDefaultWriter;\n }();\n\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n return WritableStreamAbort(stream, reason);\n }\n\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return Promise.reject(new TypeError('The stream (in ' + state + ' state) is not in the writable state and cannot be closed'));\n }\n\n assert(state === 'writable' || state === 'erroring');\n assert(WritableStreamCloseQueuedOrInFlight(stream) === false);\n var promise = new Promise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n\n if (stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var state = stream._state;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.resolve();\n }\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable' || state === 'erroring');\n return WritableStreamDefaultWriterClose(writer);\n }\n\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n\n writer._closedPromise.catch(function () {});\n }\n\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n\n writer._readyPromise.catch(function () {});\n }\n\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n assert(stream._writer === writer);\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n assert(stream !== undefined);\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n\n if (stream !== writer._ownerWritableStream) {\n return Promise.reject(defaultWriterLockException('write to'));\n }\n\n var state = stream._state;\n\n if (state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n\n if (state === 'erroring') {\n return Promise.reject(stream._storedError);\n }\n\n assert(state === 'writable');\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController(stream, underlyingSink, size, highWaterMark) {\n _classCallCheck(this, WritableStreamDefaultController);\n\n if (IsWritableStream(stream) === false) {\n throw new TypeError('WritableStreamDefaultController can only be constructed with a WritableStream instance');\n }\n\n if (stream._writableStreamController !== undefined) {\n throw new TypeError('WritableStreamDefaultController instances can only be created by the WritableStream constructor');\n }\n\n this._controlledWritableStream = stream;\n this._underlyingSink = underlyingSink;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(this);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n _createClass(WritableStreamDefaultController, [{\n key: 'error',\n value: function error(e) {\n if (IsWritableStreamDefaultController(this) === false) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n\n var state = this._controlledWritableStream._state;\n\n if (state !== 'writable') {\n return;\n }\n\n WritableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__abortSteps',\n value: function __abortSteps(reason) {\n return PromiseInvokeOrNoop(this._underlyingSink, 'abort', [reason]);\n }\n }, {\n key: '__errorSteps',\n value: function __errorSteps() {\n ResetQueue(this);\n }\n }, {\n key: '__startSteps',\n value: function __startSteps() {\n var _this = this;\n\n var startResult = InvokeOrNoop(this._underlyingSink, 'start', [this]);\n var stream = this._controlledWritableStream;\n Promise.resolve(startResult).then(function () {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(_this);\n }, function (r) {\n assert(stream._state === 'writable' || stream._state === 'erroring');\n _this._started = true;\n WritableStreamDealWithRejection(stream, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n }]);\n\n return WritableStreamDefaultController;\n }();\n\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n var strategySize = controller._strategySize;\n\n if (strategySize === undefined) {\n return 1;\n }\n\n try {\n return strategySize(chunk);\n } catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = {\n chunk: chunk\n };\n\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n\n var stream = controller._controlledWritableStream;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSink')) {\n return false;\n }\n\n return true;\n }\n\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n\n if (controller._started === false) {\n return;\n }\n\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return;\n }\n\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n\n if (controller._queue.length === 0) {\n return;\n }\n\n var writeRecord = PeekQueueValue(controller);\n\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n assert(controller._queue.length === 0, 'queue must be empty once the final write record is dequeued');\n var sinkClosePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'close', []);\n sinkClosePromise.then(function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = PromiseInvokeOrNoop(controller._underlyingSink, 'write', [chunk, controller]);\n sinkWritePromise.then(function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n assert(state === 'writable' || state === 'erroring');\n DequeueValue(controller);\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n }).catch(rethrowAssertionErrorRejection);\n }\n\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n assert(stream._state === 'writable');\n WritableStreamStartErroring(stream, error);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('WritableStream.prototype.' + name + ' can only be used on a WritableStream');\n }\n\n function defaultWriterBrandCheckException(name) {\n return new TypeError('WritableStreamDefaultWriter.prototype.' + name + ' can only be used on a WritableStreamDefaultWriter');\n }\n\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = new Promise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n writer._closedPromise = Promise.resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n\n function defaultWriterClosedPromiseReject(writer, reason) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n\n writer._closedPromise_reject(reason);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n assert(writer._closedPromise_resolve === undefined, 'writer._closedPromise_resolve === undefined');\n assert(writer._closedPromise_reject === undefined, 'writer._closedPromise_reject === undefined');\n assert(writer._closedPromiseState !== 'pending', 'writer._closedPromiseState is not pending');\n writer._closedPromise = Promise.reject(reason);\n writer._closedPromiseState = 'rejected';\n }\n\n function defaultWriterClosedPromiseResolve(writer) {\n assert(writer._closedPromise_resolve !== undefined, 'writer._closedPromise_resolve !== undefined');\n assert(writer._closedPromise_reject !== undefined, 'writer._closedPromise_reject !== undefined');\n assert(writer._closedPromiseState === 'pending', 'writer._closedPromiseState is pending');\n\n writer._closedPromise_resolve(undefined);\n\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n writer._readyPromise = Promise.resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n\n function defaultWriterReadyPromiseReject(writer, reason) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n\n writer._readyPromise_reject(reason);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseReset(writer) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = new Promise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n assert(writer._readyPromise_resolve === undefined, 'writer._readyPromise_resolve === undefined');\n assert(writer._readyPromise_reject === undefined, 'writer._readyPromise_reject === undefined');\n writer._readyPromise = Promise.reject(reason);\n writer._readyPromiseState = 'rejected';\n }\n\n function defaultWriterReadyPromiseResolve(writer) {\n assert(writer._readyPromise_resolve !== undefined, 'writer._readyPromise_resolve !== undefined');\n assert(writer._readyPromise_reject !== undefined, 'writer._readyPromise_reject !== undefined');\n\n writer._readyPromise_resolve(undefined);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _require = __w_pdfjs_require__(0),\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber;\n\n var _require2 = __w_pdfjs_require__(1),\n assert = _require2.assert;\n\n exports.DequeueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: DequeueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never dequeue from an empty queue.');\n\n var pair = container._queue.shift();\n\n container._queueTotalSize -= pair.size;\n\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n\n return pair.value;\n };\n\n exports.EnqueueValueWithSize = function (container, value, size) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: EnqueueValueWithSize should only be used on containers with [[queue]] and ' + '[[queueTotalSize]].');\n size = Number(size);\n\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n\n container._queue.push({\n value: value,\n size: size\n });\n\n container._queueTotalSize += size;\n };\n\n exports.PeekQueueValue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: PeekQueueValue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n assert(container._queue.length > 0, 'Spec-level failure: should never peek at an empty queue.');\n var pair = container._queue[0];\n return pair.value;\n };\n\n exports.ResetQueue = function (container) {\n assert('_queue' in container && '_queueTotalSize' in container, 'Spec-level failure: ResetQueue should only be used on containers with [[queue]] and [[queueTotalSize]].');\n container._queue = [];\n container._queueTotalSize = 0;\n };\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(0),\n ArrayBufferCopy = _require.ArrayBufferCopy,\n CreateIterResultObject = _require.CreateIterResultObject,\n IsFiniteNonNegativeNumber = _require.IsFiniteNonNegativeNumber,\n InvokeOrNoop = _require.InvokeOrNoop,\n PromiseInvokeOrNoop = _require.PromiseInvokeOrNoop,\n TransferArrayBuffer = _require.TransferArrayBuffer,\n ValidateAndNormalizeQueuingStrategy = _require.ValidateAndNormalizeQueuingStrategy,\n ValidateAndNormalizeHighWaterMark = _require.ValidateAndNormalizeHighWaterMark;\n\n var _require2 = __w_pdfjs_require__(0),\n createArrayFromList = _require2.createArrayFromList,\n createDataProperty = _require2.createDataProperty,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(1),\n assert = _require3.assert,\n rethrowAssertionErrorRejection = _require3.rethrowAssertionErrorRejection;\n\n var _require4 = __w_pdfjs_require__(3),\n DequeueValue = _require4.DequeueValue,\n EnqueueValueWithSize = _require4.EnqueueValueWithSize,\n ResetQueue = _require4.ResetQueue;\n\n var _require5 = __w_pdfjs_require__(2),\n AcquireWritableStreamDefaultWriter = _require5.AcquireWritableStreamDefaultWriter,\n IsWritableStream = _require5.IsWritableStream,\n IsWritableStreamLocked = _require5.IsWritableStreamLocked,\n WritableStreamAbort = _require5.WritableStreamAbort,\n WritableStreamDefaultWriterCloseWithErrorPropagation = _require5.WritableStreamDefaultWriterCloseWithErrorPropagation,\n WritableStreamDefaultWriterRelease = _require5.WritableStreamDefaultWriterRelease,\n WritableStreamDefaultWriterWrite = _require5.WritableStreamDefaultWriterWrite,\n WritableStreamCloseQueuedOrInFlight = _require5.WritableStreamCloseQueuedOrInFlight;\n\n var ReadableStream = function () {\n function ReadableStream() {\n var underlyingSource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n size = _ref.size,\n highWaterMark = _ref.highWaterMark;\n\n _classCallCheck(this, ReadableStream);\n\n this._state = 'readable';\n this._reader = undefined;\n this._storedError = undefined;\n this._disturbed = false;\n this._readableStreamController = undefined;\n var type = underlyingSource.type;\n var typeString = String(type);\n\n if (typeString === 'bytes') {\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n\n this._readableStreamController = new ReadableByteStreamController(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n\n this._readableStreamController = new ReadableStreamDefaultController(this, underlyingSource, size, highWaterMark);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n\n _createClass(ReadableStream, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('cancel'));\n }\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n\n return ReadableStreamCancel(this, reason);\n }\n }, {\n key: 'getReader',\n value: function getReader() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mode = _ref2.mode;\n\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('getReader');\n }\n\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n\n mode = String(mode);\n\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this);\n }\n\n throw new RangeError('Invalid mode is specified');\n }\n }, {\n key: 'pipeThrough',\n value: function pipeThrough(_ref3, options) {\n var writable = _ref3.writable,\n readable = _ref3.readable;\n var promise = this.pipeTo(writable, options);\n ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise);\n return readable;\n }\n }, {\n key: 'pipeTo',\n value: function pipeTo(dest) {\n var _this = this;\n\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n preventClose = _ref4.preventClose,\n preventAbort = _ref4.preventAbort,\n preventCancel = _ref4.preventCancel;\n\n if (IsReadableStream(this) === false) {\n return Promise.reject(streamBrandCheckException('pipeTo'));\n }\n\n if (IsWritableStream(dest) === false) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n\n if (IsReadableStreamLocked(this) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n\n if (IsWritableStreamLocked(dest) === true) {\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n\n var reader = AcquireReadableStreamDefaultReader(this);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n var shuttingDown = false;\n var currentWrite = Promise.resolve();\n return new Promise(function (resolve, reject) {\n function pipeLoop() {\n currentWrite = Promise.resolve();\n\n if (shuttingDown === true) {\n return Promise.resolve();\n }\n\n return writer._readyPromise.then(function () {\n return ReadableStreamDefaultReaderRead(reader).then(function (_ref5) {\n var value = _ref5.value,\n done = _ref5.done;\n\n if (done === true) {\n return;\n }\n\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(function () {});\n });\n }).then(pipeLoop);\n }\n\n isOrBecomesErrored(_this, reader._closedPromise, function (storedError) {\n if (preventAbort === false) {\n shutdownWithAction(function () {\n return WritableStreamAbort(dest, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(_this, reader._closedPromise, function () {\n if (preventClose === false) {\n shutdownWithAction(function () {\n return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n });\n } else {\n shutdown();\n }\n });\n\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\n var destClosed = new TypeError('the destination writable stream closed before all data could be piped to it');\n\n if (preventCancel === false) {\n shutdownWithAction(function () {\n return ReadableStreamCancel(_this, destClosed);\n }, true, destClosed);\n } else {\n shutdown(true, destClosed);\n }\n }\n\n pipeLoop().catch(function (err) {\n currentWrite = Promise.resolve();\n rethrowAssertionErrorRejection(err);\n });\n\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return currentWrite.then(function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n });\n }\n\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n } else {\n promise.catch(action).catch(rethrowAssertionErrorRejection);\n }\n }\n\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n promise.then(action).catch(rethrowAssertionErrorRejection);\n }\n }\n\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(doTheRest);\n } else {\n doTheRest();\n }\n\n function doTheRest() {\n action().then(function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n }).catch(rethrowAssertionErrorRejection);\n }\n }\n\n function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n\n shuttingDown = true;\n\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n waitForWritesToFinish().then(function () {\n return finalize(isError, error);\n }).catch(rethrowAssertionErrorRejection);\n } else {\n finalize(isError, error);\n }\n }\n\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n }, {\n key: 'tee',\n value: function tee() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('tee');\n }\n\n var branches = ReadableStreamTee(this, false);\n return createArrayFromList(branches);\n }\n }, {\n key: 'locked',\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsReadableStreamLocked(this);\n }\n }]);\n\n return ReadableStream;\n }();\n\n module.exports = {\n ReadableStream: ReadableStream,\n IsReadableStreamDisturbed: IsReadableStreamDisturbed,\n ReadableStreamDefaultControllerClose: ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue: ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError: ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize: ReadableStreamDefaultControllerGetDesiredSize\n };\n\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDisturbed(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamDisturbed should only be used on known readable streams');\n return stream._disturbed;\n }\n\n function IsReadableStreamLocked(stream) {\n assert(IsReadableStream(stream) === true, 'IsReadableStreamLocked should only be used on known readable streams');\n\n if (stream._reader === undefined) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamTee(stream, cloneForBranch2) {\n assert(IsReadableStream(stream) === true);\n assert(typeof cloneForBranch2 === 'boolean');\n var reader = AcquireReadableStreamDefaultReader(stream);\n var teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: undefined,\n reason2: undefined\n };\n teeState.promise = new Promise(function (resolve) {\n teeState._resolve = resolve;\n });\n var pull = create_ReadableStreamTeePullFunction();\n pull._reader = reader;\n pull._teeState = teeState;\n pull._cloneForBranch2 = cloneForBranch2;\n var cancel1 = create_ReadableStreamTeeBranch1CancelFunction();\n cancel1._stream = stream;\n cancel1._teeState = teeState;\n var cancel2 = create_ReadableStreamTeeBranch2CancelFunction();\n cancel2._stream = stream;\n cancel2._teeState = teeState;\n var underlyingSource1 = Object.create(Object.prototype);\n createDataProperty(underlyingSource1, 'pull', pull);\n createDataProperty(underlyingSource1, 'cancel', cancel1);\n var branch1Stream = new ReadableStream(underlyingSource1);\n var underlyingSource2 = Object.create(Object.prototype);\n createDataProperty(underlyingSource2, 'pull', pull);\n createDataProperty(underlyingSource2, 'cancel', cancel2);\n var branch2Stream = new ReadableStream(underlyingSource2);\n pull._branch1 = branch1Stream._readableStreamController;\n pull._branch2 = branch2Stream._readableStreamController;\n\n reader._closedPromise.catch(function (r) {\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n ReadableStreamDefaultControllerError(pull._branch1, r);\n ReadableStreamDefaultControllerError(pull._branch2, r);\n teeState.closedOrErrored = true;\n });\n\n return [branch1Stream, branch2Stream];\n }\n\n function create_ReadableStreamTeePullFunction() {\n function f() {\n var reader = f._reader,\n branch1 = f._branch1,\n branch2 = f._branch2,\n teeState = f._teeState;\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\n assert(typeIsObject(result));\n var value = result.value;\n var done = result.done;\n assert(typeof done === 'boolean');\n\n if (done === true && teeState.closedOrErrored === false) {\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2);\n }\n\n teeState.closedOrErrored = true;\n }\n\n if (teeState.closedOrErrored === true) {\n return;\n }\n\n var value1 = value;\n var value2 = value;\n\n if (teeState.canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1, value1);\n }\n\n if (teeState.canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2, value2);\n }\n });\n }\n\n return f;\n }\n\n function create_ReadableStreamTeeBranch1CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled1 = true;\n teeState.reason1 = reason;\n\n if (teeState.canceled2 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\n\n function create_ReadableStreamTeeBranch2CancelFunction() {\n function f(reason) {\n var stream = f._stream,\n teeState = f._teeState;\n teeState.canceled2 = true;\n teeState.reason2 = reason;\n\n if (teeState.canceled1 === true) {\n var compositeReason = createArrayFromList([teeState.reason1, teeState.reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n\n teeState._resolve(cancelResult);\n }\n\n return teeState.promise;\n }\n\n return f;\n }\n\n function ReadableStreamAddReadIntoRequest(stream) {\n assert(IsReadableStreamBYOBReader(stream._reader) === true);\n assert(stream._state === 'readable' || stream._state === 'closed');\n var promise = new Promise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n\n function ReadableStreamAddReadRequest(stream) {\n assert(IsReadableStreamDefaultReader(stream._reader) === true);\n assert(stream._state === 'readable');\n var promise = new Promise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(undefined);\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n ReadableStreamClose(stream);\n\n var sourceCancelPromise = stream._readableStreamController.__cancelSteps(reason);\n\n return sourceCancelPromise.then(function () {\n return undefined;\n });\n }\n\n function ReadableStreamClose(stream) {\n assert(stream._state === 'readable');\n stream._state = 'closed';\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var _resolve = reader._readRequests[i]._resolve;\n\n _resolve(CreateIterResultObject(undefined, true));\n }\n\n reader._readRequests = [];\n }\n\n defaultReaderClosedPromiseResolve(reader);\n return undefined;\n }\n\n function ReadableStreamError(stream, e) {\n assert(IsReadableStream(stream) === true, 'stream must be ReadableStream');\n assert(stream._state === 'readable', 'state must be readable');\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n\n if (reader === undefined) {\n return undefined;\n }\n\n if (IsReadableStreamDefaultReader(reader) === true) {\n for (var i = 0; i < reader._readRequests.length; i++) {\n var readRequest = reader._readRequests[i];\n\n readRequest._reject(e);\n }\n\n reader._readRequests = [];\n } else {\n assert(IsReadableStreamBYOBReader(reader), 'reader must be ReadableStreamBYOBReader');\n\n for (var _i = 0; _i < reader._readIntoRequests.length; _i++) {\n var readIntoRequest = reader._readIntoRequests[_i];\n\n readIntoRequest._reject(e);\n }\n\n reader._readIntoRequests = [];\n }\n\n defaultReaderClosedPromiseReject(reader, e);\n\n reader._closedPromise.catch(function () {});\n }\n\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readIntoRequests.length > 0);\n\n var readIntoRequest = reader._readIntoRequests.shift();\n\n readIntoRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n assert(reader._readRequests.length > 0);\n\n var readRequest = reader._readRequests.shift();\n\n readRequest._resolve(CreateIterResultObject(chunk, done));\n }\n\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamBYOBReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n\n if (reader === undefined) {\n return false;\n }\n\n if (IsReadableStreamDefaultReader(reader) === false) {\n return false;\n }\n\n return true;\n }\n\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\n _classCallCheck(this, ReadableStreamDefaultReader);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\n }\n\n if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = [];\n }\n\n _createClass(ReadableStreamDefaultReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n return ReadableStreamDefaultReaderRead(this);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (IsReadableStreamDefaultReader(this) === false) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\n\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (IsReadableStreamDefaultReader(this) === false) {\n return Promise.reject(defaultReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamDefaultReader;\n }();\n\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\n _classCallCheck(this, ReadableStreamBYOBReader);\n\n if (!IsReadableStream(stream)) {\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');\n }\n\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = [];\n }\n\n _createClass(ReadableStreamBYOBReader, [{\n key: 'cancel',\n value: function cancel(reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n }\n }, {\n key: 'read',\n value: function read(view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return Promise.reject(readerLockException('read from'));\n }\n\n if (!ArrayBuffer.isView(view)) {\n return Promise.reject(new TypeError('view must be an array buffer view'));\n }\n\n if (view.byteLength === 0) {\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\n }\n\n return ReadableStreamBYOBReaderRead(this, view);\n }\n }, {\n key: 'releaseLock',\n value: function releaseLock() {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n\n if (this._ownerReadableStream === undefined) {\n return;\n }\n\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n\n ReadableStreamReaderGenericRelease(this);\n }\n }, {\n key: 'closed',\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return Promise.reject(byobReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n }\n }]);\n\n return ReadableStreamBYOBReader;\n }();\n\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n } else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n } else {\n assert(stream._state === 'errored', 'state must be errored');\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n\n reader._closedPromise.catch(function () {});\n }\n }\n\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n return ReadableStreamCancel(stream, reason);\n }\n\n function ReadableStreamReaderGenericRelease(reader) {\n assert(reader._ownerReadableStream !== undefined);\n assert(reader._ownerReadableStream._reader === reader);\n\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n } else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\n }\n\n reader._closedPromise.catch(function () {});\n\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n assert(stream !== undefined);\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return Promise.resolve(CreateIterResultObject(undefined, true));\n }\n\n if (stream._state === 'errored') {\n return Promise.reject(stream._storedError);\n }\n\n assert(stream._state === 'readable');\n return stream._readableStreamController.__pullSteps();\n }\n\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark) {\n _classCallCheck(this, ReadableStreamDefaultController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableStreamDefaultController can only be constructed with a ReadableStream instance');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableStreamDefaultController instances can only be created by the ReadableStream constructor');\n }\n\n this._controlledReadableStream = stream;\n this._underlyingSource = underlyingSource;\n this._queue = undefined;\n this._queueTotalSize = undefined;\n ResetQueue(this);\n this._started = false;\n this._closeRequested = false;\n this._pullAgain = false;\n this._pulling = false;\n var normalizedStrategy = ValidateAndNormalizeQueuingStrategy(size, highWaterMark);\n this._strategySize = normalizedStrategy.size;\n this._strategyHWM = normalizedStrategy.highWaterMark;\n var controller = this;\n var startResult = InvokeOrNoop(underlyingSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, r);\n }).catch(rethrowAssertionErrorRejection);\n }\n\n _createClass(ReadableStreamDefaultController, [{\n key: 'close',\n value: function close() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n\n ReadableStreamDefaultControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n\n ReadableStreamDefaultControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n\n return Promise.resolve(CreateIterResultObject(chunk, false));\n }\n\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableStreamDefaultController;\n }();\n\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingSource')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n return ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n\n return undefined;\n }, function (e) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, e);\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state === 'closed' || stream._state === 'errored') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n\n if (desiredSize > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n controller._closeRequested = true;\n\n if (controller._queue.length === 0) {\n ReadableStreamClose(stream);\n }\n }\n\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = 1;\n\n if (controller._strategySize !== undefined) {\n var strategySize = controller._strategySize;\n\n try {\n chunkSize = strategySize(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n throw chunkSizeE;\n }\n }\n\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n throw enqueueE;\n }\n }\n\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n return undefined;\n }\n\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableStreamDefaultControllerErrorIfNeeded(controller, e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableStreamDefaultControllerError(controller, e);\n }\n }\n\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest(controller, view) {\n _classCallCheck(this, ReadableStreamBYOBRequest);\n\n this._associatedReadableByteStreamController = controller;\n this._view = view;\n }\n\n _createClass(ReadableStreamBYOBRequest, [{\n key: 'respond',\n value: function respond(bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n }\n }, {\n key: 'respondWithNewView',\n value: function respondWithNewView(view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n }\n }, {\n key: 'view',\n get: function get() {\n return this._view;\n }\n }]);\n\n return ReadableStreamBYOBRequest;\n }();\n\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController(stream, underlyingByteSource, highWaterMark) {\n _classCallCheck(this, ReadableByteStreamController);\n\n if (IsReadableStream(stream) === false) {\n throw new TypeError('ReadableByteStreamController can only be constructed with a ReadableStream instance given ' + 'a byte source');\n }\n\n if (stream._readableStreamController !== undefined) {\n throw new TypeError('ReadableByteStreamController instances can only be created by the ReadableStream constructor given a byte ' + 'source');\n }\n\n this._controlledReadableStream = stream;\n this._underlyingByteSource = underlyingByteSource;\n this._pullAgain = false;\n this._pulling = false;\n ReadableByteStreamControllerClearPendingPullIntos(this);\n this._queue = this._queueTotalSize = undefined;\n ResetQueue(this);\n this._closeRequested = false;\n this._started = false;\n this._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n if (Number.isInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n\n this._autoAllocateChunkSize = autoAllocateChunkSize;\n this._pendingPullIntos = [];\n var controller = this;\n var startResult = InvokeOrNoop(underlyingByteSource, 'start', [this]);\n Promise.resolve(startResult).then(function () {\n controller._started = true;\n assert(controller._pulling === false);\n assert(controller._pullAgain === false);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n if (stream._state === 'readable') {\n ReadableByteStreamControllerError(controller, r);\n }\n }).catch(rethrowAssertionErrorRejection);\n }\n\n _createClass(ReadableByteStreamController, [{\n key: 'close',\n value: function close() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be closed');\n }\n\n ReadableByteStreamControllerClose(this);\n }\n }, {\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n\n var state = this._controlledReadableStream._state;\n\n if (state !== 'readable') {\n throw new TypeError('The stream (in ' + state + ' state) is not in the readable state and cannot be enqueued to');\n }\n\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n\n ReadableByteStreamControllerEnqueue(this, chunk);\n }\n }, {\n key: 'error',\n value: function error(e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n\n var stream = this._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n throw new TypeError('The stream is ' + stream._state + ' and so cannot be errored');\n }\n\n ReadableByteStreamControllerError(this, e);\n }\n }, {\n key: '__cancelSteps',\n value: function __cancelSteps(reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n firstDescriptor.bytesFilled = 0;\n }\n\n ResetQueue(this);\n return PromiseInvokeOrNoop(this._underlyingByteSource, 'cancel', [reason]);\n }\n }, {\n key: '__pullSteps',\n value: function __pullSteps() {\n var stream = this._controlledReadableStream;\n assert(ReadableStreamHasDefaultReader(stream) === true);\n\n if (this._queueTotalSize > 0) {\n assert(ReadableStreamGetNumReadRequests(stream) === 0);\n\n var entry = this._queue.shift();\n\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return Promise.reject(viewE);\n }\n\n return Promise.resolve(CreateIterResultObject(view, false));\n }\n\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return Promise.reject(bufferE);\n }\n\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n ctor: Uint8Array,\n readerType: 'default'\n };\n\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n }\n }, {\n key: 'byobRequest',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos[0];\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n this._byobRequest = new ReadableStreamBYOBRequest(this, view);\n }\n\n return this._byobRequest;\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n\n return ReadableByteStreamControllerGetDesiredSize(this);\n }\n }]);\n\n return ReadableByteStreamController;\n }();\n\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_underlyingByteSource')) {\n return false;\n }\n\n return true;\n }\n\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n\n return true;\n }\n\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n\n if (shouldPull === false) {\n return undefined;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return undefined;\n }\n\n assert(controller._pullAgain === false);\n controller._pulling = true;\n var pullPromise = PromiseInvokeOrNoop(controller._underlyingByteSource, 'pull', [controller]);\n pullPromise.then(function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n if (controller._controlledReadableStream._state === 'readable') {\n ReadableByteStreamControllerError(controller, e);\n }\n }).catch(rethrowAssertionErrorRejection);\n return undefined;\n }\n\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = [];\n }\n\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n assert(stream._state !== 'errored', 'state must not be errored');\n var done = false;\n\n if (stream._state === 'closed') {\n assert(pullIntoDescriptor.bytesFilled === 0);\n done = true;\n }\n\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n assert(pullIntoDescriptor.readerType === 'byob');\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n assert(bytesFilled <= pullIntoDescriptor.byteLength);\n assert(bytesFilled % elementSize === 0);\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n\n controller._queueTotalSize += byteLength;\n }\n\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n\n var queue = controller._queue;\n\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue[0];\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n\n if (ready === false) {\n assert(controller._queueTotalSize === 0, 'queue must be empty');\n assert(pullIntoDescriptor.bytesFilled > 0);\n assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n\n return ready;\n }\n\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n assert(controller._pendingPullIntos.length === 0 || controller._pendingPullIntos[0] === pullIntoDescriptor);\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n assert(controller._controlledReadableStream._state === 'readable');\n\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableStreamClose(controller._controlledReadableStream);\n } else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n assert(controller._closeRequested === false);\n\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n\n var pullIntoDescriptor = controller._pendingPullIntos[0];\n\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableStream;\n var elementSize = 1;\n\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n\n var ctor = view.constructor;\n var pullIntoDescriptor = {\n buffer: view.buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n ctor: ctor,\n readerType: 'byob'\n };\n\n if (controller._pendingPullIntos.length > 0) {\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n return ReadableStreamAddReadIntoRequest(stream);\n }\n\n if (stream._state === 'closed') {\n var emptyView = new view.constructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return Promise.resolve(CreateIterResultObject(emptyView, true));\n }\n\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return Promise.resolve(CreateIterResultObject(filledView, false));\n }\n\n if (controller._closeRequested === true) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n return Promise.reject(e);\n }\n }\n\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n\n controller._pendingPullIntos.push(pullIntoDescriptor);\n\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n assert(firstDescriptor.bytesFilled === 0, 'bytesFilled must be 0');\n var stream = controller._controlledReadableStream;\n\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos[0];\n var stream = controller._controlledReadableStream;\n\n if (stream._state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n assert(stream._state === 'readable');\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n }\n\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n return false;\n }\n\n if (controller._closeRequested === true) {\n return false;\n }\n\n if (controller._started === false) {\n return false;\n }\n\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n\n if (ReadableByteStreamControllerGetDesiredSize(controller) > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos[0];\n\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n\n ReadableStreamClose(stream);\n }\n\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n assert(controller._closeRequested === false);\n assert(stream._state === 'readable');\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n\n if (ReadableStreamHasDefaultReader(stream) === true) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n } else {\n assert(controller._queue.length === 0);\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n } else if (ReadableStreamHasBYOBReader(stream) === true) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n } else {\n assert(IsReadableStreamLocked(stream) === false, 'stream must not be locked');\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n }\n\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n assert(stream._state === 'readable');\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n\n if (state === 'errored') {\n return null;\n }\n\n if (state === 'closed') {\n return 0;\n }\n\n return controller._strategyHWM - controller._queueTotalSize;\n }\n\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n\n assert(controller._pendingPullIntos.length > 0);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n assert(controller._pendingPullIntos.length > 0);\n var firstDescriptor = controller._pendingPullIntos[0];\n\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('ReadableStream.prototype.' + name + ' can only be used on a ReadableStream');\n }\n\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n\n function defaultReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultReader.prototype.' + name + ' can only be used on a ReadableStreamDefaultReader');\n }\n\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = new Promise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n reader._closedPromise = Promise.reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n reader._closedPromise = Promise.resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseReject(reader, reason) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_reject(reason);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n assert(reader._closedPromise_resolve === undefined);\n assert(reader._closedPromise_reject === undefined);\n reader._closedPromise = Promise.reject(reason);\n }\n\n function defaultReaderClosedPromiseResolve(reader) {\n assert(reader._closedPromise_resolve !== undefined);\n assert(reader._closedPromise_reject !== undefined);\n\n reader._closedPromise_resolve(undefined);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n function byobReaderBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBReader.prototype.' + name + ' can only be used on a ReadableStreamBYOBReader');\n }\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('ReadableStreamDefaultController.prototype.' + name + ' can only be used on a ReadableStreamDefaultController');\n }\n\n function byobRequestBrandCheckException(name) {\n return new TypeError('ReadableStreamBYOBRequest.prototype.' + name + ' can only be used on a ReadableStreamBYOBRequest');\n }\n\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError('ReadableByteStreamController.prototype.' + name + ' can only be used on a ReadableByteStreamController');\n }\n\n function ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue(promise) {\n try {\n Promise.prototype.then.call(promise, undefined, function () {});\n } catch (e) {}\n }\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var transformStream = __w_pdfjs_require__(6);\n\n var readableStream = __w_pdfjs_require__(4);\n\n var writableStream = __w_pdfjs_require__(2);\n\n exports.TransformStream = transformStream.TransformStream;\n exports.ReadableStream = readableStream.ReadableStream;\n exports.IsReadableStreamDisturbed = readableStream.IsReadableStreamDisturbed;\n exports.ReadableStreamDefaultControllerClose = readableStream.ReadableStreamDefaultControllerClose;\n exports.ReadableStreamDefaultControllerEnqueue = readableStream.ReadableStreamDefaultControllerEnqueue;\n exports.ReadableStreamDefaultControllerError = readableStream.ReadableStreamDefaultControllerError;\n exports.ReadableStreamDefaultControllerGetDesiredSize = readableStream.ReadableStreamDefaultControllerGetDesiredSize;\n exports.AcquireWritableStreamDefaultWriter = writableStream.AcquireWritableStreamDefaultWriter;\n exports.IsWritableStream = writableStream.IsWritableStream;\n exports.IsWritableStreamLocked = writableStream.IsWritableStreamLocked;\n exports.WritableStream = writableStream.WritableStream;\n exports.WritableStreamAbort = writableStream.WritableStreamAbort;\n exports.WritableStreamDefaultControllerError = writableStream.WritableStreamDefaultControllerError;\n exports.WritableStreamDefaultWriterCloseWithErrorPropagation = writableStream.WritableStreamDefaultWriterCloseWithErrorPropagation;\n exports.WritableStreamDefaultWriterRelease = writableStream.WritableStreamDefaultWriterRelease;\n exports.WritableStreamDefaultWriterWrite = writableStream.WritableStreamDefaultWriterWrite;\n}, function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n var _require = __w_pdfjs_require__(1),\n assert = _require.assert;\n\n var _require2 = __w_pdfjs_require__(0),\n InvokeOrNoop = _require2.InvokeOrNoop,\n PromiseInvokeOrPerformFallback = _require2.PromiseInvokeOrPerformFallback,\n PromiseInvokeOrNoop = _require2.PromiseInvokeOrNoop,\n typeIsObject = _require2.typeIsObject;\n\n var _require3 = __w_pdfjs_require__(4),\n ReadableStream = _require3.ReadableStream,\n ReadableStreamDefaultControllerClose = _require3.ReadableStreamDefaultControllerClose,\n ReadableStreamDefaultControllerEnqueue = _require3.ReadableStreamDefaultControllerEnqueue,\n ReadableStreamDefaultControllerError = _require3.ReadableStreamDefaultControllerError,\n ReadableStreamDefaultControllerGetDesiredSize = _require3.ReadableStreamDefaultControllerGetDesiredSize;\n\n var _require4 = __w_pdfjs_require__(2),\n WritableStream = _require4.WritableStream,\n WritableStreamDefaultControllerError = _require4.WritableStreamDefaultControllerError;\n\n function TransformStreamCloseReadable(transformStream) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n function TransformStreamEnqueueToReadable(transformStream, chunk) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n if (transformStream._readableClosed === true) {\n throw new TypeError('Readable side is already closed');\n }\n\n var controller = transformStream._readableController;\n\n try {\n ReadableStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n transformStream._readableClosed = true;\n TransformStreamErrorIfNeeded(transformStream, e);\n throw transformStream._storedError;\n }\n\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n var maybeBackpressure = desiredSize <= 0;\n\n if (maybeBackpressure === true && transformStream._backpressure === false) {\n TransformStreamSetBackpressure(transformStream, true);\n }\n }\n\n function TransformStreamError(transformStream, e) {\n if (transformStream._errored === true) {\n throw new TypeError('TransformStream is already errored');\n }\n\n TransformStreamErrorInternal(transformStream, e);\n }\n\n function TransformStreamCloseReadableInternal(transformStream) {\n assert(transformStream._errored === false);\n assert(transformStream._readableClosed === false);\n\n try {\n ReadableStreamDefaultControllerClose(transformStream._readableController);\n } catch (e) {\n assert(false);\n }\n\n transformStream._readableClosed = true;\n }\n\n function TransformStreamErrorIfNeeded(transformStream, e) {\n if (transformStream._errored === false) {\n TransformStreamErrorInternal(transformStream, e);\n }\n }\n\n function TransformStreamErrorInternal(transformStream, e) {\n assert(transformStream._errored === false);\n transformStream._errored = true;\n transformStream._storedError = e;\n\n if (transformStream._writableDone === false) {\n WritableStreamDefaultControllerError(transformStream._writableController, e);\n }\n\n if (transformStream._readableClosed === false) {\n ReadableStreamDefaultControllerError(transformStream._readableController, e);\n }\n }\n\n function TransformStreamReadableReadyPromise(transformStream) {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === false) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === true, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n }\n\n function TransformStreamSetBackpressure(transformStream, backpressure) {\n assert(transformStream._backpressure !== backpressure, 'TransformStreamSetBackpressure() should be called only when backpressure is changed');\n\n if (transformStream._backpressureChangePromise !== undefined) {\n transformStream._backpressureChangePromise_resolve(backpressure);\n }\n\n transformStream._backpressureChangePromise = new Promise(function (resolve) {\n transformStream._backpressureChangePromise_resolve = resolve;\n });\n\n transformStream._backpressureChangePromise.then(function (resolution) {\n assert(resolution !== backpressure, '_backpressureChangePromise should be fulfilled only when backpressure is changed');\n });\n\n transformStream._backpressure = backpressure;\n }\n\n function TransformStreamDefaultTransform(chunk, transformStreamController) {\n var transformStream = transformStreamController._controlledTransformStream;\n TransformStreamEnqueueToReadable(transformStream, chunk);\n return Promise.resolve();\n }\n\n function TransformStreamTransform(transformStream, chunk) {\n assert(transformStream._errored === false);\n assert(transformStream._transforming === false);\n assert(transformStream._backpressure === false);\n transformStream._transforming = true;\n var transformer = transformStream._transformer;\n var controller = transformStream._transformStreamController;\n var transformPromise = PromiseInvokeOrPerformFallback(transformer, 'transform', [chunk, controller], TransformStreamDefaultTransform, [chunk, controller]);\n return transformPromise.then(function () {\n transformStream._transforming = false;\n return TransformStreamReadableReadyPromise(transformStream);\n }, function (e) {\n TransformStreamErrorIfNeeded(transformStream, e);\n return Promise.reject(e);\n });\n }\n\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n\n return true;\n }\n\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n\n return true;\n }\n\n var TransformStreamSink = function () {\n function TransformStreamSink(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSink);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n\n _createClass(TransformStreamSink, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._writableController = c;\n return this._startPromise.then(function () {\n return TransformStreamReadableReadyPromise(transformStream);\n });\n }\n }, {\n key: 'write',\n value: function write(chunk) {\n var transformStream = this._transformStream;\n return TransformStreamTransform(transformStream, chunk);\n }\n }, {\n key: 'abort',\n value: function abort() {\n var transformStream = this._transformStream;\n transformStream._writableDone = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Writable side aborted'));\n }\n }, {\n key: 'close',\n value: function close() {\n var transformStream = this._transformStream;\n assert(transformStream._transforming === false);\n transformStream._writableDone = true;\n var flushPromise = PromiseInvokeOrNoop(transformStream._transformer, 'flush', [transformStream._transformStreamController]);\n return flushPromise.then(function () {\n if (transformStream._errored === true) {\n return Promise.reject(transformStream._storedError);\n }\n\n if (transformStream._readableClosed === false) {\n TransformStreamCloseReadableInternal(transformStream);\n }\n\n return Promise.resolve();\n }).catch(function (r) {\n TransformStreamErrorIfNeeded(transformStream, r);\n return Promise.reject(transformStream._storedError);\n });\n }\n }]);\n\n return TransformStreamSink;\n }();\n\n var TransformStreamSource = function () {\n function TransformStreamSource(transformStream, startPromise) {\n _classCallCheck(this, TransformStreamSource);\n\n this._transformStream = transformStream;\n this._startPromise = startPromise;\n }\n\n _createClass(TransformStreamSource, [{\n key: 'start',\n value: function start(c) {\n var transformStream = this._transformStream;\n transformStream._readableController = c;\n return this._startPromise.then(function () {\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n\n if (transformStream._backpressure === true) {\n return Promise.resolve();\n }\n\n assert(transformStream._backpressure === false, '_backpressure should have been initialized');\n return transformStream._backpressureChangePromise;\n });\n }\n }, {\n key: 'pull',\n value: function pull() {\n var transformStream = this._transformStream;\n assert(transformStream._backpressure === true, 'pull() should be never called while _backpressure is false');\n assert(transformStream._backpressureChangePromise !== undefined, '_backpressureChangePromise should have been initialized');\n TransformStreamSetBackpressure(transformStream, false);\n return transformStream._backpressureChangePromise;\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n var transformStream = this._transformStream;\n transformStream._readableClosed = true;\n TransformStreamErrorInternal(transformStream, new TypeError('Readable side canceled'));\n }\n }]);\n\n return TransformStreamSource;\n }();\n\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController(transformStream) {\n _classCallCheck(this, TransformStreamDefaultController);\n\n if (IsTransformStream(transformStream) === false) {\n throw new TypeError('TransformStreamDefaultController can only be ' + 'constructed with a TransformStream instance');\n }\n\n if (transformStream._transformStreamController !== undefined) {\n throw new TypeError('TransformStreamDefaultController instances can ' + 'only be created by the TransformStream constructor');\n }\n\n this._controlledTransformStream = transformStream;\n }\n\n _createClass(TransformStreamDefaultController, [{\n key: 'enqueue',\n value: function enqueue(chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n TransformStreamEnqueueToReadable(this._controlledTransformStream, chunk);\n }\n }, {\n key: 'close',\n value: function close() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n TransformStreamCloseReadable(this._controlledTransformStream);\n }\n }, {\n key: 'error',\n value: function error(reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n TransformStreamError(this._controlledTransformStream, reason);\n }\n }, {\n key: 'desiredSize',\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n var transformStream = this._controlledTransformStream;\n var readableController = transformStream._readableController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n }\n }]);\n\n return TransformStreamDefaultController;\n }();\n\n var TransformStream = function () {\n function TransformStream() {\n var transformer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, TransformStream);\n\n this._transformer = transformer;\n var readableStrategy = transformer.readableStrategy,\n writableStrategy = transformer.writableStrategy;\n this._transforming = false;\n this._errored = false;\n this._storedError = undefined;\n this._writableController = undefined;\n this._readableController = undefined;\n this._transformStreamController = undefined;\n this._writableDone = false;\n this._readableClosed = false;\n this._backpressure = undefined;\n this._backpressureChangePromise = undefined;\n this._backpressureChangePromise_resolve = undefined;\n this._transformStreamController = new TransformStreamDefaultController(this);\n var startPromise_resolve = void 0;\n var startPromise = new Promise(function (resolve) {\n startPromise_resolve = resolve;\n });\n var source = new TransformStreamSource(this, startPromise);\n this._readable = new ReadableStream(source, readableStrategy);\n var sink = new TransformStreamSink(this, startPromise);\n this._writable = new WritableStream(sink, writableStrategy);\n assert(this._writableController !== undefined);\n assert(this._readableController !== undefined);\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(this._readableController);\n TransformStreamSetBackpressure(this, desiredSize <= 0);\n var transformStream = this;\n var startResult = InvokeOrNoop(transformer, 'start', [transformStream._transformStreamController]);\n startPromise_resolve(startResult);\n startPromise.catch(function (e) {\n if (transformStream._errored === false) {\n transformStream._errored = true;\n transformStream._storedError = e;\n }\n });\n }\n\n _createClass(TransformStream, [{\n key: 'readable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('readable');\n }\n\n return this._readable;\n }\n }, {\n key: 'writable',\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException('writable');\n }\n\n return this._writable;\n }\n }]);\n\n return TransformStream;\n }();\n\n module.exports = {\n TransformStream: TransformStream\n };\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError('TransformStreamDefaultController.prototype.' + name + ' can only be used on a TransformStreamDefaultController');\n }\n\n function streamBrandCheckException(name) {\n return new TypeError('TransformStream.prototype.' + name + ' can only be used on a TransformStream');\n }\n}, function (module, exports, __w_pdfjs_require__) {\n module.exports = __w_pdfjs_require__(5);\n}]));\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n{\n var isURLSupported = false;\n\n try {\n if (typeof URL === 'function' && _typeof(URL.prototype) === 'object' && 'origin' in URL.prototype) {\n var u = new URL('b', 'http://a');\n u.pathname = 'c%20d';\n isURLSupported = u.href === 'http://a/c%20d';\n }\n } catch (ex) {}\n\n if (isURLSupported) {\n exports.URL = URL;\n } else {\n var PolyfillURL = __w_pdfjs_require__(150).URL;\n\n var OriginalURL = __w_pdfjs_require__(8).URL;\n\n if (OriginalURL) {\n PolyfillURL.createObjectURL = function (blob) {\n return OriginalURL.createObjectURL.apply(OriginalURL, arguments);\n };\n\n PolyfillURL.revokeObjectURL = function (url) {\n OriginalURL.revokeObjectURL(url);\n };\n }\n\n exports.URL = PolyfillURL;\n }\n}\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n(function URLConstructorClosure() {\n 'use strict';\n\n var relative = Object.create(null);\n relative['ftp'] = 21;\n relative['file'] = 0;\n relative['gopher'] = 70;\n relative['http'] = 80;\n relative['https'] = 443;\n relative['ws'] = 80;\n relative['wss'] = 443;\n var relativePathDotMapping = Object.create(null);\n relativePathDotMapping['%2e'] = '.';\n relativePathDotMapping['.%2e'] = '..';\n relativePathDotMapping['%2e.'] = '..';\n relativePathDotMapping['%2e%2e'] = '..';\n\n function isRelativeScheme(scheme) {\n return relative[scheme] !== undefined;\n }\n\n function invalid() {\n clear.call(this);\n this._isInvalid = true;\n }\n\n function IDNAToASCII(h) {\n if (h === '') {\n invalid.call(this);\n }\n\n return h.toLowerCase();\n }\n\n function percentEscape(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x3F, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n function percentEscapeQuery(c) {\n var unicode = c.charCodeAt(0);\n\n if (unicode > 0x20 && unicode < 0x7F && [0x22, 0x23, 0x3C, 0x3E, 0x60].indexOf(unicode) === -1) {\n return c;\n }\n\n return encodeURIComponent(c);\n }\n\n var EOF,\n ALPHA = /[a-zA-Z]/,\n ALPHANUMERIC = /[a-zA-Z0-9\\+\\-\\.]/;\n\n function parse(input, stateOverride, base) {\n function err(message) {\n errors.push(message);\n }\n\n var state = stateOverride || 'scheme start',\n cursor = 0,\n buffer = '',\n seenAt = false,\n seenBracket = false,\n errors = [];\n\n loop: while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) {\n var c = input[cursor];\n\n switch (state) {\n case 'scheme start':\n if (c && ALPHA.test(c)) {\n buffer += c.toLowerCase();\n state = 'scheme';\n } else if (!stateOverride) {\n buffer = '';\n state = 'no scheme';\n continue;\n } else {\n err('Invalid scheme.');\n break loop;\n }\n\n break;\n\n case 'scheme':\n if (c && ALPHANUMERIC.test(c)) {\n buffer += c.toLowerCase();\n } else if (c === ':') {\n this._scheme = buffer;\n buffer = '';\n\n if (stateOverride) {\n break loop;\n }\n\n if (isRelativeScheme(this._scheme)) {\n this._isRelative = true;\n }\n\n if (this._scheme === 'file') {\n state = 'relative';\n } else if (this._isRelative && base && base._scheme === this._scheme) {\n state = 'relative or authority';\n } else if (this._isRelative) {\n state = 'authority first slash';\n } else {\n state = 'scheme data';\n }\n } else if (!stateOverride) {\n buffer = '';\n cursor = 0;\n state = 'no scheme';\n continue;\n } else if (c === EOF) {\n break loop;\n } else {\n err('Code point not allowed in scheme: ' + c);\n break loop;\n }\n\n break;\n\n case 'scheme data':\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else {\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._schemeData += percentEscape(c);\n }\n }\n\n break;\n\n case 'no scheme':\n if (!base || !isRelativeScheme(base._scheme)) {\n err('Missing scheme.');\n invalid.call(this);\n } else {\n state = 'relative';\n continue;\n }\n\n break;\n\n case 'relative or authority':\n if (c === '/' && input[cursor + 1] === '/') {\n state = 'authority ignore slashes';\n } else {\n err('Expected /, got: ' + c);\n state = 'relative';\n continue;\n }\n\n break;\n\n case 'relative':\n this._isRelative = true;\n\n if (this._scheme !== 'file') {\n this._scheme = base._scheme;\n }\n\n if (c === EOF) {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._username = base._username;\n this._password = base._password;\n break loop;\n } else if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n\n state = 'relative slash';\n } else if (c === '?') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = '?';\n this._username = base._username;\n this._password = base._password;\n state = 'query';\n } else if (c === '#') {\n this._host = base._host;\n this._port = base._port;\n this._path = base._path.slice();\n this._query = base._query;\n this._fragment = '#';\n this._username = base._username;\n this._password = base._password;\n state = 'fragment';\n } else {\n var nextC = input[cursor + 1];\n var nextNextC = input[cursor + 2];\n\n if (this._scheme !== 'file' || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || nextNextC !== EOF && nextNextC !== '/' && nextNextC !== '\\\\' && nextNextC !== '?' && nextNextC !== '#') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n this._path = base._path.slice();\n\n this._path.pop();\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'relative slash':\n if (c === '/' || c === '\\\\') {\n if (c === '\\\\') {\n err('\\\\ is an invalid code point.');\n }\n\n if (this._scheme === 'file') {\n state = 'file host';\n } else {\n state = 'authority ignore slashes';\n }\n } else {\n if (this._scheme !== 'file') {\n this._host = base._host;\n this._port = base._port;\n this._username = base._username;\n this._password = base._password;\n }\n\n state = 'relative path';\n continue;\n }\n\n break;\n\n case 'authority first slash':\n if (c === '/') {\n state = 'authority second slash';\n } else {\n err('Expected \\'/\\', got: ' + c);\n state = 'authority ignore slashes';\n continue;\n }\n\n break;\n\n case 'authority second slash':\n state = 'authority ignore slashes';\n\n if (c !== '/') {\n err('Expected \\'/\\', got: ' + c);\n continue;\n }\n\n break;\n\n case 'authority ignore slashes':\n if (c !== '/' && c !== '\\\\') {\n state = 'authority';\n continue;\n } else {\n err('Expected authority, got: ' + c);\n }\n\n break;\n\n case 'authority':\n if (c === '@') {\n if (seenAt) {\n err('@ already seen.');\n buffer += '%40';\n }\n\n seenAt = true;\n\n for (var i = 0; i < buffer.length; i++) {\n var cp = buffer[i];\n\n if (cp === '\\t' || cp === '\\n' || cp === '\\r') {\n err('Invalid whitespace in authority.');\n continue;\n }\n\n if (cp === ':' && this._password === null) {\n this._password = '';\n continue;\n }\n\n var tempC = percentEscape(cp);\n\n if (this._password !== null) {\n this._password += tempC;\n } else {\n this._username += tempC;\n }\n }\n\n buffer = '';\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n cursor -= buffer.length;\n buffer = '';\n state = 'host';\n continue;\n } else {\n buffer += c;\n }\n\n break;\n\n case 'file host':\n if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) {\n state = 'relative path';\n } else if (buffer.length === 0) {\n state = 'relative path start';\n } else {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n }\n\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid whitespace in file host.');\n } else {\n buffer += c;\n }\n\n break;\n\n case 'host':\n case 'hostname':\n if (c === ':' && !seenBracket) {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'port';\n\n if (stateOverride === 'hostname') {\n break loop;\n }\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#') {\n this._host = IDNAToASCII.call(this, buffer);\n buffer = '';\n state = 'relative path start';\n\n if (stateOverride) {\n break loop;\n }\n\n continue;\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n if (c === '[') {\n seenBracket = true;\n } else if (c === ']') {\n seenBracket = false;\n }\n\n buffer += c;\n } else {\n err('Invalid code point in host/hostname: ' + c);\n }\n\n break;\n\n case 'port':\n if (/[0-9]/.test(c)) {\n buffer += c;\n } else if (c === EOF || c === '/' || c === '\\\\' || c === '?' || c === '#' || stateOverride) {\n if (buffer !== '') {\n var temp = parseInt(buffer, 10);\n\n if (temp !== relative[this._scheme]) {\n this._port = temp + '';\n }\n\n buffer = '';\n }\n\n if (stateOverride) {\n break loop;\n }\n\n state = 'relative path start';\n continue;\n } else if (c === '\\t' || c === '\\n' || c === '\\r') {\n err('Invalid code point in port: ' + c);\n } else {\n invalid.call(this);\n }\n\n break;\n\n case 'relative path start':\n if (c === '\\\\') {\n err('\\'\\\\\\' not allowed in path.');\n }\n\n state = 'relative path';\n\n if (c !== '/' && c !== '\\\\') {\n continue;\n }\n\n break;\n\n case 'relative path':\n if (c === EOF || c === '/' || c === '\\\\' || !stateOverride && (c === '?' || c === '#')) {\n if (c === '\\\\') {\n err('\\\\ not allowed in relative path.');\n }\n\n var tmp;\n\n if (tmp = relativePathDotMapping[buffer.toLowerCase()]) {\n buffer = tmp;\n }\n\n if (buffer === '..') {\n this._path.pop();\n\n if (c !== '/' && c !== '\\\\') {\n this._path.push('');\n }\n } else if (buffer === '.' && c !== '/' && c !== '\\\\') {\n this._path.push('');\n } else if (buffer !== '.') {\n if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') {\n buffer = buffer[0] + ':';\n }\n\n this._path.push(buffer);\n }\n\n buffer = '';\n\n if (c === '?') {\n this._query = '?';\n state = 'query';\n } else if (c === '#') {\n this._fragment = '#';\n state = 'fragment';\n }\n } else if (c !== '\\t' && c !== '\\n' && c !== '\\r') {\n buffer += percentEscape(c);\n }\n\n break;\n\n case 'query':\n if (!stateOverride && c === '#') {\n this._fragment = '#';\n state = 'fragment';\n } else if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._query += percentEscapeQuery(c);\n }\n\n break;\n\n case 'fragment':\n if (c !== EOF && c !== '\\t' && c !== '\\n' && c !== '\\r') {\n this._fragment += c;\n }\n\n break;\n }\n\n cursor++;\n }\n }\n\n function clear() {\n this._scheme = '';\n this._schemeData = '';\n this._username = '';\n this._password = null;\n this._host = '';\n this._port = '';\n this._path = [];\n this._query = '';\n this._fragment = '';\n this._isInvalid = false;\n this._isRelative = false;\n }\n\n function JURL(url, base) {\n if (base !== undefined && !(base instanceof JURL)) {\n base = new JURL(String(base));\n }\n\n this._url = url;\n clear.call(this);\n var input = url.replace(/^[ \\t\\r\\n\\f]+|[ \\t\\r\\n\\f]+$/g, '');\n parse.call(this, input, null, base);\n }\n\n JURL.prototype = {\n toString: function toString() {\n return this.href;\n },\n\n get href() {\n if (this._isInvalid) {\n return this._url;\n }\n\n var authority = '';\n\n if (this._username !== '' || this._password !== null) {\n authority = this._username + (this._password !== null ? ':' + this._password : '') + '@';\n }\n\n return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment;\n },\n\n set href(value) {\n clear.call(this);\n parse.call(this, value);\n },\n\n get protocol() {\n return this._scheme + ':';\n },\n\n set protocol(value) {\n if (this._isInvalid) {\n return;\n }\n\n parse.call(this, value + ':', 'scheme start');\n },\n\n get host() {\n return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host;\n },\n\n set host(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'host');\n },\n\n get hostname() {\n return this._host;\n },\n\n set hostname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'hostname');\n },\n\n get port() {\n return this._port;\n },\n\n set port(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n parse.call(this, value, 'port');\n },\n\n get pathname() {\n return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData;\n },\n\n set pathname(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._path = [];\n parse.call(this, value, 'relative path start');\n },\n\n get search() {\n return this._isInvalid || !this._query || this._query === '?' ? '' : this._query;\n },\n\n set search(value) {\n if (this._isInvalid || !this._isRelative) {\n return;\n }\n\n this._query = '?';\n\n if (value[0] === '?') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'query');\n },\n\n get hash() {\n return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment;\n },\n\n set hash(value) {\n if (this._isInvalid) {\n return;\n }\n\n this._fragment = '#';\n\n if (value[0] === '#') {\n value = value.slice(1);\n }\n\n parse.call(this, value, 'fragment');\n },\n\n get origin() {\n var host;\n\n if (this._isInvalid || !this._scheme) {\n return '';\n }\n\n switch (this._scheme) {\n case 'data':\n case 'file':\n case 'javascript':\n case 'mailto':\n return 'null';\n\n case 'blob':\n try {\n return new JURL(this._schemeData).origin || 'null';\n } catch (_) {}\n\n return 'null';\n }\n\n host = this.host;\n\n if (!host) {\n return '';\n }\n\n return this._scheme + '://' + host;\n }\n\n };\n exports.URL = JURL;\n})();\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _chunked_stream = __w_pdfjs_require__(152);\n\nvar _document = __w_pdfjs_require__(153);\n\nvar _stream = __w_pdfjs_require__(157);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BasePdfManager =\n/*#__PURE__*/\nfunction () {\n function BasePdfManager() {\n _classCallCheck(this, BasePdfManager);\n\n if (this.constructor === BasePdfManager) {\n (0, _util.unreachable)('Cannot initialize BasePdfManager.');\n }\n }\n\n _createClass(BasePdfManager, [{\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n (0, _util.unreachable)('Abstract method `onLoadedStream` called');\n }\n }, {\n key: \"ensureDoc\",\n value: function ensureDoc(prop, args) {\n return this.ensure(this.pdfDocument, prop, args);\n }\n }, {\n key: \"ensureXRef\",\n value: function ensureXRef(prop, args) {\n return this.ensure(this.pdfDocument.xref, prop, args);\n }\n }, {\n key: \"ensureCatalog\",\n value: function ensureCatalog(prop, args) {\n return this.ensure(this.pdfDocument.catalog, prop, args);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageIndex) {\n return this.pdfDocument.getPage(pageIndex);\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n return this.pdfDocument.fontFallback(id, handler);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this.pdfDocument.cleanup();\n }\n }, {\n key: \"ensure\",\n value: function () {\n var _ensure = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee(obj, prop, args) {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n (0, _util.unreachable)('Abstract method `ensure` called');\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function ensure(_x, _x2, _x3) {\n return _ensure.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n (0, _util.unreachable)('Abstract method `requestRange` called');\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {\n (0, _util.unreachable)('Abstract method `requestLoadedStream` called');\n }\n }, {\n key: \"sendProgressiveData\",\n value: function sendProgressiveData(chunk) {\n (0, _util.unreachable)('Abstract method `sendProgressiveData` called');\n }\n }, {\n key: \"updatePassword\",\n value: function updatePassword(password) {\n this._password = password;\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n (0, _util.unreachable)('Abstract method `terminate` called');\n }\n }, {\n key: \"docId\",\n get: function get() {\n return this._docId;\n }\n }, {\n key: \"password\",\n get: function get() {\n return this._password;\n }\n }, {\n key: \"docBaseUrl\",\n get: function get() {\n var docBaseUrl = null;\n\n if (this._docBaseUrl) {\n var absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);\n\n if (absoluteUrl) {\n docBaseUrl = absoluteUrl.href;\n } else {\n (0, _util.warn)(\"Invalid absolute docBaseUrl: \\\"\".concat(this._docBaseUrl, \"\\\".\"));\n }\n }\n\n return (0, _util.shadow)(this, 'docBaseUrl', docBaseUrl);\n }\n }]);\n\n return BasePdfManager;\n}();\n\nvar LocalPdfManager =\n/*#__PURE__*/\nfunction (_BasePdfManager) {\n _inherits(LocalPdfManager, _BasePdfManager);\n\n function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {\n var _this;\n\n _classCallCheck(this, LocalPdfManager);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(LocalPdfManager).call(this));\n _this._docId = docId;\n _this._password = password;\n _this._docBaseUrl = docBaseUrl;\n _this.evaluatorOptions = evaluatorOptions;\n var stream = new _stream.Stream(data);\n _this.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_assertThisInitialized(_this)), stream);\n _this._loadedStreamPromise = Promise.resolve(stream);\n return _this;\n }\n\n _createClass(LocalPdfManager, [{\n key: \"ensure\",\n value: function () {\n var _ensure2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee2(obj, prop, args) {\n var value;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n value = obj[prop];\n\n if (!(typeof value === 'function')) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\", value.apply(obj, args));\n\n case 3:\n return _context2.abrupt(\"return\", value);\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function ensure(_x4, _x5, _x6) {\n return _ensure2.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n return Promise.resolve();\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {}\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this._loadedStreamPromise;\n }\n }, {\n key: \"terminate\",\n value: function terminate() {}\n }]);\n\n return LocalPdfManager;\n}(BasePdfManager);\n\nexports.LocalPdfManager = LocalPdfManager;\n\nvar NetworkPdfManager =\n/*#__PURE__*/\nfunction (_BasePdfManager2) {\n _inherits(NetworkPdfManager, _BasePdfManager2);\n\n function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n var _this2;\n\n _classCallCheck(this, NetworkPdfManager);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(NetworkPdfManager).call(this));\n _this2._docId = docId;\n _this2._password = args.password;\n _this2._docBaseUrl = docBaseUrl;\n _this2.msgHandler = args.msgHandler;\n _this2.evaluatorOptions = evaluatorOptions;\n _this2.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {\n msgHandler: args.msgHandler,\n length: args.length,\n disableAutoFetch: args.disableAutoFetch,\n rangeChunkSize: args.rangeChunkSize\n });\n _this2.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_assertThisInitialized(_this2)), _this2.streamManager.getStream());\n return _this2;\n }\n\n _createClass(NetworkPdfManager, [{\n key: \"ensure\",\n value: function () {\n var _ensure3 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee3(obj, prop, args) {\n var value;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n value = obj[prop];\n\n if (!(typeof value === 'function')) {\n _context3.next = 4;\n break;\n }\n\n return _context3.abrupt(\"return\", value.apply(obj, args));\n\n case 4:\n return _context3.abrupt(\"return\", value);\n\n case 7:\n _context3.prev = 7;\n _context3.t0 = _context3[\"catch\"](0);\n\n if (_context3.t0 instanceof _util.MissingDataException) {\n _context3.next = 11;\n break;\n }\n\n throw _context3.t0;\n\n case 11:\n _context3.next = 13;\n return this.requestRange(_context3.t0.begin, _context3.t0.end);\n\n case 13:\n return _context3.abrupt(\"return\", this.ensure(obj, prop, args));\n\n case 14:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[0, 7]]);\n }));\n\n function ensure(_x7, _x8, _x9) {\n return _ensure3.apply(this, arguments);\n }\n\n return ensure;\n }()\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n return this.streamManager.requestRange(begin, end);\n }\n }, {\n key: \"requestLoadedStream\",\n value: function requestLoadedStream() {\n this.streamManager.requestAllChunks();\n }\n }, {\n key: \"sendProgressiveData\",\n value: function sendProgressiveData(chunk) {\n this.streamManager.onReceiveData({\n chunk: chunk\n });\n }\n }, {\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this.streamManager.onLoadedStream();\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this.streamManager.abort();\n }\n }]);\n\n return NetworkPdfManager;\n}(BasePdfManager);\n\nexports.NetworkPdfManager = NetworkPdfManager;\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChunkedStreamManager = exports.ChunkedStream = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ChunkedStream =\n/*#__PURE__*/\nfunction () {\n function ChunkedStream(length, chunkSize, manager) {\n _classCallCheck(this, ChunkedStream);\n\n this.bytes = new Uint8Array(length);\n this.start = 0;\n this.pos = 0;\n this.end = length;\n this.chunkSize = chunkSize;\n this.loadedChunks = [];\n this.numChunksLoaded = 0;\n this.numChunks = Math.ceil(length / chunkSize);\n this.manager = manager;\n this.progressiveDataLength = 0;\n this.lastSuccessfulEnsureByteChunk = -1;\n }\n\n _createClass(ChunkedStream, [{\n key: \"getMissingChunks\",\n value: function getMissingChunks() {\n var chunks = [];\n\n for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n chunks.push(chunk);\n }\n }\n\n return chunks;\n }\n }, {\n key: \"getBaseStreams\",\n value: function getBaseStreams() {\n return [this];\n }\n }, {\n key: \"allChunksLoaded\",\n value: function allChunksLoaded() {\n return this.numChunksLoaded === this.numChunks;\n }\n }, {\n key: \"onReceiveData\",\n value: function onReceiveData(begin, chunk) {\n var chunkSize = this.chunkSize;\n\n if (begin % chunkSize !== 0) {\n throw new Error(\"Bad begin offset: \".concat(begin));\n }\n\n var end = begin + chunk.byteLength;\n\n if (end % chunkSize !== 0 && end !== this.bytes.length) {\n throw new Error(\"Bad end offset: \".concat(end));\n }\n\n this.bytes.set(new Uint8Array(chunk), begin);\n var beginChunk = Math.floor(begin / chunkSize);\n var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n if (!this.loadedChunks[curChunk]) {\n this.loadedChunks[curChunk] = true;\n ++this.numChunksLoaded;\n }\n }\n }\n }, {\n key: \"onReceiveProgressiveData\",\n value: function onReceiveProgressiveData(data) {\n var position = this.progressiveDataLength;\n var beginChunk = Math.floor(position / this.chunkSize);\n this.bytes.set(new Uint8Array(data), position);\n position += data.byteLength;\n this.progressiveDataLength = position;\n var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);\n\n for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n if (!this.loadedChunks[curChunk]) {\n this.loadedChunks[curChunk] = true;\n ++this.numChunksLoaded;\n }\n }\n }\n }, {\n key: \"ensureByte\",\n value: function ensureByte(pos) {\n var chunk = Math.floor(pos / this.chunkSize);\n\n if (chunk === this.lastSuccessfulEnsureByteChunk) {\n return;\n }\n\n if (!this.loadedChunks[chunk]) {\n throw new _util.MissingDataException(pos, pos + 1);\n }\n\n this.lastSuccessfulEnsureByteChunk = chunk;\n }\n }, {\n key: \"ensureRange\",\n value: function ensureRange(begin, end) {\n if (begin >= end) {\n return;\n }\n\n if (end <= this.progressiveDataLength) {\n return;\n }\n\n var chunkSize = this.chunkSize;\n var beginChunk = Math.floor(begin / chunkSize);\n var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n throw new _util.MissingDataException(begin, end);\n }\n }\n }\n }, {\n key: \"nextEmptyChunk\",\n value: function nextEmptyChunk(beginChunk) {\n var numChunks = this.numChunks;\n\n for (var i = 0; i < numChunks; ++i) {\n var chunk = (beginChunk + i) % numChunks;\n\n if (!this.loadedChunks[chunk]) {\n return chunk;\n }\n }\n\n return null;\n }\n }, {\n key: \"hasChunk\",\n value: function hasChunk(chunk) {\n return !!this.loadedChunks[chunk];\n }\n }, {\n key: \"getByte\",\n value: function getByte() {\n var pos = this.pos;\n\n if (pos >= this.end) {\n return -1;\n }\n\n this.ensureByte(pos);\n return this.bytes[this.pos++];\n }\n }, {\n key: \"getUint16\",\n value: function getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n }\n }, {\n key: \"getInt32\",\n value: function getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n }, {\n key: \"getBytes\",\n value: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n this.ensureRange(pos, strEnd);\n\n var _subarray = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n this.ensureRange(pos, end);\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n }, {\n key: \"peekByte\",\n value: function peekByte() {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n }\n }, {\n key: \"peekBytes\",\n value: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n }\n }, {\n key: \"getByteRange\",\n value: function getByteRange(begin, end) {\n this.ensureRange(begin, end);\n return this.bytes.subarray(begin, end);\n }\n }, {\n key: \"skip\",\n value: function skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.pos = this.start;\n }\n }, {\n key: \"moveStart\",\n value: function moveStart() {\n this.start = this.pos;\n }\n }, {\n key: \"makeSubStream\",\n value: function makeSubStream(start, length, dict) {\n this.ensureRange(start, start + length);\n\n function ChunkedStreamSubstream() {}\n\n ChunkedStreamSubstream.prototype = Object.create(this);\n\n ChunkedStreamSubstream.prototype.getMissingChunks = function () {\n var chunkSize = this.chunkSize;\n var beginChunk = Math.floor(this.start / chunkSize);\n var endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n var missingChunks = [];\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!this.loadedChunks[chunk]) {\n missingChunks.push(chunk);\n }\n }\n\n return missingChunks;\n };\n\n var subStream = new ChunkedStreamSubstream();\n subStream.pos = subStream.start = start;\n subStream.end = start + length || this.end;\n subStream.dict = dict;\n return subStream;\n }\n }, {\n key: \"length\",\n get: function get() {\n return this.end - this.start;\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n return this.length === 0;\n }\n }]);\n\n return ChunkedStream;\n}();\n\nexports.ChunkedStream = ChunkedStream;\n\nvar ChunkedStreamManager =\n/*#__PURE__*/\nfunction () {\n function ChunkedStreamManager(pdfNetworkStream, args) {\n _classCallCheck(this, ChunkedStreamManager);\n\n this.length = args.length;\n this.chunkSize = args.rangeChunkSize;\n this.stream = new ChunkedStream(this.length, this.chunkSize, this);\n this.pdfNetworkStream = pdfNetworkStream;\n this.disableAutoFetch = args.disableAutoFetch;\n this.msgHandler = args.msgHandler;\n this.currRequestId = 0;\n this.chunksNeededByRequest = Object.create(null);\n this.requestsByChunk = Object.create(null);\n this.promisesByRequest = Object.create(null);\n this.progressiveDataLength = 0;\n this.aborted = false;\n this._loadedStreamCapability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(ChunkedStreamManager, [{\n key: \"onLoadedStream\",\n value: function onLoadedStream() {\n return this._loadedStreamCapability.promise;\n }\n }, {\n key: \"sendRequest\",\n value: function sendRequest(begin, end) {\n var _this = this;\n\n var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n\n if (!rangeReader.isStreamingSupported) {\n rangeReader.onProgress = this.onProgress.bind(this);\n }\n\n var chunks = [],\n loaded = 0;\n var promise = new Promise(function (resolve, reject) {\n var readChunk = function readChunk(chunk) {\n try {\n if (!chunk.done) {\n var data = chunk.value;\n chunks.push(data);\n loaded += (0, _util.arrayByteLength)(data);\n\n if (rangeReader.isStreamingSupported) {\n _this.onProgress({\n loaded: loaded\n });\n }\n\n rangeReader.read().then(readChunk, reject);\n return;\n }\n\n var chunkData = (0, _util.arraysToBytes)(chunks);\n chunks = null;\n resolve(chunkData);\n } catch (e) {\n reject(e);\n }\n };\n\n rangeReader.read().then(readChunk, reject);\n });\n promise.then(function (data) {\n if (_this.aborted) {\n return;\n }\n\n _this.onReceiveData({\n chunk: data,\n begin: begin\n });\n });\n }\n }, {\n key: \"requestAllChunks\",\n value: function requestAllChunks() {\n var missingChunks = this.stream.getMissingChunks();\n\n this._requestChunks(missingChunks);\n\n return this._loadedStreamCapability.promise;\n }\n }, {\n key: \"_requestChunks\",\n value: function _requestChunks(chunks) {\n var requestId = this.currRequestId++;\n var chunksNeeded = Object.create(null);\n this.chunksNeededByRequest[requestId] = chunksNeeded;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _chunk = _step.value;\n\n if (!this.stream.hasChunk(_chunk)) {\n chunksNeeded[_chunk] = true;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n if ((0, _util.isEmptyObj)(chunksNeeded)) {\n return Promise.resolve();\n }\n\n var capability = (0, _util.createPromiseCapability)();\n this.promisesByRequest[requestId] = capability;\n var chunksToRequest = [];\n\n for (var chunk in chunksNeeded) {\n chunk = chunk | 0;\n\n if (!(chunk in this.requestsByChunk)) {\n this.requestsByChunk[chunk] = [];\n chunksToRequest.push(chunk);\n }\n\n this.requestsByChunk[chunk].push(requestId);\n }\n\n if (!chunksToRequest.length) {\n return capability.promise;\n }\n\n var groupedChunksToRequest = this.groupChunks(chunksToRequest);\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = groupedChunksToRequest[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var groupedChunk = _step2.value;\n var begin = groupedChunk.beginChunk * this.chunkSize;\n var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n this.sendRequest(begin, end);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return capability.promise;\n }\n }, {\n key: \"getStream\",\n value: function getStream() {\n return this.stream;\n }\n }, {\n key: \"requestRange\",\n value: function requestRange(begin, end) {\n end = Math.min(end, this.length);\n var beginChunk = this.getBeginChunk(begin);\n var endChunk = this.getEndChunk(end);\n var chunks = [];\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n chunks.push(chunk);\n }\n\n return this._requestChunks(chunks);\n }\n }, {\n key: \"requestRanges\",\n value: function requestRanges() {\n var ranges = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var chunksToRequest = [];\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = ranges[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var range = _step3.value;\n var beginChunk = this.getBeginChunk(range.begin);\n var endChunk = this.getEndChunk(range.end);\n\n for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n if (!chunksToRequest.includes(chunk)) {\n chunksToRequest.push(chunk);\n }\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n chunksToRequest.sort(function (a, b) {\n return a - b;\n });\n return this._requestChunks(chunksToRequest);\n }\n }, {\n key: \"groupChunks\",\n value: function groupChunks(chunks) {\n var groupedChunks = [];\n var beginChunk = -1;\n var prevChunk = -1;\n\n for (var i = 0, ii = chunks.length; i < ii; ++i) {\n var chunk = chunks[i];\n\n if (beginChunk < 0) {\n beginChunk = chunk;\n }\n\n if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n groupedChunks.push({\n beginChunk: beginChunk,\n endChunk: prevChunk + 1\n });\n beginChunk = chunk;\n }\n\n if (i + 1 === chunks.length) {\n groupedChunks.push({\n beginChunk: beginChunk,\n endChunk: chunk + 1\n });\n }\n\n prevChunk = chunk;\n }\n\n return groupedChunks;\n }\n }, {\n key: \"onProgress\",\n value: function onProgress(args) {\n this.msgHandler.send('DocProgress', {\n loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,\n total: this.length\n });\n }\n }, {\n key: \"onReceiveData\",\n value: function onReceiveData(args) {\n var chunk = args.chunk;\n var isProgressive = args.begin === undefined;\n var begin = isProgressive ? this.progressiveDataLength : args.begin;\n var end = begin + chunk.byteLength;\n var beginChunk = Math.floor(begin / this.chunkSize);\n var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);\n\n if (isProgressive) {\n this.stream.onReceiveProgressiveData(chunk);\n this.progressiveDataLength = end;\n } else {\n this.stream.onReceiveData(begin, chunk);\n }\n\n if (this.stream.allChunksLoaded()) {\n this._loadedStreamCapability.resolve(this.stream);\n }\n\n var loadedRequests = [];\n\n for (var _chunk2 = beginChunk; _chunk2 < endChunk; ++_chunk2) {\n var requestIds = this.requestsByChunk[_chunk2] || [];\n delete this.requestsByChunk[_chunk2];\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = requestIds[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var requestId = _step4.value;\n var chunksNeeded = this.chunksNeededByRequest[requestId];\n\n if (_chunk2 in chunksNeeded) {\n delete chunksNeeded[_chunk2];\n }\n\n if (!(0, _util.isEmptyObj)(chunksNeeded)) {\n continue;\n }\n\n loadedRequests.push(requestId);\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n\n if (!this.disableAutoFetch && (0, _util.isEmptyObj)(this.requestsByChunk)) {\n var nextEmptyChunk;\n\n if (this.stream.numChunksLoaded === 1) {\n var lastChunk = this.stream.numChunks - 1;\n\n if (!this.stream.hasChunk(lastChunk)) {\n nextEmptyChunk = lastChunk;\n }\n } else {\n nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n }\n\n if (Number.isInteger(nextEmptyChunk)) {\n this._requestChunks([nextEmptyChunk]);\n }\n }\n\n for (var _i = 0; _i < loadedRequests.length; _i++) {\n var _requestId = loadedRequests[_i];\n var capability = this.promisesByRequest[_requestId];\n delete this.promisesByRequest[_requestId];\n capability.resolve();\n }\n\n this.msgHandler.send('DocProgress', {\n loaded: this.stream.numChunksLoaded * this.chunkSize,\n total: this.length\n });\n }\n }, {\n key: \"onError\",\n value: function onError(err) {\n this._loadedStreamCapability.reject(err);\n }\n }, {\n key: \"getBeginChunk\",\n value: function getBeginChunk(begin) {\n return Math.floor(begin / this.chunkSize);\n }\n }, {\n key: \"getEndChunk\",\n value: function getEndChunk(end) {\n return Math.floor((end - 1) / this.chunkSize) + 1;\n }\n }, {\n key: \"abort\",\n value: function abort() {\n this.aborted = true;\n\n if (this.pdfNetworkStream) {\n this.pdfNetworkStream.cancelAllRequests('abort');\n }\n\n for (var requestId in this.promisesByRequest) {\n this.promisesByRequest[requestId].reject(new Error('Request was aborted'));\n }\n }\n }]);\n\n return ChunkedStreamManager;\n}();\n\nexports.ChunkedStreamManager = ChunkedStreamManager;\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDocument = exports.Page = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _obj = __w_pdfjs_require__(154);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _stream2 = __w_pdfjs_require__(157);\n\nvar _annotation = __w_pdfjs_require__(169);\n\nvar _crypto = __w_pdfjs_require__(167);\n\nvar _parser = __w_pdfjs_require__(156);\n\nvar _operator_list = __w_pdfjs_require__(170);\n\nvar _evaluator = __w_pdfjs_require__(171);\n\nvar _function = __w_pdfjs_require__(185);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_USER_UNIT = 1.0;\nvar LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\nfunction isAnnotationRenderable(annotation, intent) {\n return intent === 'display' && annotation.viewable || intent === 'print' && annotation.printable;\n}\n\nvar Page =\n/*#__PURE__*/\nfunction () {\n function Page(_ref) {\n var pdfManager = _ref.pdfManager,\n xref = _ref.xref,\n pageIndex = _ref.pageIndex,\n pageDict = _ref.pageDict,\n ref = _ref.ref,\n fontCache = _ref.fontCache,\n builtInCMapCache = _ref.builtInCMapCache,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n\n _classCallCheck(this, Page);\n\n this.pdfManager = pdfManager;\n this.pageIndex = pageIndex;\n this.pageDict = pageDict;\n this.xref = xref;\n this.ref = ref;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.pdfFunctionFactory = pdfFunctionFactory;\n this.evaluatorOptions = pdfManager.evaluatorOptions;\n this.resourcesPromise = null;\n var uniquePrefix = \"p\".concat(this.pageIndex, \"_\");\n var idCounters = {\n obj: 0\n };\n this.idFactory = {\n createObjId: function createObjId() {\n return uniquePrefix + ++idCounters.obj;\n }\n };\n }\n\n _createClass(Page, [{\n key: \"_getInheritableProperty\",\n value: function _getInheritableProperty(key) {\n var getArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var value = (0, _util.getInheritableProperty)({\n dict: this.pageDict,\n key: key,\n getArray: getArray,\n stopWhenFound: false\n });\n\n if (!Array.isArray(value)) {\n return value;\n }\n\n if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {\n return value[0];\n }\n\n return _primitives.Dict.merge(this.xref, value);\n }\n }, {\n key: \"getContentStream\",\n value: function getContentStream() {\n var content = this.content;\n var stream;\n\n if (Array.isArray(content)) {\n var xref = this.xref;\n var streams = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = content[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _stream = _step.value;\n streams.push(xref.fetchIfRef(_stream));\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n stream = new _stream2.StreamsSequenceStream(streams);\n } else if ((0, _primitives.isStream)(content)) {\n stream = content;\n } else {\n stream = new _stream2.NullStream();\n }\n\n return stream;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(keys) {\n var _this = this;\n\n if (!this.resourcesPromise) {\n this.resourcesPromise = this.pdfManager.ensure(this, 'resources');\n }\n\n return this.resourcesPromise.then(function () {\n var objectLoader = new _obj.ObjectLoader(_this.resources, keys, _this.xref);\n return objectLoader.load();\n });\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(_ref2) {\n var _this2 = this;\n\n var handler = _ref2.handler,\n task = _ref2.task,\n intent = _ref2.intent,\n renderInteractiveForms = _ref2.renderInteractiveForms;\n var contentStreamPromise = this.pdfManager.ensure(this, 'getContentStream');\n var resourcesPromise = this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 'Font']);\n var partialEvaluator = new _evaluator.PartialEvaluator({\n pdfManager: this.pdfManager,\n xref: this.xref,\n handler: handler,\n pageIndex: this.pageIndex,\n idFactory: this.idFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n options: this.evaluatorOptions,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n var pageListPromise = dataPromises.then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 1),\n contentStream = _ref4[0];\n\n var opList = new _operator_list.OperatorList(intent, handler, _this2.pageIndex);\n handler.send('StartRenderPage', {\n transparency: partialEvaluator.hasBlendModes(_this2.resources),\n pageIndex: _this2.pageIndex,\n intent: intent\n });\n return partialEvaluator.getOperatorList({\n stream: contentStream,\n task: task,\n resources: _this2.resources,\n operatorList: opList\n }).then(function () {\n return opList;\n });\n });\n return Promise.all([pageListPromise, this._parsedAnnotations]).then(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n pageOpList = _ref6[0],\n annotations = _ref6[1];\n\n if (annotations.length === 0) {\n pageOpList.flush(true);\n return pageOpList;\n }\n\n var opListPromises = [];\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = annotations[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var annotation = _step2.value;\n\n if (isAnnotationRenderable(annotation, intent)) {\n opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms));\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return Promise.all(opListPromises).then(function (opLists) {\n pageOpList.addOp(_util.OPS.beginAnnotations, []);\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = opLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var opList = _step3.value;\n pageOpList.addOpList(opList);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n pageOpList.addOp(_util.OPS.endAnnotations, []);\n pageOpList.flush(true);\n return pageOpList;\n });\n });\n }\n }, {\n key: \"extractTextContent\",\n value: function extractTextContent(_ref7) {\n var _this3 = this;\n\n var handler = _ref7.handler,\n task = _ref7.task,\n normalizeWhitespace = _ref7.normalizeWhitespace,\n sink = _ref7.sink,\n combineTextItems = _ref7.combineTextItems;\n var contentStreamPromise = this.pdfManager.ensure(this, 'getContentStream');\n var resourcesPromise = this.loadResources(['ExtGState', 'XObject', 'Font']);\n var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n return dataPromises.then(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 1),\n contentStream = _ref9[0];\n\n var partialEvaluator = new _evaluator.PartialEvaluator({\n pdfManager: _this3.pdfManager,\n xref: _this3.xref,\n handler: handler,\n pageIndex: _this3.pageIndex,\n idFactory: _this3.idFactory,\n fontCache: _this3.fontCache,\n builtInCMapCache: _this3.builtInCMapCache,\n options: _this3.evaluatorOptions,\n pdfFunctionFactory: _this3.pdfFunctionFactory\n });\n return partialEvaluator.getTextContent({\n stream: contentStream,\n task: task,\n resources: _this3.resources,\n normalizeWhitespace: normalizeWhitespace,\n combineTextItems: combineTextItems,\n sink: sink\n });\n });\n }\n }, {\n key: \"getAnnotationsData\",\n value: function getAnnotationsData(intent) {\n return this._parsedAnnotations.then(function (annotations) {\n var annotationsData = [];\n\n for (var i = 0, ii = annotations.length; i < ii; i++) {\n if (!intent || isAnnotationRenderable(annotations[i], intent)) {\n annotationsData.push(annotations[i].data);\n }\n }\n\n return annotationsData;\n });\n }\n }, {\n key: \"content\",\n get: function get() {\n return this.pageDict.get('Contents');\n }\n }, {\n key: \"resources\",\n get: function get() {\n return (0, _util.shadow)(this, 'resources', this._getInheritableProperty('Resources') || _primitives.Dict.empty);\n }\n }, {\n key: \"mediaBox\",\n get: function get() {\n var mediaBox = this._getInheritableProperty('MediaBox', true);\n\n if (!Array.isArray(mediaBox) || mediaBox.length !== 4) {\n return (0, _util.shadow)(this, 'mediaBox', LETTER_SIZE_MEDIABOX);\n }\n\n return (0, _util.shadow)(this, 'mediaBox', mediaBox);\n }\n }, {\n key: \"cropBox\",\n get: function get() {\n var cropBox = this._getInheritableProperty('CropBox', true);\n\n if (!Array.isArray(cropBox) || cropBox.length !== 4) {\n return (0, _util.shadow)(this, 'cropBox', this.mediaBox);\n }\n\n return (0, _util.shadow)(this, 'cropBox', cropBox);\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n var obj = this.pageDict.get('UserUnit');\n\n if (!(0, _util.isNum)(obj) || obj <= 0) {\n obj = DEFAULT_USER_UNIT;\n }\n\n return (0, _util.shadow)(this, 'userUnit', obj);\n }\n }, {\n key: \"view\",\n get: function get() {\n var mediaBox = this.mediaBox,\n cropBox = this.cropBox;\n\n if (mediaBox === cropBox) {\n return (0, _util.shadow)(this, 'view', mediaBox);\n }\n\n var intersection = _util.Util.intersect(cropBox, mediaBox);\n\n return (0, _util.shadow)(this, 'view', intersection || mediaBox);\n }\n }, {\n key: \"rotate\",\n get: function get() {\n var rotate = this._getInheritableProperty('Rotate') || 0;\n\n if (rotate % 90 !== 0) {\n rotate = 0;\n } else if (rotate >= 360) {\n rotate = rotate % 360;\n } else if (rotate < 0) {\n rotate = (rotate % 360 + 360) % 360;\n }\n\n return (0, _util.shadow)(this, 'rotate', rotate);\n }\n }, {\n key: \"annotations\",\n get: function get() {\n return (0, _util.shadow)(this, 'annotations', this._getInheritableProperty('Annots') || []);\n }\n }, {\n key: \"_parsedAnnotations\",\n get: function get() {\n var _this4 = this;\n\n var parsedAnnotations = this.pdfManager.ensure(this, 'annotations').then(function () {\n var annotationRefs = _this4.annotations;\n var annotationPromises = [];\n\n for (var i = 0, ii = annotationRefs.length; i < ii; i++) {\n annotationPromises.push(_annotation.AnnotationFactory.create(_this4.xref, annotationRefs[i], _this4.pdfManager, _this4.idFactory));\n }\n\n return Promise.all(annotationPromises).then(function (annotations) {\n return annotations.filter(function isDefined(annotation) {\n return !!annotation;\n });\n }, function (reason) {\n (0, _util.warn)(\"_parsedAnnotations: \\\"\".concat(reason, \"\\\".\"));\n return [];\n });\n });\n return (0, _util.shadow)(this, '_parsedAnnotations', parsedAnnotations);\n }\n }]);\n\n return Page;\n}();\n\nexports.Page = Page;\nvar FINGERPRINT_FIRST_BYTES = 1024;\nvar EMPTY_FINGERPRINT = '\\x00\\x00\\x00\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00';\n\nfunction find(stream, needle, limit, backwards) {\n var pos = stream.pos;\n var end = stream.end;\n\n if (pos + limit > end) {\n limit = end - pos;\n }\n\n var strBuf = [];\n\n for (var i = 0; i < limit; ++i) {\n strBuf.push(String.fromCharCode(stream.getByte()));\n }\n\n var str = strBuf.join('');\n stream.pos = pos;\n var index = backwards ? str.lastIndexOf(needle) : str.indexOf(needle);\n\n if (index === -1) {\n return false;\n }\n\n stream.pos += index;\n return true;\n}\n\nvar PDFDocument =\n/*#__PURE__*/\nfunction () {\n function PDFDocument(pdfManager, arg) {\n _classCallCheck(this, PDFDocument);\n\n var stream;\n\n if ((0, _primitives.isStream)(arg)) {\n stream = arg;\n } else if ((0, _util.isArrayBuffer)(arg)) {\n stream = new _stream2.Stream(arg);\n } else {\n throw new Error('PDFDocument: Unknown argument type');\n }\n\n if (stream.length <= 0) {\n throw new Error('PDFDocument: Stream must have data');\n }\n\n this.pdfManager = pdfManager;\n this.stream = stream;\n this.xref = new _obj.XRef(stream, pdfManager);\n this.pdfFunctionFactory = new _function.PDFFunctionFactory({\n xref: this.xref,\n isEvalSupported: pdfManager.evaluatorOptions.isEvalSupported\n });\n this._pagePromises = [];\n }\n\n _createClass(PDFDocument, [{\n key: \"parse\",\n value: function parse(recoveryMode) {\n this.setup(recoveryMode);\n var version = this.catalog.catDict.get('Version');\n\n if ((0, _primitives.isName)(version)) {\n this.pdfFormatVersion = version.name;\n }\n\n try {\n this.acroForm = this.catalog.catDict.get('AcroForm');\n\n if (this.acroForm) {\n this.xfa = this.acroForm.get('XFA');\n var fields = this.acroForm.get('Fields');\n\n if ((!fields || !Array.isArray(fields) || fields.length === 0) && !this.xfa) {\n this.acroForm = null;\n }\n }\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)('Cannot fetch AcroForm entry; assuming no AcroForms are present');\n this.acroForm = null;\n }\n }\n }, {\n key: \"checkHeader\",\n value: function checkHeader() {\n var stream = this.stream;\n stream.reset();\n\n if (!find(stream, '%PDF-', 1024)) {\n return;\n }\n\n stream.moveStart();\n var MAX_PDF_VERSION_LENGTH = 12;\n var version = '',\n ch;\n\n while ((ch = stream.getByte()) > 0x20) {\n if (version.length >= MAX_PDF_VERSION_LENGTH) {\n break;\n }\n\n version += String.fromCharCode(ch);\n }\n\n if (!this.pdfFormatVersion) {\n this.pdfFormatVersion = version.substring(5);\n }\n }\n }, {\n key: \"parseStartXRef\",\n value: function parseStartXRef() {\n this.xref.setStartXRef(this.startXRef);\n }\n }, {\n key: \"setup\",\n value: function setup(recoveryMode) {\n this.xref.parse(recoveryMode);\n this.catalog = new _obj.Catalog(this.pdfManager, this.xref);\n }\n }, {\n key: \"_getLinearizationPage\",\n value: function _getLinearizationPage(pageIndex) {\n var catalog = this.catalog,\n linearization = this.linearization;\n (0, _util.assert)(linearization && linearization.pageFirst === pageIndex);\n var ref = new _primitives.Ref(linearization.objectNumberFirst, 0);\n return this.xref.fetchAsync(ref).then(function (obj) {\n if ((0, _primitives.isDict)(obj, 'Page') || (0, _primitives.isDict)(obj) && !obj.has('Type') && obj.has('Contents')) {\n if (ref && !catalog.pageKidsCountCache.has(ref)) {\n catalog.pageKidsCountCache.put(ref, 1);\n }\n\n return [obj, ref];\n }\n\n throw new _util.FormatError('The Linearization dictionary doesn\\'t point ' + 'to a valid Page dictionary.');\n }).catch(function (reason) {\n (0, _util.info)(reason);\n return catalog.getPageDict(pageIndex);\n });\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageIndex) {\n var _this5 = this;\n\n if (this._pagePromises[pageIndex] !== undefined) {\n return this._pagePromises[pageIndex];\n }\n\n var catalog = this.catalog,\n linearization = this.linearization;\n var promise = linearization && linearization.pageFirst === pageIndex ? this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);\n return this._pagePromises[pageIndex] = promise.then(function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 2),\n pageDict = _ref11[0],\n ref = _ref11[1];\n\n return new Page({\n pdfManager: _this5.pdfManager,\n xref: _this5.xref,\n pageIndex: pageIndex,\n pageDict: pageDict,\n ref: ref,\n fontCache: catalog.fontCache,\n builtInCMapCache: catalog.builtInCMapCache,\n pdfFunctionFactory: _this5.pdfFunctionFactory\n });\n });\n }\n }, {\n key: \"checkFirstPage\",\n value: function checkFirstPage() {\n var _this6 = this;\n\n return this.getPage(0).catch(function (reason) {\n if (reason instanceof _util.XRefEntryException) {\n _this6._pagePromises.length = 0;\n\n _this6.cleanup();\n\n throw new _util.XRefParseException();\n }\n });\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n return this.catalog.fontFallback(id, handler);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this.catalog.cleanup();\n }\n }, {\n key: \"linearization\",\n get: function get() {\n var linearization = null;\n\n try {\n linearization = _parser.Linearization.create(this.stream);\n } catch (err) {\n if (err instanceof _util.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)(err);\n }\n\n return (0, _util.shadow)(this, 'linearization', linearization);\n }\n }, {\n key: \"startXRef\",\n get: function get() {\n var stream = this.stream;\n var startXRef = 0;\n\n if (this.linearization) {\n stream.reset();\n\n if (find(stream, 'endobj', 1024)) {\n startXRef = stream.pos + 6;\n }\n } else {\n var step = 1024;\n var startXRefLength = 'startxref'.length;\n var found = false,\n pos = stream.end;\n\n while (!found && pos > 0) {\n pos -= step - startXRefLength;\n\n if (pos < 0) {\n pos = 0;\n }\n\n stream.pos = pos;\n found = find(stream, 'startxref', step, true);\n }\n\n if (found) {\n stream.skip(9);\n var ch;\n\n do {\n ch = stream.getByte();\n } while ((0, _util.isSpace)(ch));\n\n var str = '';\n\n while (ch >= 0x20 && ch <= 0x39) {\n str += String.fromCharCode(ch);\n ch = stream.getByte();\n }\n\n startXRef = parseInt(str, 10);\n\n if (isNaN(startXRef)) {\n startXRef = 0;\n }\n }\n }\n\n return (0, _util.shadow)(this, 'startXRef', startXRef);\n }\n }, {\n key: \"numPages\",\n get: function get() {\n var linearization = this.linearization;\n var num = linearization ? linearization.numPages : this.catalog.numPages;\n return (0, _util.shadow)(this, 'numPages', num);\n }\n }, {\n key: \"documentInfo\",\n get: function get() {\n var DocumentInfoValidators = {\n Title: _util.isString,\n Author: _util.isString,\n Subject: _util.isString,\n Keywords: _util.isString,\n Creator: _util.isString,\n Producer: _util.isString,\n CreationDate: _util.isString,\n ModDate: _util.isString,\n Trapped: _primitives.isName\n };\n var docInfo = {\n PDFFormatVersion: this.pdfFormatVersion,\n IsLinearized: !!this.linearization,\n IsAcroFormPresent: !!this.acroForm,\n IsXFAPresent: !!this.xfa\n };\n var infoDict;\n\n try {\n infoDict = this.xref.trailer.get('Info');\n } catch (err) {\n if (err instanceof _util.MissingDataException) {\n throw err;\n }\n\n (0, _util.info)('The document information dictionary is invalid.');\n }\n\n if ((0, _primitives.isDict)(infoDict)) {\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = infoDict.getKeys()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var key = _step4.value;\n var value = infoDict.get(key);\n\n if (DocumentInfoValidators[key]) {\n if (DocumentInfoValidators[key](value)) {\n docInfo[key] = typeof value !== 'string' ? value : (0, _util.stringToPDFString)(value);\n } else {\n (0, _util.info)(\"Bad value in document info for \\\"\".concat(key, \"\\\".\"));\n }\n } else if (typeof key === 'string') {\n var customValue = void 0;\n\n if ((0, _util.isString)(value)) {\n customValue = (0, _util.stringToPDFString)(value);\n } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, _util.isBool)(value)) {\n customValue = value;\n } else {\n (0, _util.info)(\"Unsupported value in document info for (custom) \\\"\".concat(key, \"\\\".\"));\n continue;\n }\n\n if (!docInfo['Custom']) {\n docInfo['Custom'] = Object.create(null);\n }\n\n docInfo['Custom'][key] = customValue;\n }\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n\n return (0, _util.shadow)(this, 'documentInfo', docInfo);\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n var hash;\n var idArray = this.xref.trailer.get('ID');\n\n if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) {\n hash = (0, _util.stringToBytes)(idArray[0]);\n } else {\n if (this.stream.ensureRange) {\n this.stream.ensureRange(0, Math.min(FINGERPRINT_FIRST_BYTES, this.stream.end));\n }\n\n hash = (0, _crypto.calculateMD5)(this.stream.bytes.subarray(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n }\n\n var fingerprint = '';\n\n for (var i = 0, ii = hash.length; i < ii; i++) {\n var hex = hash[i].toString(16);\n fingerprint += hex.length === 1 ? '0' + hex : hex;\n }\n\n return (0, _util.shadow)(this, 'fingerprint', fingerprint);\n }\n }]);\n\n return PDFDocument;\n}();\n\nexports.PDFDocument = PDFDocument;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _parser = __w_pdfjs_require__(156);\n\nvar _chunked_stream = __w_pdfjs_require__(152);\n\nvar _crypto = __w_pdfjs_require__(167);\n\nvar _colorspace = __w_pdfjs_require__(168);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction fetchDestination(dest) {\n return (0, _primitives.isDict)(dest) ? dest.get('D') : dest;\n}\n\nvar Catalog =\n/*#__PURE__*/\nfunction () {\n function Catalog(pdfManager, xref) {\n _classCallCheck(this, Catalog);\n\n this.pdfManager = pdfManager;\n this.xref = xref;\n this.catDict = xref.getCatalogObj();\n\n if (!(0, _primitives.isDict)(this.catDict)) {\n throw new _util.FormatError('Catalog object is not a dictionary.');\n }\n\n this.fontCache = new _primitives.RefSetCache();\n this.builtInCMapCache = new Map();\n this.pageKidsCountCache = new _primitives.RefSetCache();\n }\n\n _createClass(Catalog, [{\n key: \"_readDocumentOutline\",\n value: function _readDocumentOutline() {\n var obj = this.catDict.get('Outlines');\n\n if (!(0, _primitives.isDict)(obj)) {\n return null;\n }\n\n obj = obj.getRaw('First');\n\n if (!(0, _primitives.isRef)(obj)) {\n return null;\n }\n\n var root = {\n items: []\n };\n var queue = [{\n obj: obj,\n parent: root\n }];\n var processed = new _primitives.RefSet();\n processed.put(obj);\n var xref = this.xref,\n blackColor = new Uint8ClampedArray(3);\n\n while (queue.length > 0) {\n var i = queue.shift();\n var outlineDict = xref.fetchIfRef(i.obj);\n\n if (outlineDict === null) {\n continue;\n }\n\n if (!outlineDict.has('Title')) {\n throw new _util.FormatError('Invalid outline item encountered.');\n }\n\n var data = {\n url: null,\n dest: null\n };\n Catalog.parseDestDictionary({\n destDict: outlineDict,\n resultObj: data,\n docBaseUrl: this.pdfManager.docBaseUrl\n });\n var title = outlineDict.get('Title');\n var flags = outlineDict.get('F') || 0;\n var color = outlineDict.getArray('C');\n var rgbColor = blackColor;\n\n if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {\n rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);\n }\n\n var outlineItem = {\n dest: data.dest,\n url: data.url,\n unsafeUrl: data.unsafeUrl,\n newWindow: data.newWindow,\n title: (0, _util.stringToPDFString)(title),\n color: rgbColor,\n count: outlineDict.get('Count'),\n bold: !!(flags & 2),\n italic: !!(flags & 1),\n items: []\n };\n i.parent.items.push(outlineItem);\n obj = outlineDict.getRaw('First');\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj: obj,\n parent: outlineItem\n });\n processed.put(obj);\n }\n\n obj = outlineDict.getRaw('Next');\n\n if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n queue.push({\n obj: obj,\n parent: i.parent\n });\n processed.put(obj);\n }\n }\n\n return root.items.length > 0 ? root.items : null;\n }\n }, {\n key: \"_readPermissions\",\n value: function _readPermissions() {\n var encrypt = this.xref.trailer.get('Encrypt');\n\n if (!(0, _primitives.isDict)(encrypt)) {\n return null;\n }\n\n var flags = encrypt.get('P');\n\n if (!(0, _util.isNum)(flags)) {\n return null;\n }\n\n flags += Math.pow(2, 32);\n var permissions = [];\n\n for (var key in _util.PermissionFlag) {\n var value = _util.PermissionFlag[key];\n\n if (flags & value) {\n permissions.push(value);\n }\n }\n\n return permissions;\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(destinationId) {\n var obj = this._readDests();\n\n if (obj instanceof NameTree || obj instanceof _primitives.Dict) {\n return fetchDestination(obj.get(destinationId) || null);\n }\n\n return null;\n }\n }, {\n key: \"_readDests\",\n value: function _readDests() {\n var obj = this.catDict.get('Names');\n\n if (obj && obj.has('Dests')) {\n return new NameTree(obj.getRaw('Dests'), this.xref);\n } else if (this.catDict.has('Dests')) {\n return this.catDict.get('Dests');\n }\n }\n }, {\n key: \"_readPageLabels\",\n value: function _readPageLabels() {\n var obj = this.catDict.getRaw('PageLabels');\n\n if (!obj) {\n return null;\n }\n\n var pageLabels = new Array(this.numPages);\n var style = null,\n prefix = '';\n var numberTree = new NumberTree(obj, this.xref);\n var nums = numberTree.getAll();\n var currentLabel = '',\n currentIndex = 1;\n\n for (var i = 0, ii = this.numPages; i < ii; i++) {\n if (i in nums) {\n var labelDict = nums[i];\n\n if (!(0, _primitives.isDict)(labelDict)) {\n throw new _util.FormatError('PageLabel is not a dictionary.');\n }\n\n if (labelDict.has('Type') && !(0, _primitives.isName)(labelDict.get('Type'), 'PageLabel')) {\n throw new _util.FormatError('Invalid type in PageLabel dictionary.');\n }\n\n if (labelDict.has('S')) {\n var s = labelDict.get('S');\n\n if (!(0, _primitives.isName)(s)) {\n throw new _util.FormatError('Invalid style in PageLabel dictionary.');\n }\n\n style = s.name;\n } else {\n style = null;\n }\n\n if (labelDict.has('P')) {\n var p = labelDict.get('P');\n\n if (!(0, _util.isString)(p)) {\n throw new _util.FormatError('Invalid prefix in PageLabel dictionary.');\n }\n\n prefix = (0, _util.stringToPDFString)(p);\n } else {\n prefix = '';\n }\n\n if (labelDict.has('St')) {\n var st = labelDict.get('St');\n\n if (!(Number.isInteger(st) && st >= 1)) {\n throw new _util.FormatError('Invalid start in PageLabel dictionary.');\n }\n\n currentIndex = st;\n } else {\n currentIndex = 1;\n }\n }\n\n switch (style) {\n case 'D':\n currentLabel = currentIndex;\n break;\n\n case 'R':\n case 'r':\n currentLabel = (0, _util.toRomanNumerals)(currentIndex, style === 'r');\n break;\n\n case 'A':\n case 'a':\n var LIMIT = 26;\n var A_UPPER_CASE = 0x41,\n A_LOWER_CASE = 0x61;\n var baseCharCode = style === 'a' ? A_LOWER_CASE : A_UPPER_CASE;\n var letterIndex = currentIndex - 1;\n var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);\n var charBuf = [];\n\n for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {\n charBuf.push(character);\n }\n\n currentLabel = charBuf.join('');\n break;\n\n default:\n if (style) {\n throw new _util.FormatError(\"Invalid style \\\"\".concat(style, \"\\\" in PageLabel dictionary.\"));\n }\n\n currentLabel = '';\n }\n\n pageLabels[i] = prefix + currentLabel;\n currentIndex++;\n }\n\n return pageLabels;\n }\n }, {\n key: \"fontFallback\",\n value: function fontFallback(id, handler) {\n var promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(function (translatedFonts) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = translatedFonts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var translatedFont = _step.value;\n\n if (translatedFont.loadedName === id) {\n translatedFont.fallback(handler);\n return;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var _this = this;\n\n this.pageKidsCountCache.clear();\n var promises = [];\n this.fontCache.forEach(function (promise) {\n promises.push(promise);\n });\n return Promise.all(promises).then(function (translatedFonts) {\n for (var i = 0, ii = translatedFonts.length; i < ii; i++) {\n var font = translatedFonts[i].dict;\n delete font.translated;\n }\n\n _this.fontCache.clear();\n\n _this.builtInCMapCache.clear();\n });\n }\n }, {\n key: \"getPageDict\",\n value: function getPageDict(pageIndex) {\n var capability = (0, _util.createPromiseCapability)();\n var nodesToVisit = [this.catDict.getRaw('Pages')];\n var xref = this.xref,\n pageKidsCountCache = this.pageKidsCountCache;\n var count,\n currentPageIndex = 0;\n\n function next() {\n var _loop = function _loop() {\n var currentNode = nodesToVisit.pop();\n\n if ((0, _primitives.isRef)(currentNode)) {\n count = pageKidsCountCache.get(currentNode);\n\n if (count > 0 && currentPageIndex + count < pageIndex) {\n currentPageIndex += count;\n return \"continue\";\n }\n\n xref.fetchAsync(currentNode).then(function (obj) {\n if ((0, _primitives.isDict)(obj, 'Page') || (0, _primitives.isDict)(obj) && !obj.has('Kids')) {\n if (pageIndex === currentPageIndex) {\n if (currentNode && !pageKidsCountCache.has(currentNode)) {\n pageKidsCountCache.put(currentNode, 1);\n }\n\n capability.resolve([obj, currentNode]);\n } else {\n currentPageIndex++;\n next();\n }\n\n return;\n }\n\n nodesToVisit.push(obj);\n next();\n }, capability.reject);\n return {\n v: void 0\n };\n }\n\n if (!(0, _primitives.isDict)(currentNode)) {\n capability.reject(new _util.FormatError('Page dictionary kid reference points to wrong type of object.'));\n return {\n v: void 0\n };\n }\n\n count = currentNode.get('Count');\n\n if (Number.isInteger(count) && count >= 0) {\n var objId = currentNode.objId;\n\n if (objId && !pageKidsCountCache.has(objId)) {\n pageKidsCountCache.put(objId, count);\n }\n\n if (currentPageIndex + count <= pageIndex) {\n currentPageIndex += count;\n return \"continue\";\n }\n }\n\n var kids = currentNode.get('Kids');\n\n if (!Array.isArray(kids)) {\n if ((0, _primitives.isName)(currentNode.get('Type'), 'Page') || !currentNode.has('Type') && currentNode.has('Contents')) {\n if (currentPageIndex === pageIndex) {\n capability.resolve([currentNode, null]);\n return {\n v: void 0\n };\n }\n\n currentPageIndex++;\n return \"continue\";\n }\n\n capability.reject(new _util.FormatError('Page dictionary kids object is not an array.'));\n return {\n v: void 0\n };\n }\n\n for (var last = kids.length - 1; last >= 0; last--) {\n nodesToVisit.push(kids[last]);\n }\n };\n\n while (nodesToVisit.length) {\n var _ret = _loop();\n\n switch (_ret) {\n case \"continue\":\n continue;\n\n default:\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n }\n\n capability.reject(new Error(\"Page index \".concat(pageIndex, \" not found.\")));\n }\n\n next();\n return capability.promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(pageRef) {\n var xref = this.xref;\n\n function pagesBeforeRef(kidRef) {\n var total = 0,\n parentRef;\n return xref.fetchAsync(kidRef).then(function (node) {\n if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, 'Page') && !((0, _primitives.isDict)(node) && !node.has('Type') && node.has('Contents'))) {\n throw new _util.FormatError('The reference does not point to a /Page dictionary.');\n }\n\n if (!node) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(node)) {\n throw new _util.FormatError('Node must be a dictionary.');\n }\n\n parentRef = node.getRaw('Parent');\n return node.getAsync('Parent');\n }).then(function (parent) {\n if (!parent) {\n return null;\n }\n\n if (!(0, _primitives.isDict)(parent)) {\n throw new _util.FormatError('Parent must be a dictionary.');\n }\n\n return parent.getAsync('Kids');\n }).then(function (kids) {\n if (!kids) {\n return null;\n }\n\n var kidPromises = [];\n var found = false;\n\n for (var i = 0, ii = kids.length; i < ii; i++) {\n var kid = kids[i];\n\n if (!(0, _primitives.isRef)(kid)) {\n throw new _util.FormatError('Kid must be a reference.');\n }\n\n if ((0, _primitives.isRefsEqual)(kid, kidRef)) {\n found = true;\n break;\n }\n\n kidPromises.push(xref.fetchAsync(kid).then(function (kid) {\n if (!(0, _primitives.isDict)(kid)) {\n throw new _util.FormatError('Kid node must be a dictionary.');\n }\n\n if (kid.has('Count')) {\n total += kid.get('Count');\n } else {\n total++;\n }\n }));\n }\n\n if (!found) {\n throw new _util.FormatError('Kid reference not found in parent\\'s kids.');\n }\n\n return Promise.all(kidPromises).then(function () {\n return [total, parentRef];\n });\n });\n }\n\n var total = 0;\n\n function next(ref) {\n return pagesBeforeRef(ref).then(function (args) {\n if (!args) {\n return total;\n }\n\n var _args = _slicedToArray(args, 2),\n count = _args[0],\n parentRef = _args[1];\n\n total += count;\n return next(parentRef);\n });\n }\n\n return next(pageRef);\n }\n }, {\n key: \"metadata\",\n get: function get() {\n var streamRef = this.catDict.getRaw('Metadata');\n\n if (!(0, _primitives.isRef)(streamRef)) {\n return (0, _util.shadow)(this, 'metadata', null);\n }\n\n var suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);\n var stream = this.xref.fetch(streamRef, suppressEncryption);\n var metadata;\n\n if (stream && (0, _primitives.isDict)(stream.dict)) {\n var type = stream.dict.get('Type');\n var subtype = stream.dict.get('Subtype');\n\n if ((0, _primitives.isName)(type, 'Metadata') && (0, _primitives.isName)(subtype, 'XML')) {\n try {\n metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));\n } catch (e) {\n if (e instanceof _util.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)('Skipping invalid metadata.');\n }\n }\n }\n\n return (0, _util.shadow)(this, 'metadata', metadata);\n }\n }, {\n key: \"toplevelPagesDict\",\n get: function get() {\n var pagesObj = this.catDict.get('Pages');\n\n if (!(0, _primitives.isDict)(pagesObj)) {\n throw new _util.FormatError('Invalid top-level pages dictionary.');\n }\n\n return (0, _util.shadow)(this, 'toplevelPagesDict', pagesObj);\n }\n }, {\n key: \"documentOutline\",\n get: function get() {\n var obj = null;\n\n try {\n obj = this._readDocumentOutline();\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Unable to read document outline.');\n }\n\n return (0, _util.shadow)(this, 'documentOutline', obj);\n }\n }, {\n key: \"permissions\",\n get: function get() {\n var permissions = null;\n\n try {\n permissions = this._readPermissions();\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Unable to read permissions.');\n }\n\n return (0, _util.shadow)(this, 'permissions', permissions);\n }\n }, {\n key: \"numPages\",\n get: function get() {\n var obj = this.toplevelPagesDict.get('Count');\n\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError('Page count in top-level pages dictionary is not an integer.');\n }\n\n return (0, _util.shadow)(this, 'numPages', obj);\n }\n }, {\n key: \"destinations\",\n get: function get() {\n var obj = this._readDests(),\n dests = Object.create(null);\n\n if (obj instanceof NameTree) {\n var names = obj.getAll();\n\n for (var name in names) {\n dests[name] = fetchDestination(names[name]);\n }\n } else if (obj instanceof _primitives.Dict) {\n obj.forEach(function (key, value) {\n if (value) {\n dests[key] = fetchDestination(value);\n }\n });\n }\n\n return (0, _util.shadow)(this, 'destinations', dests);\n }\n }, {\n key: \"pageLabels\",\n get: function get() {\n var obj = null;\n\n try {\n obj = this._readPageLabels();\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Unable to read page labels.');\n }\n\n return (0, _util.shadow)(this, 'pageLabels', obj);\n }\n }, {\n key: \"pageMode\",\n get: function get() {\n var obj = this.catDict.get('PageMode');\n var pageMode = 'UseNone';\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case 'UseNone':\n case 'UseOutlines':\n case 'UseThumbs':\n case 'FullScreen':\n case 'UseOC':\n case 'UseAttachments':\n pageMode = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, 'pageMode', pageMode);\n }\n }, {\n key: \"openActionDestination\",\n get: function get() {\n var obj = this.catDict.get('OpenAction');\n var openActionDest = null;\n\n if ((0, _primitives.isDict)(obj)) {\n var destDict = new _primitives.Dict(this.xref);\n destDict.set('A', obj);\n var resultObj = {\n url: null,\n dest: null\n };\n Catalog.parseDestDictionary({\n destDict: destDict,\n resultObj: resultObj\n });\n\n if (Array.isArray(resultObj.dest)) {\n openActionDest = resultObj.dest;\n }\n } else if (Array.isArray(obj)) {\n openActionDest = obj;\n }\n\n return (0, _util.shadow)(this, 'openActionDestination', openActionDest);\n }\n }, {\n key: \"attachments\",\n get: function get() {\n var obj = this.catDict.get('Names');\n var attachments = null;\n\n if (obj && obj.has('EmbeddedFiles')) {\n var nameTree = new NameTree(obj.getRaw('EmbeddedFiles'), this.xref);\n var names = nameTree.getAll();\n\n for (var name in names) {\n var fs = new FileSpec(names[name], this.xref);\n\n if (!attachments) {\n attachments = Object.create(null);\n }\n\n attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;\n }\n }\n\n return (0, _util.shadow)(this, 'attachments', attachments);\n }\n }, {\n key: \"javaScript\",\n get: function get() {\n var obj = this.catDict.get('Names');\n var javaScript = null;\n\n function appendIfJavaScriptDict(jsDict) {\n var type = jsDict.get('S');\n\n if (!(0, _primitives.isName)(type, 'JavaScript')) {\n return;\n }\n\n var js = jsDict.get('JS');\n\n if ((0, _primitives.isStream)(js)) {\n js = (0, _util.bytesToString)(js.getBytes());\n } else if (!(0, _util.isString)(js)) {\n return;\n }\n\n if (!javaScript) {\n javaScript = [];\n }\n\n javaScript.push((0, _util.stringToPDFString)(js));\n }\n\n if (obj && obj.has('JavaScript')) {\n var nameTree = new NameTree(obj.getRaw('JavaScript'), this.xref);\n var names = nameTree.getAll();\n\n for (var name in names) {\n var jsDict = names[name];\n\n if ((0, _primitives.isDict)(jsDict)) {\n appendIfJavaScriptDict(jsDict);\n }\n }\n }\n\n var openActionDict = this.catDict.get('OpenAction');\n\n if ((0, _primitives.isDict)(openActionDict, 'Action')) {\n var actionType = openActionDict.get('S');\n\n if ((0, _primitives.isName)(actionType, 'Named')) {\n var action = openActionDict.get('N');\n\n if ((0, _primitives.isName)(action, 'Print')) {\n if (!javaScript) {\n javaScript = [];\n }\n\n javaScript.push('print({});');\n }\n } else {\n appendIfJavaScriptDict(openActionDict);\n }\n }\n\n return (0, _util.shadow)(this, 'javaScript', javaScript);\n }\n }], [{\n key: \"parseDestDictionary\",\n value: function parseDestDictionary(params) {\n function addDefaultProtocolToUrl(url) {\n return url.startsWith('www.') ? \"http://\".concat(url) : url;\n }\n\n function tryConvertUrlEncoding(url) {\n try {\n return (0, _util.stringToUTF8String)(url);\n } catch (e) {\n return url;\n }\n }\n\n var destDict = params.destDict;\n\n if (!(0, _primitives.isDict)(destDict)) {\n (0, _util.warn)('parseDestDictionary: `destDict` must be a dictionary.');\n return;\n }\n\n var resultObj = params.resultObj;\n\n if (_typeof(resultObj) !== 'object') {\n (0, _util.warn)('parseDestDictionary: `resultObj` must be an object.');\n return;\n }\n\n var docBaseUrl = params.docBaseUrl || null;\n var action = destDict.get('A'),\n url,\n dest;\n\n if (!(0, _primitives.isDict)(action) && destDict.has('Dest')) {\n action = destDict.get('Dest');\n }\n\n if ((0, _primitives.isDict)(action)) {\n var actionType = action.get('S');\n\n if (!(0, _primitives.isName)(actionType)) {\n (0, _util.warn)('parseDestDictionary: Invalid type in Action dictionary.');\n return;\n }\n\n var actionName = actionType.name;\n\n switch (actionName) {\n case 'URI':\n url = action.get('URI');\n\n if ((0, _primitives.isName)(url)) {\n url = '/' + url.name;\n } else if ((0, _util.isString)(url)) {\n url = addDefaultProtocolToUrl(url);\n }\n\n break;\n\n case 'GoTo':\n dest = action.get('D');\n break;\n\n case 'Launch':\n case 'GoToR':\n var urlDict = action.get('F');\n\n if ((0, _primitives.isDict)(urlDict)) {\n url = urlDict.get('F') || null;\n } else if ((0, _util.isString)(urlDict)) {\n url = urlDict;\n }\n\n var remoteDest = action.get('D');\n\n if (remoteDest) {\n if ((0, _primitives.isName)(remoteDest)) {\n remoteDest = remoteDest.name;\n }\n\n if ((0, _util.isString)(url)) {\n var baseUrl = url.split('#')[0];\n\n if ((0, _util.isString)(remoteDest)) {\n url = baseUrl + '#' + remoteDest;\n } else if (Array.isArray(remoteDest)) {\n url = baseUrl + '#' + JSON.stringify(remoteDest);\n }\n }\n }\n\n var newWindow = action.get('NewWindow');\n\n if ((0, _util.isBool)(newWindow)) {\n resultObj.newWindow = newWindow;\n }\n\n break;\n\n case 'Named':\n var namedAction = action.get('N');\n\n if ((0, _primitives.isName)(namedAction)) {\n resultObj.action = namedAction.name;\n }\n\n break;\n\n case 'JavaScript':\n var jsAction = action.get('JS');\n var js;\n\n if ((0, _primitives.isStream)(jsAction)) {\n js = (0, _util.bytesToString)(jsAction.getBytes());\n } else if ((0, _util.isString)(jsAction)) {\n js = jsAction;\n }\n\n if (js) {\n var URL_OPEN_METHODS = ['app.launchURL', 'window.open'];\n var regex = new RegExp('^\\\\s*(' + URL_OPEN_METHODS.join('|').split('.').join('\\\\.') + ')\\\\((?:\\'|\\\")([^\\'\\\"]*)(?:\\'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))', 'i');\n var jsUrl = regex.exec((0, _util.stringToPDFString)(js));\n\n if (jsUrl && jsUrl[2]) {\n url = jsUrl[2];\n\n if (jsUrl[3] === 'true' && jsUrl[1] === 'app.launchURL') {\n resultObj.newWindow = true;\n }\n\n break;\n }\n }\n\n default:\n (0, _util.warn)(\"parseDestDictionary: unsupported action type \\\"\".concat(actionName, \"\\\".\"));\n break;\n }\n } else if (destDict.has('Dest')) {\n dest = destDict.get('Dest');\n }\n\n if ((0, _util.isString)(url)) {\n url = tryConvertUrlEncoding(url);\n var absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);\n\n if (absoluteUrl) {\n resultObj.url = absoluteUrl.href;\n }\n\n resultObj.unsafeUrl = url;\n }\n\n if (dest) {\n if ((0, _primitives.isName)(dest)) {\n dest = dest.name;\n }\n\n if ((0, _util.isString)(dest) || Array.isArray(dest)) {\n resultObj.dest = dest;\n }\n }\n }\n }]);\n\n return Catalog;\n}();\n\nexports.Catalog = Catalog;\n\nvar XRef = function XRefClosure() {\n function XRef(stream, pdfManager) {\n this.stream = stream;\n this.pdfManager = pdfManager;\n this.entries = [];\n this.xrefstms = Object.create(null);\n this.cache = [];\n this.stats = {\n streamTypes: [],\n fontTypes: []\n };\n }\n\n XRef.prototype = {\n setStartXRef: function XRef_setStartXRef(startXRef) {\n this.startXRefQueue = [startXRef];\n },\n parse: function XRef_parse(recoveryMode) {\n var trailerDict;\n\n if (!recoveryMode) {\n trailerDict = this.readXRef();\n } else {\n (0, _util.warn)('Indexing all PDF objects');\n trailerDict = this.indexObjects();\n }\n\n trailerDict.assignXref(this);\n this.trailer = trailerDict;\n var encrypt;\n\n try {\n encrypt = trailerDict.get('Encrypt');\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"XRef.parse - Invalid \\\"Encrypt\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n }\n\n if ((0, _primitives.isDict)(encrypt)) {\n var ids = trailerDict.get('ID');\n var fileId = ids && ids.length ? ids[0] : '';\n encrypt.suppressEncryption = true;\n this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);\n }\n\n var root;\n\n try {\n root = trailerDict.get('Root');\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"XRef.parse - Invalid \\\"Root\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n }\n\n if ((0, _primitives.isDict)(root) && root.has('Pages')) {\n this.root = root;\n } else {\n if (!recoveryMode) {\n throw new _util.XRefParseException();\n }\n\n throw new _util.FormatError('Invalid root reference');\n }\n },\n processXRefTable: function XRef_processXRefTable(parser) {\n if (!('tableState' in this)) {\n this.tableState = {\n entryNum: 0,\n streamPos: parser.lexer.stream.pos,\n parserBuf1: parser.buf1,\n parserBuf2: parser.buf2\n };\n }\n\n var obj = this.readXRefTable(parser);\n\n if (!(0, _primitives.isCmd)(obj, 'trailer')) {\n throw new _util.FormatError('Invalid XRef table: could not find trailer dictionary');\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict) && dict.dict) {\n dict = dict.dict;\n }\n\n if (!(0, _primitives.isDict)(dict)) {\n throw new _util.FormatError('Invalid XRef table: could not parse trailer dictionary');\n }\n\n delete this.tableState;\n return dict;\n },\n readXRefTable: function XRef_readXRefTable(parser) {\n var stream = parser.lexer.stream;\n var tableState = this.tableState;\n stream.pos = tableState.streamPos;\n parser.buf1 = tableState.parserBuf1;\n parser.buf2 = tableState.parserBuf2;\n var obj;\n\n while (true) {\n if (!('firstEntryNum' in tableState) || !('entryCount' in tableState)) {\n if ((0, _primitives.isCmd)(obj = parser.getObj(), 'trailer')) {\n break;\n }\n\n tableState.firstEntryNum = obj;\n tableState.entryCount = parser.getObj();\n }\n\n var first = tableState.firstEntryNum;\n var count = tableState.entryCount;\n\n if (!Number.isInteger(first) || !Number.isInteger(count)) {\n throw new _util.FormatError('Invalid XRef table: wrong types in subsection header');\n }\n\n for (var i = tableState.entryNum; i < count; i++) {\n tableState.streamPos = stream.pos;\n tableState.entryNum = i;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n var entry = {};\n entry.offset = parser.getObj();\n entry.gen = parser.getObj();\n var type = parser.getObj();\n\n if ((0, _primitives.isCmd)(type, 'f')) {\n entry.free = true;\n } else if ((0, _primitives.isCmd)(type, 'n')) {\n entry.uncompressed = true;\n }\n\n if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {\n throw new _util.FormatError(\"Invalid entry in XRef subsection: \".concat(first, \", \").concat(count));\n }\n\n if (i === 0 && entry.free && first === 1) {\n first = 0;\n }\n\n if (!this.entries[i + first]) {\n this.entries[i + first] = entry;\n }\n }\n\n tableState.entryNum = 0;\n tableState.streamPos = stream.pos;\n tableState.parserBuf1 = parser.buf1;\n tableState.parserBuf2 = parser.buf2;\n delete tableState.firstEntryNum;\n delete tableState.entryCount;\n }\n\n if (this.entries[0] && !this.entries[0].free) {\n throw new _util.FormatError('Invalid XRef table: unexpected first object');\n }\n\n return obj;\n },\n processXRefStream: function XRef_processXRefStream(stream) {\n if (!('streamState' in this)) {\n var streamParameters = stream.dict;\n var byteWidths = streamParameters.get('W');\n var range = streamParameters.get('Index');\n\n if (!range) {\n range = [0, streamParameters.get('Size')];\n }\n\n this.streamState = {\n entryRanges: range,\n byteWidths: byteWidths,\n entryNum: 0,\n streamPos: stream.pos\n };\n }\n\n this.readXRefStream(stream);\n delete this.streamState;\n return stream.dict;\n },\n readXRefStream: function XRef_readXRefStream(stream) {\n var i, j;\n var streamState = this.streamState;\n stream.pos = streamState.streamPos;\n var byteWidths = streamState.byteWidths;\n var typeFieldWidth = byteWidths[0];\n var offsetFieldWidth = byteWidths[1];\n var generationFieldWidth = byteWidths[2];\n var entryRanges = streamState.entryRanges;\n\n while (entryRanges.length > 0) {\n var first = entryRanges[0];\n var n = entryRanges[1];\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError(\"Invalid XRef range fields: \".concat(first, \", \").concat(n));\n }\n\n if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {\n throw new _util.FormatError(\"Invalid XRef entry fields length: \".concat(first, \", \").concat(n));\n }\n\n for (i = streamState.entryNum; i < n; ++i) {\n streamState.entryNum = i;\n streamState.streamPos = stream.pos;\n var type = 0,\n offset = 0,\n generation = 0;\n\n for (j = 0; j < typeFieldWidth; ++j) {\n type = type << 8 | stream.getByte();\n }\n\n if (typeFieldWidth === 0) {\n type = 1;\n }\n\n for (j = 0; j < offsetFieldWidth; ++j) {\n offset = offset << 8 | stream.getByte();\n }\n\n for (j = 0; j < generationFieldWidth; ++j) {\n generation = generation << 8 | stream.getByte();\n }\n\n var entry = {};\n entry.offset = offset;\n entry.gen = generation;\n\n switch (type) {\n case 0:\n entry.free = true;\n break;\n\n case 1:\n entry.uncompressed = true;\n break;\n\n case 2:\n break;\n\n default:\n throw new _util.FormatError(\"Invalid XRef entry type: \".concat(type));\n }\n\n if (!this.entries[first + i]) {\n this.entries[first + i] = entry;\n }\n }\n\n streamState.entryNum = 0;\n streamState.streamPos = stream.pos;\n entryRanges.splice(0, 2);\n }\n },\n indexObjects: function XRef_indexObjects() {\n var TAB = 0x9,\n LF = 0xA,\n CR = 0xD,\n SPACE = 0x20;\n var PERCENT = 0x25,\n LT = 0x3C;\n\n function readToken(data, offset) {\n var token = '',\n ch = data[offset];\n\n while (ch !== LF && ch !== CR && ch !== LT) {\n if (++offset >= data.length) {\n break;\n }\n\n token += String.fromCharCode(ch);\n ch = data[offset];\n }\n\n return token;\n }\n\n function skipUntil(data, offset, what) {\n var length = what.length,\n dataLength = data.length;\n var skipped = 0;\n\n while (offset < dataLength) {\n var i = 0;\n\n while (i < length && data[offset + i] === what[i]) {\n ++i;\n }\n\n if (i >= length) {\n break;\n }\n\n offset++;\n skipped++;\n }\n\n return skipped;\n }\n\n var objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n var endobjRegExp = /\\bendobj[\\b\\s]$/;\n var nestedObjRegExp = /\\s+(\\d+\\s+\\d+\\s+obj[\\b\\s<])$/;\n var CHECK_CONTENT_LENGTH = 25;\n var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);\n var objBytes = new Uint8Array([111, 98, 106]);\n var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n this.entries.length = 0;\n var stream = this.stream;\n stream.pos = 0;\n var buffer = stream.getBytes();\n var position = stream.start,\n length = buffer.length;\n var trailers = [],\n xrefStms = [];\n\n while (position < length) {\n var ch = buffer[position];\n\n if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n ++position;\n continue;\n }\n\n if (ch === PERCENT) {\n do {\n ++position;\n\n if (position >= length) {\n break;\n }\n\n ch = buffer[position];\n } while (ch !== LF && ch !== CR);\n\n continue;\n }\n\n var token = readToken(buffer, position);\n var m;\n\n if (token.startsWith('xref') && (token.length === 4 || /\\s/.test(token[4]))) {\n position += skipUntil(buffer, position, trailerBytes);\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else if (m = objRegExp.exec(token)) {\n var num = m[1] | 0,\n gen = m[2] | 0;\n\n if (typeof this.entries[num] === 'undefined') {\n this.entries[num] = {\n offset: position - stream.start,\n gen: gen,\n uncompressed: true\n };\n }\n\n var contentLength = void 0,\n startPos = position + token.length;\n\n while (startPos < buffer.length) {\n var endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;\n contentLength = endPos - position;\n var checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);\n var tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));\n\n if (endobjRegExp.test(tokenStr)) {\n break;\n } else {\n var objToken = nestedObjRegExp.exec(tokenStr);\n\n if (objToken && objToken[1]) {\n (0, _util.warn)('indexObjects: Found new \"obj\" inside of another \"obj\", ' + 'caused by missing \"endobj\" -- trying to recover.');\n contentLength -= objToken[1].length;\n break;\n }\n }\n\n startPos = endPos;\n }\n\n var content = buffer.subarray(position, position + contentLength);\n var xrefTagOffset = skipUntil(content, 0, xrefBytes);\n\n if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {\n xrefStms.push(position - stream.start);\n this.xrefstms[position - stream.start] = 1;\n }\n\n position += contentLength;\n } else if (token.startsWith('trailer') && (token.length === 7 || /\\s/.test(token[7]))) {\n trailers.push(position);\n position += skipUntil(buffer, position, startxrefBytes);\n } else {\n position += token.length + 1;\n }\n }\n\n var i, ii;\n\n for (i = 0, ii = xrefStms.length; i < ii; ++i) {\n this.startXRefQueue.push(xrefStms[i]);\n this.readXRef(true);\n }\n\n var trailerDict;\n\n for (i = 0, ii = trailers.length; i < ii; ++i) {\n stream.pos = trailers[i];\n var parser = new _parser.Parser(new _parser.Lexer(stream), true, this, true);\n var obj = parser.getObj();\n\n if (!(0, _primitives.isCmd)(obj, 'trailer')) {\n continue;\n }\n\n var dict = parser.getObj();\n\n if (!(0, _primitives.isDict)(dict)) {\n continue;\n }\n\n var rootDict = void 0;\n\n try {\n rootDict = dict.get('Root');\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n\n continue;\n }\n\n if (!(0, _primitives.isDict)(rootDict) || !rootDict.has('Pages')) {\n continue;\n }\n\n if (dict.has('ID')) {\n return dict;\n }\n\n trailerDict = dict;\n }\n\n if (trailerDict) {\n return trailerDict;\n }\n\n throw new _util.InvalidPDFException('Invalid PDF structure');\n },\n readXRef: function XRef_readXRef(recoveryMode) {\n var stream = this.stream;\n var startXRefParsedCache = Object.create(null);\n\n try {\n while (this.startXRefQueue.length) {\n var startXRef = this.startXRefQueue[0];\n\n if (startXRefParsedCache[startXRef]) {\n (0, _util.warn)('readXRef - skipping XRef table since it was already parsed.');\n this.startXRefQueue.shift();\n continue;\n }\n\n startXRefParsedCache[startXRef] = true;\n stream.pos = startXRef + stream.start;\n var parser = new _parser.Parser(new _parser.Lexer(stream), true, this);\n var obj = parser.getObj();\n var dict;\n\n if ((0, _primitives.isCmd)(obj, 'xref')) {\n dict = this.processXRefTable(parser);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n obj = dict.get('XRefStm');\n\n if (Number.isInteger(obj)) {\n var pos = obj;\n\n if (!(pos in this.xrefstms)) {\n this.xrefstms[pos] = 1;\n this.startXRefQueue.push(pos);\n }\n }\n } else if (Number.isInteger(obj)) {\n if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), 'obj') || !(0, _primitives.isStream)(obj = parser.getObj())) {\n throw new _util.FormatError('Invalid XRef stream');\n }\n\n dict = this.processXRefStream(obj);\n\n if (!this.topDict) {\n this.topDict = dict;\n }\n\n if (!dict) {\n throw new _util.FormatError('Failed to read XRef stream');\n }\n } else {\n throw new _util.FormatError('Invalid XRef stream header');\n }\n\n obj = dict.get('Prev');\n\n if (Number.isInteger(obj)) {\n this.startXRefQueue.push(obj);\n } else if ((0, _primitives.isRef)(obj)) {\n this.startXRefQueue.push(obj.num);\n }\n\n this.startXRefQueue.shift();\n }\n\n return this.topDict;\n } catch (e) {\n if (e instanceof _util.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)('(while reading XRef): ' + e);\n }\n\n if (recoveryMode) {\n return;\n }\n\n throw new _util.XRefParseException();\n },\n getEntry: function XRef_getEntry(i) {\n var xrefEntry = this.entries[i];\n\n if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n return xrefEntry;\n }\n\n return null;\n },\n fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {\n if (!(0, _primitives.isRef)(obj)) {\n return obj;\n }\n\n return this.fetch(obj, suppressEncryption);\n },\n fetch: function XRef_fetch(ref, suppressEncryption) {\n if (!(0, _primitives.isRef)(ref)) {\n throw new Error('ref object is not a reference');\n }\n\n var num = ref.num;\n\n if (num in this.cache) {\n var cacheEntry = this.cache[num];\n\n if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {\n cacheEntry.objId = ref.toString();\n }\n\n return cacheEntry;\n }\n\n var xrefEntry = this.getEntry(num);\n\n if (xrefEntry === null) {\n return this.cache[num] = null;\n }\n\n if (xrefEntry.uncompressed) {\n xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);\n } else {\n xrefEntry = this.fetchCompressed(ref, xrefEntry, suppressEncryption);\n }\n\n if ((0, _primitives.isDict)(xrefEntry)) {\n xrefEntry.objId = ref.toString();\n } else if ((0, _primitives.isStream)(xrefEntry)) {\n xrefEntry.dict.objId = ref.toString();\n }\n\n return xrefEntry;\n },\n fetchUncompressed: function fetchUncompressed(ref, xrefEntry) {\n var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var gen = ref.gen;\n var num = ref.num;\n\n if (xrefEntry.gen !== gen) {\n throw new _util.XRefEntryException(\"Inconsistent generation in XRef: \".concat(ref));\n }\n\n var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);\n var parser = new _parser.Parser(new _parser.Lexer(stream), true, this);\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n\n if (!Number.isInteger(obj1)) {\n obj1 = parseInt(obj1, 10);\n }\n\n if (!Number.isInteger(obj2)) {\n obj2 = parseInt(obj2, 10);\n }\n\n if (obj1 !== num || obj2 !== gen || !(0, _primitives.isCmd)(obj3)) {\n throw new _util.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n }\n\n if (obj3.cmd !== 'obj') {\n if (obj3.cmd.startsWith('obj')) {\n num = parseInt(obj3.cmd.substring(3), 10);\n\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n\n throw new _util.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n }\n\n if (this.encrypt && !suppressEncryption) {\n xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));\n } else {\n xrefEntry = parser.getObj();\n }\n\n if (!(0, _primitives.isStream)(xrefEntry)) {\n this.cache[num] = xrefEntry;\n }\n\n return xrefEntry;\n },\n fetchCompressed: function fetchCompressed(ref, xrefEntry) {\n var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var tableOffset = xrefEntry.offset;\n var stream = this.fetch(new _primitives.Ref(tableOffset, 0));\n\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError('bad ObjStm stream');\n }\n\n var first = stream.dict.get('First');\n var n = stream.dict.get('N');\n\n if (!Number.isInteger(first) || !Number.isInteger(n)) {\n throw new _util.FormatError('invalid first and n parameters for ObjStm stream');\n }\n\n var parser = new _parser.Parser(new _parser.Lexer(stream), false, this);\n parser.allowStreams = true;\n var i,\n entries = [],\n num,\n nums = [];\n\n for (i = 0; i < n; ++i) {\n num = parser.getObj();\n\n if (!Number.isInteger(num)) {\n throw new _util.FormatError(\"invalid object number in the ObjStm stream: \".concat(num));\n }\n\n nums.push(num);\n var offset = parser.getObj();\n\n if (!Number.isInteger(offset)) {\n throw new _util.FormatError(\"invalid object offset in the ObjStm stream: \".concat(offset));\n }\n }\n\n for (i = 0; i < n; ++i) {\n entries.push(parser.getObj());\n\n if ((0, _primitives.isCmd)(parser.buf1, 'endobj')) {\n parser.shift();\n }\n\n num = nums[i];\n var entry = this.entries[num];\n\n if (entry && entry.offset === tableOffset && entry.gen === i) {\n this.cache[num] = entries[i];\n }\n }\n\n xrefEntry = entries[xrefEntry.gen];\n\n if (xrefEntry === undefined) {\n throw new _util.XRefEntryException(\"Bad (compressed) XRef entry: \".concat(ref));\n }\n\n return xrefEntry;\n },\n fetchIfRefAsync: function () {\n var _fetchIfRefAsync = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee(obj, suppressEncryption) {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if ((0, _primitives.isRef)(obj)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", obj);\n\n case 2:\n return _context.abrupt(\"return\", this.fetchAsync(obj, suppressEncryption));\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetchIfRefAsync(_x, _x2) {\n return _fetchIfRefAsync.apply(this, arguments);\n }\n\n return fetchIfRefAsync;\n }(),\n fetchAsync: function () {\n var _fetchAsync = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee2(ref, suppressEncryption) {\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n return _context2.abrupt(\"return\", this.fetch(ref, suppressEncryption));\n\n case 4:\n _context2.prev = 4;\n _context2.t0 = _context2[\"catch\"](0);\n\n if (_context2.t0 instanceof _util.MissingDataException) {\n _context2.next = 8;\n break;\n }\n\n throw _context2.t0;\n\n case 8:\n _context2.next = 10;\n return this.pdfManager.requestRange(_context2.t0.begin, _context2.t0.end);\n\n case 10:\n return _context2.abrupt(\"return\", this.fetchAsync(ref, suppressEncryption));\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this, [[0, 4]]);\n }));\n\n function fetchAsync(_x3, _x4) {\n return _fetchAsync.apply(this, arguments);\n }\n\n return fetchAsync;\n }(),\n getCatalogObj: function XRef_getCatalogObj() {\n return this.root;\n }\n };\n return XRef;\n}();\n\nexports.XRef = XRef;\n\nvar NameOrNumberTree =\n/*#__PURE__*/\nfunction () {\n function NameOrNumberTree(root, xref, type) {\n _classCallCheck(this, NameOrNumberTree);\n\n if (this.constructor === NameOrNumberTree) {\n (0, _util.unreachable)('Cannot initialize NameOrNumberTree.');\n }\n\n this.root = root;\n this.xref = xref;\n this._type = type;\n }\n\n _createClass(NameOrNumberTree, [{\n key: \"getAll\",\n value: function getAll() {\n var dict = Object.create(null);\n\n if (!this.root) {\n return dict;\n }\n\n var xref = this.xref;\n var processed = new _primitives.RefSet();\n processed.put(this.root);\n var queue = [this.root];\n\n while (queue.length > 0) {\n var obj = xref.fetchIfRef(queue.shift());\n\n if (!(0, _primitives.isDict)(obj)) {\n continue;\n }\n\n if (obj.has('Kids')) {\n var kids = obj.get('Kids');\n\n for (var i = 0, ii = kids.length; i < ii; i++) {\n var kid = kids[i];\n\n if (processed.has(kid)) {\n throw new _util.FormatError(\"Duplicate entry in \\\"\".concat(this._type, \"\\\" tree.\"));\n }\n\n queue.push(kid);\n processed.put(kid);\n }\n\n continue;\n }\n\n var entries = obj.get(this._type);\n\n if (Array.isArray(entries)) {\n for (var _i2 = 0, _ii = entries.length; _i2 < _ii; _i2 += 2) {\n dict[xref.fetchIfRef(entries[_i2])] = xref.fetchIfRef(entries[_i2 + 1]);\n }\n }\n }\n\n return dict;\n }\n }, {\n key: \"get\",\n value: function get(key) {\n if (!this.root) {\n return null;\n }\n\n var xref = this.xref;\n var kidsOrEntries = xref.fetchIfRef(this.root);\n var loopCount = 0;\n var MAX_LEVELS = 10;\n\n while (kidsOrEntries.has('Kids')) {\n if (++loopCount > MAX_LEVELS) {\n (0, _util.warn)(\"Search depth limit reached for \\\"\".concat(this._type, \"\\\" tree.\"));\n return null;\n }\n\n var kids = kidsOrEntries.get('Kids');\n\n if (!Array.isArray(kids)) {\n return null;\n }\n\n var l = 0,\n r = kids.length - 1;\n\n while (l <= r) {\n var m = l + r >> 1;\n var kid = xref.fetchIfRef(kids[m]);\n var limits = kid.get('Limits');\n\n if (key < xref.fetchIfRef(limits[0])) {\n r = m - 1;\n } else if (key > xref.fetchIfRef(limits[1])) {\n l = m + 1;\n } else {\n kidsOrEntries = xref.fetchIfRef(kids[m]);\n break;\n }\n }\n\n if (l > r) {\n return null;\n }\n }\n\n var entries = kidsOrEntries.get(this._type);\n\n if (Array.isArray(entries)) {\n var _l = 0,\n _r = entries.length - 2;\n\n while (_l <= _r) {\n var tmp = _l + _r >> 1,\n _m = tmp + (tmp & 1);\n\n var currentKey = xref.fetchIfRef(entries[_m]);\n\n if (key < currentKey) {\n _r = _m - 2;\n } else if (key > currentKey) {\n _l = _m + 2;\n } else {\n return xref.fetchIfRef(entries[_m + 1]);\n }\n }\n\n (0, _util.info)(\"Falling back to an exhaustive search, for key \\\"\".concat(key, \"\\\", \") + \"in \\\"\".concat(this._type, \"\\\" tree.\"));\n\n for (var _m2 = 0, mm = entries.length; _m2 < mm; _m2 += 2) {\n var _currentKey = xref.fetchIfRef(entries[_m2]);\n\n if (_currentKey === key) {\n (0, _util.warn)(\"The \\\"\".concat(key, \"\\\" key was found at an incorrect, \") + \"i.e. out-of-order, position in \\\"\".concat(this._type, \"\\\" tree.\"));\n return xref.fetchIfRef(entries[_m2 + 1]);\n }\n }\n }\n\n return null;\n }\n }]);\n\n return NameOrNumberTree;\n}();\n\nvar NameTree =\n/*#__PURE__*/\nfunction (_NameOrNumberTree) {\n _inherits(NameTree, _NameOrNumberTree);\n\n function NameTree(root, xref) {\n _classCallCheck(this, NameTree);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NameTree).call(this, root, xref, 'Names'));\n }\n\n return NameTree;\n}(NameOrNumberTree);\n\nvar NumberTree =\n/*#__PURE__*/\nfunction (_NameOrNumberTree2) {\n _inherits(NumberTree, _NameOrNumberTree2);\n\n function NumberTree(root, xref) {\n _classCallCheck(this, NumberTree);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NumberTree).call(this, root, xref, 'Nums'));\n }\n\n return NumberTree;\n}(NameOrNumberTree);\n\nvar FileSpec = function FileSpecClosure() {\n function FileSpec(root, xref) {\n if (!root || !(0, _primitives.isDict)(root)) {\n return;\n }\n\n this.xref = xref;\n this.root = root;\n\n if (root.has('FS')) {\n this.fs = root.get('FS');\n }\n\n this.description = root.has('Desc') ? (0, _util.stringToPDFString)(root.get('Desc')) : '';\n\n if (root.has('RF')) {\n (0, _util.warn)('Related file specifications are not supported');\n }\n\n this.contentAvailable = true;\n\n if (!root.has('EF')) {\n this.contentAvailable = false;\n (0, _util.warn)('Non-embedded file specifications are not supported');\n }\n }\n\n function pickPlatformItem(dict) {\n if (dict.has('UF')) {\n return dict.get('UF');\n } else if (dict.has('F')) {\n return dict.get('F');\n } else if (dict.has('Unix')) {\n return dict.get('Unix');\n } else if (dict.has('Mac')) {\n return dict.get('Mac');\n } else if (dict.has('DOS')) {\n return dict.get('DOS');\n }\n\n return null;\n }\n\n FileSpec.prototype = {\n get filename() {\n if (!this._filename && this.root) {\n var filename = pickPlatformItem(this.root) || 'unnamed';\n this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\\\\\/g, '\\\\').replace(/\\\\\\//g, '/').replace(/\\\\/g, '/');\n }\n\n return this._filename;\n },\n\n get content() {\n if (!this.contentAvailable) {\n return null;\n }\n\n if (!this.contentRef && this.root) {\n this.contentRef = pickPlatformItem(this.root.get('EF'));\n }\n\n var content = null;\n\n if (this.contentRef) {\n var xref = this.xref;\n var fileObj = xref.fetchIfRef(this.contentRef);\n\n if (fileObj && (0, _primitives.isStream)(fileObj)) {\n content = fileObj.getBytes();\n } else {\n (0, _util.warn)('Embedded file specification points to non-existing/invalid ' + 'content');\n }\n } else {\n (0, _util.warn)('Embedded file specification does not have a content');\n }\n\n return content;\n },\n\n get serializable() {\n return {\n filename: this.filename,\n content: this.content\n };\n }\n\n };\n return FileSpec;\n}();\n\nexports.FileSpec = FileSpec;\n\nvar ObjectLoader = function () {\n function mayHaveChildren(value) {\n return (0, _primitives.isRef)(value) || (0, _primitives.isDict)(value) || Array.isArray(value) || (0, _primitives.isStream)(value);\n }\n\n function addChildren(node, nodesToVisit) {\n if ((0, _primitives.isDict)(node) || (0, _primitives.isStream)(node)) {\n var dict = (0, _primitives.isDict)(node) ? node : node.dict;\n var dictKeys = dict.getKeys();\n\n for (var i = 0, ii = dictKeys.length; i < ii; i++) {\n var rawValue = dict.getRaw(dictKeys[i]);\n\n if (mayHaveChildren(rawValue)) {\n nodesToVisit.push(rawValue);\n }\n }\n } else if (Array.isArray(node)) {\n for (var _i3 = 0, _ii2 = node.length; _i3 < _ii2; _i3++) {\n var value = node[_i3];\n\n if (mayHaveChildren(value)) {\n nodesToVisit.push(value);\n }\n }\n }\n }\n\n function ObjectLoader(dict, keys, xref) {\n this.dict = dict;\n this.keys = keys;\n this.xref = xref;\n this.refSet = null;\n this.capability = null;\n }\n\n ObjectLoader.prototype = {\n load: function load() {\n this.capability = (0, _util.createPromiseCapability)();\n\n if (!(this.xref.stream instanceof _chunked_stream.ChunkedStream) || this.xref.stream.getMissingChunks().length === 0) {\n this.capability.resolve();\n return this.capability.promise;\n }\n\n var keys = this.keys,\n dict = this.dict;\n this.refSet = new _primitives.RefSet();\n var nodesToVisit = [];\n\n for (var i = 0, ii = keys.length; i < ii; i++) {\n var rawValue = dict.getRaw(keys[i]);\n\n if (rawValue !== undefined) {\n nodesToVisit.push(rawValue);\n }\n }\n\n this._walk(nodesToVisit);\n\n return this.capability.promise;\n },\n _walk: function _walk(nodesToVisit) {\n var _this2 = this;\n\n var nodesToRevisit = [];\n var pendingRequests = [];\n\n while (nodesToVisit.length) {\n var currentNode = nodesToVisit.pop();\n\n if ((0, _primitives.isRef)(currentNode)) {\n if (this.refSet.has(currentNode)) {\n continue;\n }\n\n try {\n this.refSet.put(currentNode);\n currentNode = this.xref.fetch(currentNode);\n } catch (ex) {\n if (!(ex instanceof _util.MissingDataException)) {\n throw ex;\n }\n\n nodesToRevisit.push(currentNode);\n pendingRequests.push({\n begin: ex.begin,\n end: ex.end\n });\n }\n }\n\n if (currentNode && currentNode.getBaseStreams) {\n var baseStreams = currentNode.getBaseStreams();\n var foundMissingData = false;\n\n for (var i = 0, ii = baseStreams.length; i < ii; i++) {\n var stream = baseStreams[i];\n\n if (stream.getMissingChunks && stream.getMissingChunks().length) {\n foundMissingData = true;\n pendingRequests.push({\n begin: stream.start,\n end: stream.end\n });\n }\n }\n\n if (foundMissingData) {\n nodesToRevisit.push(currentNode);\n }\n }\n\n addChildren(currentNode, nodesToVisit);\n }\n\n if (pendingRequests.length) {\n this.xref.stream.manager.requestRanges(pendingRequests).then(function () {\n for (var _i4 = 0, _ii3 = nodesToRevisit.length; _i4 < _ii3; _i4++) {\n var node = nodesToRevisit[_i4];\n\n if ((0, _primitives.isRef)(node)) {\n _this2.refSet.remove(node);\n }\n }\n\n _this2._walk(nodesToRevisit);\n }, this.capability.reject);\n return;\n }\n\n this.refSet = null;\n this.capability.resolve();\n }\n };\n return ObjectLoader;\n}();\n\nexports.ObjectLoader = ObjectLoader;\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isEOF = isEOF;\nexports.isCmd = isCmd;\nexports.isDict = isDict;\nexports.isName = isName;\nexports.isRef = isRef;\nexports.isRefsEqual = isRefsEqual;\nexports.isStream = isStream;\nexports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF = void 0;\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar EOF = {};\nexports.EOF = EOF;\n\nvar Name = function NameClosure() {\n function Name(name) {\n this.name = name;\n }\n\n Name.prototype = {};\n var nameCache = Object.create(null);\n\n Name.get = function Name_get(name) {\n var nameValue = nameCache[name];\n return nameValue ? nameValue : nameCache[name] = new Name(name);\n };\n\n return Name;\n}();\n\nexports.Name = Name;\n\nvar Cmd = function CmdClosure() {\n function Cmd(cmd) {\n this.cmd = cmd;\n }\n\n Cmd.prototype = {};\n var cmdCache = Object.create(null);\n\n Cmd.get = function Cmd_get(cmd) {\n var cmdValue = cmdCache[cmd];\n return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);\n };\n\n return Cmd;\n}();\n\nexports.Cmd = Cmd;\n\nvar Dict = function DictClosure() {\n var nonSerializable = function nonSerializableClosure() {\n return nonSerializable;\n };\n\n function Dict(xref) {\n this._map = Object.create(null);\n this.xref = xref;\n this.objId = null;\n this.suppressEncryption = false;\n this.__nonSerializable__ = nonSerializable;\n }\n\n Dict.prototype = {\n assignXref: function Dict_assignXref(newXref) {\n this.xref = newXref;\n },\n get: function Dict_get(key1, key2, key3) {\n var value;\n var xref = this.xref,\n suppressEncryption = this.suppressEncryption;\n\n if (typeof (value = this._map[key1]) !== 'undefined' || key1 in this._map || typeof key2 === 'undefined') {\n return xref ? xref.fetchIfRef(value, suppressEncryption) : value;\n }\n\n if (typeof (value = this._map[key2]) !== 'undefined' || key2 in this._map || typeof key3 === 'undefined') {\n return xref ? xref.fetchIfRef(value, suppressEncryption) : value;\n }\n\n value = this._map[key3] || null;\n return xref ? xref.fetchIfRef(value, suppressEncryption) : value;\n },\n getAsync: function Dict_getAsync(key1, key2, key3) {\n var value;\n var xref = this.xref,\n suppressEncryption = this.suppressEncryption;\n\n if (typeof (value = this._map[key1]) !== 'undefined' || key1 in this._map || typeof key2 === 'undefined') {\n if (xref) {\n return xref.fetchIfRefAsync(value, suppressEncryption);\n }\n\n return Promise.resolve(value);\n }\n\n if (typeof (value = this._map[key2]) !== 'undefined' || key2 in this._map || typeof key3 === 'undefined') {\n if (xref) {\n return xref.fetchIfRefAsync(value, suppressEncryption);\n }\n\n return Promise.resolve(value);\n }\n\n value = this._map[key3] || null;\n\n if (xref) {\n return xref.fetchIfRefAsync(value, suppressEncryption);\n }\n\n return Promise.resolve(value);\n },\n getArray: function Dict_getArray(key1, key2, key3) {\n var value = this.get(key1, key2, key3);\n var xref = this.xref,\n suppressEncryption = this.suppressEncryption;\n\n if (!Array.isArray(value) || !xref) {\n return value;\n }\n\n value = value.slice();\n\n for (var i = 0, ii = value.length; i < ii; i++) {\n if (!isRef(value[i])) {\n continue;\n }\n\n value[i] = xref.fetch(value[i], suppressEncryption);\n }\n\n return value;\n },\n getRaw: function Dict_getRaw(key) {\n return this._map[key];\n },\n getKeys: function Dict_getKeys() {\n return Object.keys(this._map);\n },\n set: function Dict_set(key, value) {\n this._map[key] = value;\n },\n has: function Dict_has(key) {\n return key in this._map;\n },\n forEach: function Dict_forEach(callback) {\n for (var key in this._map) {\n callback(key, this.get(key));\n }\n }\n };\n Dict.empty = new Dict(null);\n\n Dict.merge = function (xref, dictArray) {\n var mergedDict = new Dict(xref);\n\n for (var i = 0, ii = dictArray.length; i < ii; i++) {\n var dict = dictArray[i];\n\n if (!isDict(dict)) {\n continue;\n }\n\n for (var keyName in dict._map) {\n if (mergedDict._map[keyName] !== undefined) {\n continue;\n }\n\n mergedDict._map[keyName] = dict._map[keyName];\n }\n }\n\n return mergedDict;\n };\n\n return Dict;\n}();\n\nexports.Dict = Dict;\n\nvar Ref = function RefClosure() {\n function Ref(num, gen) {\n this.num = num;\n this.gen = gen;\n }\n\n Ref.prototype = {\n toString: function Ref_toString() {\n if (this.gen !== 0) {\n return \"\".concat(this.num, \"R\").concat(this.gen);\n }\n\n return \"\".concat(this.num, \"R\");\n }\n };\n return Ref;\n}();\n\nexports.Ref = Ref;\n\nvar RefSet = function RefSetClosure() {\n function RefSet() {\n this.dict = Object.create(null);\n }\n\n RefSet.prototype = {\n has: function RefSet_has(ref) {\n return ref.toString() in this.dict;\n },\n put: function RefSet_put(ref) {\n this.dict[ref.toString()] = true;\n },\n remove: function RefSet_remove(ref) {\n delete this.dict[ref.toString()];\n }\n };\n return RefSet;\n}();\n\nexports.RefSet = RefSet;\n\nvar RefSetCache = function RefSetCacheClosure() {\n function RefSetCache() {\n this.dict = Object.create(null);\n }\n\n RefSetCache.prototype = {\n get: function RefSetCache_get(ref) {\n return this.dict[ref.toString()];\n },\n has: function RefSetCache_has(ref) {\n return ref.toString() in this.dict;\n },\n put: function RefSetCache_put(ref, obj) {\n this.dict[ref.toString()] = obj;\n },\n putAlias: function RefSetCache_putAlias(ref, aliasRef) {\n this.dict[ref.toString()] = this.get(aliasRef);\n },\n forEach: function RefSetCache_forEach(fn, thisArg) {\n for (var i in this.dict) {\n fn.call(thisArg, this.dict[i]);\n }\n },\n clear: function RefSetCache_clear() {\n this.dict = Object.create(null);\n }\n };\n return RefSetCache;\n}();\n\nexports.RefSetCache = RefSetCache;\n\nfunction isEOF(v) {\n return v === EOF;\n}\n\nfunction isName(v, name) {\n return v instanceof Name && (name === undefined || v.name === name);\n}\n\nfunction isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n return v instanceof Dict && (type === undefined || isName(v.get('Type'), type));\n}\n\nfunction isRef(v) {\n return v instanceof Ref;\n}\n\nfunction isRefsEqual(v1, v2) {\n return v1.num === v2.num && v1.gen === v2.gen;\n}\n\nfunction isStream(v) {\n return _typeof(v) === 'object' && v !== null && v.getBytes !== undefined;\n}\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Parser = exports.Linearization = exports.Lexer = void 0;\n\nvar _stream = __w_pdfjs_require__(157);\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _ccitt_stream = __w_pdfjs_require__(158);\n\nvar _jbig2_stream = __w_pdfjs_require__(160);\n\nvar _jpeg_stream = __w_pdfjs_require__(163);\n\nvar _jpx_stream = __w_pdfjs_require__(165);\n\nvar MAX_LENGTH_TO_CACHE = 1000;\nvar MAX_ADLER32_LENGTH = 5552;\n\nfunction computeAdler32(bytes) {\n var bytesLength = bytes.length;\n var a = 1,\n b = 0;\n\n for (var i = 0; i < bytesLength; ++i) {\n a += bytes[i] & 0xFF;\n b += a;\n }\n\n return b % 65521 << 16 | a % 65521;\n}\n\nvar Parser = function ParserClosure() {\n function Parser(lexer, allowStreams, xref, recoveryMode) {\n this.lexer = lexer;\n this.allowStreams = allowStreams;\n this.xref = xref;\n this.recoveryMode = recoveryMode || false;\n this.imageCache = Object.create(null);\n this.refill();\n }\n\n Parser.prototype = {\n refill: function Parser_refill() {\n this.buf1 = this.lexer.getObj();\n this.buf2 = this.lexer.getObj();\n },\n shift: function Parser_shift() {\n if ((0, _primitives.isCmd)(this.buf2, 'ID')) {\n this.buf1 = this.buf2;\n this.buf2 = null;\n } else {\n this.buf1 = this.buf2;\n this.buf2 = this.lexer.getObj();\n }\n },\n tryShift: function Parser_tryShift() {\n try {\n this.shift();\n return true;\n } catch (e) {\n if (e instanceof _util.MissingDataException) {\n throw e;\n }\n\n return false;\n }\n },\n getObj: function Parser_getObj(cipherTransform) {\n var buf1 = this.buf1;\n this.shift();\n\n if (buf1 instanceof _primitives.Cmd) {\n switch (buf1.cmd) {\n case 'BI':\n return this.makeInlineImage(cipherTransform);\n\n case '[':\n var array = [];\n\n while (!(0, _primitives.isCmd)(this.buf1, ']') && !(0, _primitives.isEOF)(this.buf1)) {\n array.push(this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError('End of file inside array');\n }\n\n return array;\n }\n\n this.shift();\n return array;\n\n case '<<':\n var dict = new _primitives.Dict(this.xref);\n\n while (!(0, _primitives.isCmd)(this.buf1, '>>') && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n (0, _util.info)('Malformed dictionary: key must be a name object');\n this.shift();\n continue;\n }\n\n var key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n if (!this.recoveryMode) {\n throw new _util.FormatError('End of file inside dictionary');\n }\n\n return dict;\n }\n\n if ((0, _primitives.isCmd)(this.buf2, 'stream')) {\n return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;\n }\n\n this.shift();\n return dict;\n\n default:\n return buf1;\n }\n }\n\n if (Number.isInteger(buf1)) {\n var num = buf1;\n\n if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, 'R')) {\n var ref = new _primitives.Ref(num, this.buf1);\n this.shift();\n this.shift();\n return ref;\n }\n\n return num;\n }\n\n if ((0, _util.isString)(buf1)) {\n var str = buf1;\n\n if (cipherTransform) {\n str = cipherTransform.decryptString(str);\n }\n\n return str;\n }\n\n return buf1;\n },\n findDefaultInlineStreamEnd: function findDefaultInlineStreamEnd(stream) {\n var E = 0x45,\n I = 0x49,\n SPACE = 0x20,\n LF = 0xA,\n CR = 0xD;\n var n = 10,\n NUL = 0x0;\n var startPos = stream.pos,\n state = 0,\n ch,\n maybeEIPos;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else {\n (0, _util.assert)(state === 2);\n\n if (ch === SPACE || ch === LF || ch === CR) {\n maybeEIPos = stream.pos;\n var followingBytes = stream.peekBytes(n);\n\n for (var i = 0, ii = followingBytes.length; i < ii; i++) {\n ch = followingBytes[i];\n\n if (ch === NUL && followingBytes[i + 1] !== NUL) {\n continue;\n }\n\n if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7F)) {\n state = 0;\n break;\n }\n }\n\n if (state === 2) {\n break;\n }\n } else {\n state = 0;\n }\n }\n }\n\n if (ch === -1) {\n (0, _util.warn)('findDefaultInlineStreamEnd: ' + 'Reached the end of the stream without finding a valid EI marker');\n\n if (maybeEIPos) {\n (0, _util.warn)('... trying to recover by using the last \"EI\" occurrence.');\n stream.skip(-(stream.pos - maybeEIPos));\n }\n }\n\n var endOffset = 4;\n stream.skip(-endOffset);\n ch = stream.peekByte();\n stream.skip(endOffset);\n\n if (!(0, _util.isSpace)(ch)) {\n endOffset--;\n }\n\n return stream.pos - endOffset - startPos;\n },\n findDCTDecodeInlineStreamEnd: function Parser_findDCTDecodeInlineStreamEnd(stream) {\n var startPos = stream.pos,\n foundEOI = false,\n b,\n markerLength,\n length;\n\n while ((b = stream.getByte()) !== -1) {\n if (b !== 0xFF) {\n continue;\n }\n\n switch (stream.getByte()) {\n case 0x00:\n break;\n\n case 0xFF:\n stream.skip(-1);\n break;\n\n case 0xD9:\n foundEOI = true;\n break;\n\n case 0xC0:\n case 0xC1:\n case 0xC2:\n case 0xC3:\n case 0xC5:\n case 0xC6:\n case 0xC7:\n case 0xC9:\n case 0xCA:\n case 0xCB:\n case 0xCD:\n case 0xCE:\n case 0xCF:\n case 0xC4:\n case 0xCC:\n case 0xDA:\n case 0xDB:\n case 0xDC:\n case 0xDD:\n case 0xDE:\n case 0xDF:\n case 0xE0:\n case 0xE1:\n case 0xE2:\n case 0xE3:\n case 0xE4:\n case 0xE5:\n case 0xE6:\n case 0xE7:\n case 0xE8:\n case 0xE9:\n case 0xEA:\n case 0xEB:\n case 0xEC:\n case 0xED:\n case 0xEE:\n case 0xEF:\n case 0xFE:\n markerLength = stream.getUint16();\n\n if (markerLength > 2) {\n stream.skip(markerLength - 2);\n } else {\n stream.skip(-2);\n }\n\n break;\n }\n\n if (foundEOI) {\n break;\n }\n }\n\n length = stream.pos - startPos;\n\n if (b === -1) {\n (0, _util.warn)('Inline DCTDecode image stream: ' + 'EOI marker not found, searching for /EI/ instead.');\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n },\n findASCII85DecodeInlineStreamEnd: function Parser_findASCII85DecodeInlineStreamEnd(stream) {\n var TILDE = 0x7E,\n GT = 0x3E;\n var startPos = stream.pos,\n ch,\n length;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === TILDE && stream.peekByte() === GT) {\n stream.skip();\n break;\n }\n }\n\n length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)('Inline ASCII85Decode image stream: ' + 'EOD marker not found, searching for /EI/ instead.');\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n },\n findASCIIHexDecodeInlineStreamEnd: function Parser_findASCIIHexDecodeInlineStreamEnd(stream) {\n var GT = 0x3E;\n var startPos = stream.pos,\n ch,\n length;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === GT) {\n break;\n }\n }\n\n length = stream.pos - startPos;\n\n if (ch === -1) {\n (0, _util.warn)('Inline ASCIIHexDecode image stream: ' + 'EOD marker not found, searching for /EI/ instead.');\n stream.skip(-length);\n return this.findDefaultInlineStreamEnd(stream);\n }\n\n this.inlineStreamSkipEI(stream);\n return length;\n },\n inlineStreamSkipEI: function Parser_inlineStreamSkipEI(stream) {\n var E = 0x45,\n I = 0x49;\n var state = 0,\n ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (state === 0) {\n state = ch === E ? 1 : 0;\n } else if (state === 1) {\n state = ch === I ? 2 : 0;\n } else if (state === 2) {\n break;\n }\n }\n },\n makeInlineImage: function Parser_makeInlineImage(cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n var dict = new _primitives.Dict(this.xref),\n dictLength;\n\n while (!(0, _primitives.isCmd)(this.buf1, 'ID') && !(0, _primitives.isEOF)(this.buf1)) {\n if (!(0, _primitives.isName)(this.buf1)) {\n throw new _util.FormatError('Dictionary key must be a name object');\n }\n\n var key = this.buf1.name;\n this.shift();\n\n if ((0, _primitives.isEOF)(this.buf1)) {\n break;\n }\n\n dict.set(key, this.getObj(cipherTransform));\n }\n\n if (lexer.beginInlineImagePos !== -1) {\n dictLength = stream.pos - lexer.beginInlineImagePos;\n }\n\n var filter = dict.get('Filter', 'F'),\n filterName;\n\n if ((0, _primitives.isName)(filter)) {\n filterName = filter.name;\n } else if (Array.isArray(filter)) {\n var filterZero = this.xref.fetchIfRef(filter[0]);\n\n if ((0, _primitives.isName)(filterZero)) {\n filterName = filterZero.name;\n }\n }\n\n var startPos = stream.pos,\n length;\n\n if (filterName === 'DCTDecode' || filterName === 'DCT') {\n length = this.findDCTDecodeInlineStreamEnd(stream);\n } else if (filterName === 'ASCII85Decode' || filterName === 'A85') {\n length = this.findASCII85DecodeInlineStreamEnd(stream);\n } else if (filterName === 'ASCIIHexDecode' || filterName === 'AHx') {\n length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n } else {\n length = this.findDefaultInlineStreamEnd(stream);\n }\n\n var imageStream = stream.makeSubStream(startPos, length, dict);\n var cacheKey;\n\n if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {\n var imageBytes = imageStream.getBytes();\n imageStream.reset();\n var initialStreamPos = stream.pos;\n stream.pos = lexer.beginInlineImagePos;\n var dictBytes = stream.getBytes(dictLength);\n stream.pos = initialStreamPos;\n cacheKey = computeAdler32(imageBytes) + '_' + computeAdler32(dictBytes);\n var cacheEntry = this.imageCache[cacheKey];\n\n if (cacheEntry !== undefined) {\n this.buf2 = _primitives.Cmd.get('EI');\n this.shift();\n cacheEntry.reset();\n return cacheEntry;\n }\n }\n\n if (cipherTransform) {\n imageStream = cipherTransform.createStream(imageStream, length);\n }\n\n imageStream = this.filter(imageStream, dict, length);\n imageStream.dict = dict;\n\n if (cacheKey !== undefined) {\n imageStream.cacheKey = 'inline_' + length + '_' + cacheKey;\n this.imageCache[cacheKey] = imageStream;\n }\n\n this.buf2 = _primitives.Cmd.get('EI');\n this.shift();\n return imageStream;\n },\n _findStreamLength: function _findStreamLength(startPos, signature) {\n var stream = this.lexer.stream;\n stream.pos = startPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var signatureLength = signature.length;\n\n while (stream.pos < stream.end) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n var scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n break;\n }\n\n var pos = 0;\n\n while (pos < scanLength) {\n var j = 0;\n\n while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos;\n return stream.pos - startPos;\n }\n\n pos++;\n }\n\n stream.pos += scanLength;\n }\n\n return -1;\n },\n makeStream: function Parser_makeStream(dict, cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n lexer.skipToNextLine();\n var startPos = stream.pos - 1;\n var length = dict.get('Length');\n\n if (!Number.isInteger(length)) {\n (0, _util.info)('Bad ' + length + ' attribute in stream');\n length = 0;\n }\n\n stream.pos = startPos + length;\n lexer.nextChar();\n\n if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, 'endstream')) {\n this.shift();\n } else {\n var ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);\n\n var actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);\n\n if (actualLength < 0) {\n var MAX_TRUNCATION = 1;\n\n for (var i = 1; i <= MAX_TRUNCATION; i++) {\n var end = ENDSTREAM_SIGNATURE.length - i;\n var TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);\n\n var maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);\n\n if (maybeLength >= 0) {\n var lastByte = stream.peekBytes(end + 1)[end];\n\n if (!(0, _util.isSpace)(lastByte)) {\n break;\n }\n\n (0, _util.info)(\"Found \\\"\".concat((0, _util.bytesToString)(TRUNCATED_SIGNATURE), \"\\\" when \") + 'searching for endstream command.');\n actualLength = maybeLength;\n break;\n }\n }\n\n if (actualLength < 0) {\n throw new _util.FormatError('Missing endstream command.');\n }\n }\n\n length = actualLength;\n lexer.nextChar();\n this.shift();\n this.shift();\n }\n\n this.shift();\n stream = stream.makeSubStream(startPos, length, dict);\n\n if (cipherTransform) {\n stream = cipherTransform.createStream(stream, length);\n }\n\n stream = this.filter(stream, dict, length);\n stream.dict = dict;\n return stream;\n },\n filter: function Parser_filter(stream, dict, length) {\n var filter = dict.get('Filter', 'F');\n var params = dict.get('DecodeParms', 'DP');\n\n if ((0, _primitives.isName)(filter)) {\n if (Array.isArray(params)) {\n (0, _util.warn)('/DecodeParms should not contain an Array, ' + 'when /Filter contains a Name.');\n }\n\n return this.makeFilter(stream, filter.name, length, params);\n }\n\n var maybeLength = length;\n\n if (Array.isArray(filter)) {\n var filterArray = filter;\n var paramsArray = params;\n\n for (var i = 0, ii = filterArray.length; i < ii; ++i) {\n filter = this.xref.fetchIfRef(filterArray[i]);\n\n if (!(0, _primitives.isName)(filter)) {\n throw new _util.FormatError('Bad filter name: ' + filter);\n }\n\n params = null;\n\n if (Array.isArray(paramsArray) && i in paramsArray) {\n params = this.xref.fetchIfRef(paramsArray[i]);\n }\n\n stream = this.makeFilter(stream, filter.name, maybeLength, params);\n maybeLength = null;\n }\n }\n\n return stream;\n },\n makeFilter: function Parser_makeFilter(stream, name, maybeLength, params) {\n if (maybeLength === 0) {\n (0, _util.warn)('Empty \"' + name + '\" stream.');\n return new _stream.NullStream();\n }\n\n try {\n var xrefStreamStats = this.xref.stats.streamTypes;\n\n if (name === 'FlateDecode' || name === 'Fl') {\n xrefStreamStats[_util.StreamType.FLATE] = true;\n\n if (params) {\n return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, params);\n }\n\n return new _stream.FlateStream(stream, maybeLength);\n }\n\n if (name === 'LZWDecode' || name === 'LZW') {\n xrefStreamStats[_util.StreamType.LZW] = true;\n var earlyChange = 1;\n\n if (params) {\n if (params.has('EarlyChange')) {\n earlyChange = params.get('EarlyChange');\n }\n\n return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);\n }\n\n return new _stream.LZWStream(stream, maybeLength, earlyChange);\n }\n\n if (name === 'DCTDecode' || name === 'DCT') {\n xrefStreamStats[_util.StreamType.DCT] = true;\n return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === 'JPXDecode' || name === 'JPX') {\n xrefStreamStats[_util.StreamType.JPX] = true;\n return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);\n }\n\n if (name === 'ASCII85Decode' || name === 'A85') {\n xrefStreamStats[_util.StreamType.A85] = true;\n return new _stream.Ascii85Stream(stream, maybeLength);\n }\n\n if (name === 'ASCIIHexDecode' || name === 'AHx') {\n xrefStreamStats[_util.StreamType.AHX] = true;\n return new _stream.AsciiHexStream(stream, maybeLength);\n }\n\n if (name === 'CCITTFaxDecode' || name === 'CCF') {\n xrefStreamStats[_util.StreamType.CCF] = true;\n return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);\n }\n\n if (name === 'RunLengthDecode' || name === 'RL') {\n xrefStreamStats[_util.StreamType.RL] = true;\n return new _stream.RunLengthStream(stream, maybeLength);\n }\n\n if (name === 'JBIG2Decode') {\n xrefStreamStats[_util.StreamType.JBIG] = true;\n return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);\n }\n\n (0, _util.warn)('filter \"' + name + '\" not supported yet');\n return stream;\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Invalid stream: \\\"' + ex + '\\\"');\n return new _stream.NullStream();\n }\n }\n };\n return Parser;\n}();\n\nexports.Parser = Parser;\n\nvar Lexer = function LexerClosure() {\n function Lexer(stream, knownCommands) {\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n this.knownCommands = knownCommands;\n this.beginInlineImagePos = -1;\n }\n\n var specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 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, 0, 0, 2, 0, 2, 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, 0, 0, 0, 2, 0, 2, 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, 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, 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, 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, 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\n function toHexDigit(ch) {\n if (ch >= 0x30 && ch <= 0x39) {\n return ch & 0x0F;\n }\n\n if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n return (ch & 0x0F) + 9;\n }\n\n return -1;\n }\n\n Lexer.prototype = {\n nextChar: function Lexer_nextChar() {\n return this.currentChar = this.stream.getByte();\n },\n peekChar: function Lexer_peekChar() {\n return this.stream.peekByte();\n },\n getNumber: function Lexer_getNumber() {\n var ch = this.currentChar;\n var eNotation = false;\n var divideBy = 0;\n var sign = 0;\n\n if (ch === 0x2D) {\n sign = -1;\n ch = this.nextChar();\n\n if (ch === 0x2D) {\n ch = this.nextChar();\n }\n } else if (ch === 0x2B) {\n sign = 1;\n ch = this.nextChar();\n }\n\n if (ch === 0x0A || ch === 0x0D) {\n do {\n ch = this.nextChar();\n } while (ch === 0x0A || ch === 0x0D);\n }\n\n if (ch === 0x2E) {\n divideBy = 10;\n ch = this.nextChar();\n }\n\n if (ch < 0x30 || ch > 0x39) {\n if (divideBy === 10 && sign === 0 && ((0, _util.isSpace)(ch) || ch === -1)) {\n (0, _util.warn)('Lexer.getNumber - treating a single decimal point as zero.');\n return 0;\n }\n\n throw new _util.FormatError(\"Invalid number: \".concat(String.fromCharCode(ch), \" (charCode \").concat(ch, \")\"));\n }\n\n sign = sign || 1;\n var baseValue = ch - 0x30;\n var powerValue = 0;\n var powerValueSign = 1;\n\n while ((ch = this.nextChar()) >= 0) {\n if (0x30 <= ch && ch <= 0x39) {\n var currentDigit = ch - 0x30;\n\n if (eNotation) {\n powerValue = powerValue * 10 + currentDigit;\n } else {\n if (divideBy !== 0) {\n divideBy *= 10;\n }\n\n baseValue = baseValue * 10 + currentDigit;\n }\n } else if (ch === 0x2E) {\n if (divideBy === 0) {\n divideBy = 1;\n } else {\n break;\n }\n } else if (ch === 0x2D) {\n (0, _util.warn)('Badly formatted number');\n } else if (ch === 0x45 || ch === 0x65) {\n ch = this.peekChar();\n\n if (ch === 0x2B || ch === 0x2D) {\n powerValueSign = ch === 0x2D ? -1 : 1;\n this.nextChar();\n } else if (ch < 0x30 || ch > 0x39) {\n break;\n }\n\n eNotation = true;\n } else {\n break;\n }\n }\n\n if (divideBy !== 0) {\n baseValue /= divideBy;\n }\n\n if (eNotation) {\n baseValue *= Math.pow(10, powerValueSign * powerValue);\n }\n\n return sign * baseValue;\n },\n getString: function Lexer_getString() {\n var numParen = 1;\n var done = false;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.nextChar();\n\n while (true) {\n var charBuffered = false;\n\n switch (ch | 0) {\n case -1:\n (0, _util.warn)('Unterminated string');\n done = true;\n break;\n\n case 0x28:\n ++numParen;\n strBuf.push('(');\n break;\n\n case 0x29:\n if (--numParen === 0) {\n this.nextChar();\n done = true;\n } else {\n strBuf.push(')');\n }\n\n break;\n\n case 0x5C:\n ch = this.nextChar();\n\n switch (ch) {\n case -1:\n (0, _util.warn)('Unterminated string');\n done = true;\n break;\n\n case 0x6E:\n strBuf.push('\\n');\n break;\n\n case 0x72:\n strBuf.push('\\r');\n break;\n\n case 0x74:\n strBuf.push('\\t');\n break;\n\n case 0x62:\n strBuf.push('\\b');\n break;\n\n case 0x66:\n strBuf.push('\\f');\n break;\n\n case 0x5C:\n case 0x28:\n case 0x29:\n strBuf.push(String.fromCharCode(ch));\n break;\n\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n var x = ch & 0x0F;\n ch = this.nextChar();\n charBuffered = true;\n\n if (ch >= 0x30 && ch <= 0x37) {\n x = (x << 3) + (ch & 0x0F);\n ch = this.nextChar();\n\n if (ch >= 0x30 && ch <= 0x37) {\n charBuffered = false;\n x = (x << 3) + (ch & 0x0F);\n }\n }\n\n strBuf.push(String.fromCharCode(x));\n break;\n\n case 0x0D:\n if (this.peekChar() === 0x0A) {\n this.nextChar();\n }\n\n break;\n\n case 0x0A:\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n break;\n\n default:\n strBuf.push(String.fromCharCode(ch));\n break;\n }\n\n if (done) {\n break;\n }\n\n if (!charBuffered) {\n ch = this.nextChar();\n }\n }\n\n return strBuf.join('');\n },\n getName: function Lexer_getName() {\n var ch, previousCh;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n if (ch === 0x23) {\n ch = this.nextChar();\n\n if (specialChars[ch]) {\n (0, _util.warn)('Lexer_getName: ' + 'NUMBER SIGN (#) should be followed by a hexadecimal number.');\n strBuf.push('#');\n break;\n }\n\n var x = toHexDigit(ch);\n\n if (x !== -1) {\n previousCh = ch;\n ch = this.nextChar();\n var x2 = toHexDigit(ch);\n\n if (x2 === -1) {\n (0, _util.warn)('Lexer_getName: Illegal digit (' + String.fromCharCode(ch) + ') in hexadecimal number.');\n strBuf.push('#', String.fromCharCode(previousCh));\n\n if (specialChars[ch]) {\n break;\n }\n\n strBuf.push(String.fromCharCode(ch));\n continue;\n }\n\n strBuf.push(String.fromCharCode(x << 4 | x2));\n } else {\n strBuf.push('#', String.fromCharCode(ch));\n }\n } else {\n strBuf.push(String.fromCharCode(ch));\n }\n }\n\n if (strBuf.length > 127) {\n (0, _util.warn)('name token is longer than allowed by the spec: ' + strBuf.length);\n }\n\n return _primitives.Name.get(strBuf.join(''));\n },\n getHexString: function Lexer_getHexString() {\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.currentChar;\n var isFirstHex = true;\n var firstDigit;\n var secondDigit;\n\n while (true) {\n if (ch < 0) {\n (0, _util.warn)('Unterminated hex string');\n break;\n } else if (ch === 0x3E) {\n this.nextChar();\n break;\n } else if (specialChars[ch] === 1) {\n ch = this.nextChar();\n continue;\n } else {\n if (isFirstHex) {\n firstDigit = toHexDigit(ch);\n\n if (firstDigit === -1) {\n (0, _util.warn)('Ignoring invalid character \"' + ch + '\" in hex string');\n ch = this.nextChar();\n continue;\n }\n } else {\n secondDigit = toHexDigit(ch);\n\n if (secondDigit === -1) {\n (0, _util.warn)('Ignoring invalid character \"' + ch + '\" in hex string');\n ch = this.nextChar();\n continue;\n }\n\n strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));\n }\n\n isFirstHex = !isFirstHex;\n ch = this.nextChar();\n }\n }\n\n return strBuf.join('');\n },\n getObj: function Lexer_getObj() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0A || ch === 0x0D) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (specialChars[ch] !== 1) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2B:\n case 0x2D:\n case 0x2E:\n return this.getNumber();\n\n case 0x28:\n return this.getString();\n\n case 0x2F:\n return this.getName();\n\n case 0x5B:\n this.nextChar();\n return _primitives.Cmd.get('[');\n\n case 0x5D:\n this.nextChar();\n return _primitives.Cmd.get(']');\n\n case 0x3C:\n ch = this.nextChar();\n\n if (ch === 0x3C) {\n this.nextChar();\n return _primitives.Cmd.get('<<');\n }\n\n return this.getHexString();\n\n case 0x3E:\n ch = this.nextChar();\n\n if (ch === 0x3E) {\n this.nextChar();\n return _primitives.Cmd.get('>>');\n }\n\n return _primitives.Cmd.get('>');\n\n case 0x7B:\n this.nextChar();\n return _primitives.Cmd.get('{');\n\n case 0x7D:\n this.nextChar();\n return _primitives.Cmd.get('}');\n\n case 0x29:\n this.nextChar();\n throw new _util.FormatError(\"Illegal character: \".concat(ch));\n }\n\n var str = String.fromCharCode(ch);\n var knownCommands = this.knownCommands;\n var knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n\n while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n var possibleCommand = str + String.fromCharCode(ch);\n\n if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n break;\n }\n\n if (str.length === 128) {\n throw new _util.FormatError(\"Command token too long: \".concat(str.length));\n }\n\n str = possibleCommand;\n knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n }\n\n if (str === 'true') {\n return true;\n }\n\n if (str === 'false') {\n return false;\n }\n\n if (str === 'null') {\n return null;\n }\n\n if (str === 'BI') {\n this.beginInlineImagePos = this.stream.pos;\n }\n\n return _primitives.Cmd.get(str);\n },\n skipToNextLine: function Lexer_skipToNextLine() {\n var ch = this.currentChar;\n\n while (ch >= 0) {\n if (ch === 0x0D) {\n ch = this.nextChar();\n\n if (ch === 0x0A) {\n this.nextChar();\n }\n\n break;\n } else if (ch === 0x0A) {\n this.nextChar();\n break;\n }\n\n ch = this.nextChar();\n }\n }\n };\n return Lexer;\n}();\n\nexports.Lexer = Lexer;\nvar Linearization = {\n create: function LinearizationCreate(stream) {\n function getInt(name, allowZeroValue) {\n var obj = linDict.get(name);\n\n if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n return obj;\n }\n\n throw new Error('The \"' + name + '\" parameter in the linearization ' + 'dictionary is invalid.');\n }\n\n function getHints() {\n var hints = linDict.get('H'),\n hintsLength,\n item;\n\n if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n for (var index = 0; index < hintsLength; index++) {\n if (!(Number.isInteger(item = hints[index]) && item > 0)) {\n throw new Error('Hint (' + index + ') in the linearization dictionary is invalid.');\n }\n }\n\n return hints;\n }\n\n throw new Error('Hint array in the linearization dictionary is invalid.');\n }\n\n var parser = new Parser(new Lexer(stream), false, null);\n var obj1 = parser.getObj();\n var obj2 = parser.getObj();\n var obj3 = parser.getObj();\n var linDict = parser.getObj();\n var obj, length;\n\n if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, 'obj') && (0, _primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get('Linearized')) && obj > 0)) {\n return null;\n } else if ((length = getInt('L')) !== stream.length) {\n throw new Error('The \"L\" parameter in the linearization dictionary ' + 'does not equal the stream length.');\n }\n\n return {\n length: length,\n hints: getHints(),\n objectNumberFirst: getInt('O'),\n endFirst: getInt('E'),\n numPages: getInt('N'),\n mainXRefEntriesOffset: getInt('T'),\n pageFirst: linDict.has('P') ? getInt('P', true) : 0\n };\n }\n};\nexports.Linearization = Linearization;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar Stream = function StreamClosure() {\n function Stream(arrayBuffer, start, length, dict) {\n this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n this.start = start || 0;\n this.pos = this.start;\n this.end = start + length || this.bytes.length;\n this.dict = dict;\n }\n\n Stream.prototype = {\n get length() {\n return this.end - this.start;\n },\n\n get isEmpty() {\n return this.length === 0;\n },\n\n getByte: function Stream_getByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.bytes[this.pos++];\n },\n getUint16: function Stream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function Stream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n var _subarray = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function Stream_peekByte() {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n },\n peekBytes: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n skip: function Stream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function Stream_reset() {\n this.pos = this.start;\n },\n moveStart: function Stream_moveStart() {\n this.start = this.pos;\n },\n makeSubStream: function Stream_makeSubStream(start, length, dict) {\n return new Stream(this.bytes.buffer, start, length, dict);\n }\n };\n return Stream;\n}();\n\nexports.Stream = Stream;\n\nvar StringStream = function StringStreamClosure() {\n function StringStream(str) {\n var bytes = (0, _util.stringToBytes)(str);\n Stream.call(this, bytes);\n }\n\n StringStream.prototype = Stream.prototype;\n return StringStream;\n}();\n\nexports.StringStream = StringStream;\n\nvar DecodeStream = function DecodeStreamClosure() {\n var emptyBuffer = new Uint8Array(0);\n\n function DecodeStream(maybeMinBufferLength) {\n this._rawMinBufferLength = maybeMinBufferLength || 0;\n this.pos = 0;\n this.bufferLength = 0;\n this.eof = false;\n this.buffer = emptyBuffer;\n this.minBufferLength = 512;\n\n if (maybeMinBufferLength) {\n while (this.minBufferLength < maybeMinBufferLength) {\n this.minBufferLength *= 2;\n }\n }\n }\n\n DecodeStream.prototype = {\n get isEmpty() {\n while (!this.eof && this.bufferLength === 0) {\n this.readBlock();\n }\n\n return this.bufferLength === 0;\n },\n\n ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n var buffer = this.buffer;\n\n if (requested <= buffer.byteLength) {\n return buffer;\n }\n\n var size = this.minBufferLength;\n\n while (size < requested) {\n size *= 2;\n }\n\n var buffer2 = new Uint8Array(size);\n buffer2.set(buffer);\n return this.buffer = buffer2;\n },\n getByte: function DecodeStream_getByte() {\n var pos = this.pos;\n\n while (this.bufferLength <= pos) {\n if (this.eof) {\n return -1;\n }\n\n this.readBlock();\n }\n\n return this.buffer[this.pos++];\n },\n getUint16: function DecodeStream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function DecodeStream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var end,\n pos = this.pos;\n\n if (length) {\n this.ensureBuffer(pos + length);\n end = pos + length;\n\n while (!this.eof && this.bufferLength < end) {\n this.readBlock();\n }\n\n var bufEnd = this.bufferLength;\n\n if (end > bufEnd) {\n end = bufEnd;\n }\n } else {\n while (!this.eof) {\n this.readBlock();\n }\n\n end = this.bufferLength;\n }\n\n this.pos = end;\n var subarray = this.buffer.subarray(pos, end);\n return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function DecodeStream_peekByte() {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n },\n peekBytes: function peekBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n },\n makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {\n var end = start + length;\n\n while (this.bufferLength <= end && !this.eof) {\n this.readBlock();\n }\n\n return new Stream(this.buffer, start, length, dict);\n },\n skip: function DecodeStream_skip(n) {\n if (!n) {\n n = 1;\n }\n\n this.pos += n;\n },\n reset: function DecodeStream_reset() {\n this.pos = 0;\n },\n getBaseStreams: function DecodeStream_getBaseStreams() {\n if (this.str && this.str.getBaseStreams) {\n return this.str.getBaseStreams();\n }\n\n return [];\n }\n };\n return DecodeStream;\n}();\n\nexports.DecodeStream = DecodeStream;\n\nvar StreamsSequenceStream = function StreamsSequenceStreamClosure() {\n function StreamsSequenceStream(streams) {\n this.streams = streams;\n var maybeLength = 0;\n\n for (var i = 0, ii = streams.length; i < ii; i++) {\n var stream = streams[i];\n\n if (stream instanceof DecodeStream) {\n maybeLength += stream._rawMinBufferLength;\n } else {\n maybeLength += stream.length;\n }\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n\n StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n var streams = this.streams;\n\n if (streams.length === 0) {\n this.eof = true;\n return;\n }\n\n var stream = streams.shift();\n var chunk = stream.getBytes();\n var bufferLength = this.bufferLength;\n var newLength = bufferLength + chunk.length;\n var buffer = this.ensureBuffer(newLength);\n buffer.set(chunk, bufferLength);\n this.bufferLength = newLength;\n };\n\n StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n var baseStreams = [];\n\n for (var i = 0, ii = this.streams.length; i < ii; i++) {\n var stream = this.streams[i];\n\n if (stream.getBaseStreams) {\n baseStreams.push.apply(baseStreams, _toConsumableArray(stream.getBaseStreams()));\n }\n }\n\n return baseStreams;\n };\n\n return StreamsSequenceStream;\n}();\n\nexports.StreamsSequenceStream = StreamsSequenceStream;\n\nvar FlateStream = function FlateStreamClosure() {\n var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\n var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\n var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\n var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\n\n function FlateStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n var cmf = str.getByte();\n var flg = str.getByte();\n\n if (cmf === -1 || flg === -1) {\n throw new _util.FormatError(\"Invalid header in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if ((cmf & 0x0f) !== 0x08) {\n throw new _util.FormatError(\"Unknown compression method in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (((cmf << 8) + flg) % 31 !== 0) {\n throw new _util.FormatError(\"Bad FCHECK in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (flg & 0x20) {\n throw new _util.FormatError(\"FDICT bit set in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n this.codeSize = 0;\n this.codeBuf = 0;\n DecodeStream.call(this, maybeLength);\n }\n\n FlateStream.prototype = Object.create(DecodeStream.prototype);\n\n FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n var str = this.str;\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < bits) {\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad encoding in flate stream');\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n b = codeBuf & (1 << bits) - 1;\n this.codeBuf = codeBuf >> bits;\n this.codeSize = codeSize -= bits;\n return b;\n };\n\n FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n var str = this.str;\n var codes = table[0];\n var maxLen = table[1];\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < maxLen) {\n if ((b = str.getByte()) === -1) {\n break;\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n var code = codes[codeBuf & (1 << maxLen) - 1];\n var codeLen = code >> 16;\n var codeVal = code & 0xffff;\n\n if (codeLen < 1 || codeSize < codeLen) {\n throw new _util.FormatError('Bad encoding in flate stream');\n }\n\n this.codeBuf = codeBuf >> codeLen;\n this.codeSize = codeSize - codeLen;\n return codeVal;\n };\n\n FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {\n var n = lengths.length;\n var maxLen = 0;\n var i;\n\n for (i = 0; i < n; ++i) {\n if (lengths[i] > maxLen) {\n maxLen = lengths[i];\n }\n }\n\n var size = 1 << maxLen;\n var codes = new Int32Array(size);\n\n for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n for (var val = 0; val < n; ++val) {\n if (lengths[val] === len) {\n var code2 = 0;\n var t = code;\n\n for (i = 0; i < len; ++i) {\n code2 = code2 << 1 | t & 1;\n t >>= 1;\n }\n\n for (i = code2; i < size; i += skip) {\n codes[i] = len << 16 | val;\n }\n\n ++code;\n }\n }\n }\n\n return [codes, maxLen];\n };\n\n FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n var buffer, len;\n var str = this.str;\n var hdr = this.getBits(3);\n\n if (hdr & 1) {\n this.eof = true;\n }\n\n hdr >>= 1;\n\n if (hdr === 0) {\n var b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n var blockLen = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n blockLen |= b << 8;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n var check = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError('Bad block header in flate stream');\n }\n\n check |= b << 8;\n\n if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n throw new _util.FormatError('Bad uncompressed block length in flate stream');\n }\n\n this.codeBuf = 0;\n this.codeSize = 0;\n var bufferLength = this.bufferLength;\n buffer = this.ensureBuffer(bufferLength + blockLen);\n var end = bufferLength + blockLen;\n this.bufferLength = end;\n\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n } else {\n for (var n = bufferLength; n < end; ++n) {\n if ((b = str.getByte()) === -1) {\n this.eof = true;\n break;\n }\n\n buffer[n] = b;\n }\n }\n\n return;\n }\n\n var litCodeTable;\n var distCodeTable;\n\n if (hdr === 1) {\n litCodeTable = fixedLitCodeTab;\n distCodeTable = fixedDistCodeTab;\n } else if (hdr === 2) {\n var numLitCodes = this.getBits(5) + 257;\n var numDistCodes = this.getBits(5) + 1;\n var numCodeLenCodes = this.getBits(4) + 4;\n var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n var i;\n\n for (i = 0; i < numCodeLenCodes; ++i) {\n codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n }\n\n var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n len = 0;\n i = 0;\n var codes = numLitCodes + numDistCodes;\n var codeLengths = new Uint8Array(codes);\n var bitsLength, bitsOffset, what;\n\n while (i < codes) {\n var code = this.getCode(codeLenCodeTab);\n\n if (code === 16) {\n bitsLength = 2;\n bitsOffset = 3;\n what = len;\n } else if (code === 17) {\n bitsLength = 3;\n bitsOffset = 3;\n what = len = 0;\n } else if (code === 18) {\n bitsLength = 7;\n bitsOffset = 11;\n what = len = 0;\n } else {\n codeLengths[i++] = len = code;\n continue;\n }\n\n var repeatLength = this.getBits(bitsLength) + bitsOffset;\n\n while (repeatLength-- > 0) {\n codeLengths[i++] = what;\n }\n }\n\n litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n } else {\n throw new _util.FormatError('Unknown block type in flate stream');\n }\n\n buffer = this.buffer;\n var limit = buffer ? buffer.length : 0;\n var pos = this.bufferLength;\n\n while (true) {\n var code1 = this.getCode(litCodeTable);\n\n if (code1 < 256) {\n if (pos + 1 >= limit) {\n buffer = this.ensureBuffer(pos + 1);\n limit = buffer.length;\n }\n\n buffer[pos++] = code1;\n continue;\n }\n\n if (code1 === 256) {\n this.bufferLength = pos;\n return;\n }\n\n code1 -= 257;\n code1 = lengthDecode[code1];\n var code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n len = (code1 & 0xffff) + code2;\n code1 = this.getCode(distCodeTable);\n code1 = distDecode[code1];\n code2 = code1 >> 16;\n\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n\n var dist = (code1 & 0xffff) + code2;\n\n if (pos + len >= limit) {\n buffer = this.ensureBuffer(pos + len);\n limit = buffer.length;\n }\n\n for (var k = 0; k < len; ++k, ++pos) {\n buffer[pos] = buffer[pos - dist];\n }\n }\n };\n\n return FlateStream;\n}();\n\nexports.FlateStream = FlateStream;\n\nvar PredictorStream = function PredictorStreamClosure() {\n function PredictorStream(str, maybeLength, params) {\n if (!(0, _primitives.isDict)(params)) {\n return str;\n }\n\n var predictor = this.predictor = params.get('Predictor') || 1;\n\n if (predictor <= 1) {\n return str;\n }\n\n if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n if (predictor === 2) {\n this.readBlock = this.readBlockTiff;\n } else {\n this.readBlock = this.readBlockPng;\n }\n\n this.str = str;\n this.dict = str.dict;\n var colors = this.colors = params.get('Colors') || 1;\n var bits = this.bits = params.get('BitsPerComponent') || 8;\n var columns = this.columns = params.get('Columns') || 1;\n this.pixBytes = colors * bits + 7 >> 3;\n this.rowBytes = columns * colors * bits + 7 >> 3;\n DecodeStream.call(this, maybeLength);\n return this;\n }\n\n PredictorStream.prototype = Object.create(DecodeStream.prototype);\n\n PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n var rowBytes = this.rowBytes;\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var bits = this.bits;\n var colors = this.colors;\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var inbuf = 0,\n outbuf = 0;\n var inbits = 0,\n outbits = 0;\n var pos = bufferLength;\n var i;\n\n if (bits === 1 && colors === 1) {\n for (i = 0; i < rowBytes; ++i) {\n var c = rawBytes[i] ^ inbuf;\n c ^= c >> 1;\n c ^= c >> 2;\n c ^= c >> 4;\n inbuf = (c & 1) << 7;\n buffer[pos++] = c;\n }\n } else if (bits === 8) {\n for (i = 0; i < colors; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[pos] = buffer[pos - colors] + rawBytes[i];\n pos++;\n }\n } else if (bits === 16) {\n var bytesPerPixel = colors * 2;\n\n for (i = 0; i < bytesPerPixel; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; i += 2) {\n var sum = ((rawBytes[i] & 0xFF) << 8) + (rawBytes[i + 1] & 0xFF) + ((buffer[pos - bytesPerPixel] & 0xFF) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xFF);\n buffer[pos++] = sum >> 8 & 0xFF;\n buffer[pos++] = sum & 0xFF;\n }\n } else {\n var compArray = new Uint8Array(colors + 1);\n var bitMask = (1 << bits) - 1;\n var j = 0,\n k = bufferLength;\n var columns = this.columns;\n\n for (i = 0; i < columns; ++i) {\n for (var kk = 0; kk < colors; ++kk) {\n if (inbits < bits) {\n inbuf = inbuf << 8 | rawBytes[j++] & 0xFF;\n inbits += 8;\n }\n\n compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n inbits -= bits;\n outbuf = outbuf << bits | compArray[kk];\n outbits += bits;\n\n if (outbits >= 8) {\n buffer[k++] = outbuf >> outbits - 8 & 0xFF;\n outbits -= 8;\n }\n }\n }\n\n if (outbits > 0) {\n buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n }\n }\n\n this.bufferLength += rowBytes;\n };\n\n PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n var rowBytes = this.rowBytes;\n var pixBytes = this.pixBytes;\n var predictor = this.str.getByte();\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n\n if (prevRow.length === 0) {\n prevRow = new Uint8Array(rowBytes);\n }\n\n var i,\n j = bufferLength,\n up,\n c;\n\n switch (predictor) {\n case 0:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n break;\n\n case 1:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xFF;\n j++;\n }\n\n break;\n\n case 2:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = prevRow[i] + rawBytes[i] & 0xFF;\n }\n\n break;\n\n case 3:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xFF;\n j++;\n }\n\n break;\n\n case 4:\n for (i = 0; i < pixBytes; ++i) {\n up = prevRow[i];\n c = rawBytes[i];\n buffer[j++] = up + c;\n }\n\n for (; i < rowBytes; ++i) {\n up = prevRow[i];\n var upLeft = prevRow[i - pixBytes];\n var left = buffer[j - pixBytes];\n var p = left + up - upLeft;\n var pa = p - left;\n\n if (pa < 0) {\n pa = -pa;\n }\n\n var pb = p - up;\n\n if (pb < 0) {\n pb = -pb;\n }\n\n var pc = p - upLeft;\n\n if (pc < 0) {\n pc = -pc;\n }\n\n c = rawBytes[i];\n\n if (pa <= pb && pa <= pc) {\n buffer[j++] = left + c;\n } else if (pb <= pc) {\n buffer[j++] = up + c;\n } else {\n buffer[j++] = upLeft + c;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n this.bufferLength += rowBytes;\n };\n\n return PredictorStream;\n}();\n\nexports.PredictorStream = PredictorStream;\n\nvar DecryptStream = function DecryptStreamClosure() {\n function DecryptStream(str, maybeLength, decrypt) {\n this.str = str;\n this.dict = str.dict;\n this.decrypt = decrypt;\n this.nextChunk = null;\n this.initialized = false;\n DecodeStream.call(this, maybeLength);\n }\n\n var chunkSize = 512;\n DecryptStream.prototype = Object.create(DecodeStream.prototype);\n\n DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n var chunk;\n\n if (this.initialized) {\n chunk = this.nextChunk;\n } else {\n chunk = this.str.getBytes(chunkSize);\n this.initialized = true;\n }\n\n if (!chunk || chunk.length === 0) {\n this.eof = true;\n return;\n }\n\n this.nextChunk = this.str.getBytes(chunkSize);\n var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n var decrypt = this.decrypt;\n chunk = decrypt(chunk, !hasMoreData);\n var bufferLength = this.bufferLength;\n var i,\n n = chunk.length;\n var buffer = this.ensureBuffer(bufferLength + n);\n\n for (i = 0; i < n; i++) {\n buffer[bufferLength++] = chunk[i];\n }\n\n this.bufferLength = bufferLength;\n };\n\n return DecryptStream;\n}();\n\nexports.DecryptStream = DecryptStream;\n\nvar Ascii85Stream = function Ascii85StreamClosure() {\n function Ascii85Stream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.input = new Uint8Array(5);\n\n if (maybeLength) {\n maybeLength = 0.8 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n\n Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n var TILDA_CHAR = 0x7E;\n var Z_LOWER_CHAR = 0x7A;\n var EOF = -1;\n var str = this.str;\n var c = str.getByte();\n\n while ((0, _util.isSpace)(c)) {\n c = str.getByte();\n }\n\n if (c === EOF || c === TILDA_CHAR) {\n this.eof = true;\n return;\n }\n\n var bufferLength = this.bufferLength,\n buffer;\n var i;\n\n if (c === Z_LOWER_CHAR) {\n buffer = this.ensureBuffer(bufferLength + 4);\n\n for (i = 0; i < 4; ++i) {\n buffer[bufferLength + i] = 0;\n }\n\n this.bufferLength += 4;\n } else {\n var input = this.input;\n input[0] = c;\n\n for (i = 1; i < 5; ++i) {\n c = str.getByte();\n\n while ((0, _util.isSpace)(c)) {\n c = str.getByte();\n }\n\n input[i] = c;\n\n if (c === EOF || c === TILDA_CHAR) {\n break;\n }\n }\n\n buffer = this.ensureBuffer(bufferLength + i - 1);\n this.bufferLength += i - 1;\n\n if (i < 5) {\n for (; i < 5; ++i) {\n input[i] = 0x21 + 84;\n }\n\n this.eof = true;\n }\n\n var t = 0;\n\n for (i = 0; i < 5; ++i) {\n t = t * 85 + (input[i] - 0x21);\n }\n\n for (i = 3; i >= 0; --i) {\n buffer[bufferLength + i] = t & 0xFF;\n t >>= 8;\n }\n }\n };\n\n return Ascii85Stream;\n}();\n\nexports.Ascii85Stream = Ascii85Stream;\n\nvar AsciiHexStream = function AsciiHexStreamClosure() {\n function AsciiHexStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.firstDigit = -1;\n\n if (maybeLength) {\n maybeLength = 0.5 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n\n AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n var UPSTREAM_BLOCK_SIZE = 8000;\n var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n\n if (!bytes.length) {\n this.eof = true;\n return;\n }\n\n var maxDecodeLength = bytes.length + 1 >> 1;\n var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n var bufferLength = this.bufferLength;\n var firstDigit = this.firstDigit;\n\n for (var i = 0, ii = bytes.length; i < ii; i++) {\n var ch = bytes[i],\n digit;\n\n if (ch >= 0x30 && ch <= 0x39) {\n digit = ch & 0x0F;\n } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n digit = (ch & 0x0F) + 9;\n } else if (ch === 0x3E) {\n this.eof = true;\n break;\n } else {\n continue;\n }\n\n if (firstDigit < 0) {\n firstDigit = digit;\n } else {\n buffer[bufferLength++] = firstDigit << 4 | digit;\n firstDigit = -1;\n }\n }\n\n if (firstDigit >= 0 && this.eof) {\n buffer[bufferLength++] = firstDigit << 4;\n firstDigit = -1;\n }\n\n this.firstDigit = firstDigit;\n this.bufferLength = bufferLength;\n };\n\n return AsciiHexStream;\n}();\n\nexports.AsciiHexStream = AsciiHexStream;\n\nvar RunLengthStream = function RunLengthStreamClosure() {\n function RunLengthStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n DecodeStream.call(this, maybeLength);\n }\n\n RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n\n RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n var repeatHeader = this.str.getBytes(2);\n\n if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n this.eof = true;\n return;\n }\n\n var buffer;\n var bufferLength = this.bufferLength;\n var n = repeatHeader[0];\n\n if (n < 128) {\n buffer = this.ensureBuffer(bufferLength + n + 1);\n buffer[bufferLength++] = repeatHeader[1];\n\n if (n > 0) {\n var source = this.str.getBytes(n);\n buffer.set(source, bufferLength);\n bufferLength += n;\n }\n } else {\n n = 257 - n;\n var b = repeatHeader[1];\n buffer = this.ensureBuffer(bufferLength + n + 1);\n\n for (var i = 0; i < n; i++) {\n buffer[bufferLength++] = b;\n }\n }\n\n this.bufferLength = bufferLength;\n };\n\n return RunLengthStream;\n}();\n\nexports.RunLengthStream = RunLengthStream;\n\nvar LZWStream = function LZWStreamClosure() {\n function LZWStream(str, maybeLength, earlyChange) {\n this.str = str;\n this.dict = str.dict;\n this.cachedData = 0;\n this.bitsCached = 0;\n var maxLzwDictionarySize = 4096;\n var lzwState = {\n earlyChange: earlyChange,\n codeLength: 9,\n nextCode: 258,\n dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n currentSequence: new Uint8Array(maxLzwDictionarySize),\n currentSequenceLength: 0\n };\n\n for (var i = 0; i < 256; ++i) {\n lzwState.dictionaryValues[i] = i;\n lzwState.dictionaryLengths[i] = 1;\n }\n\n this.lzwState = lzwState;\n DecodeStream.call(this, maybeLength);\n }\n\n LZWStream.prototype = Object.create(DecodeStream.prototype);\n\n LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n var bitsCached = this.bitsCached;\n var cachedData = this.cachedData;\n\n while (bitsCached < n) {\n var c = this.str.getByte();\n\n if (c === -1) {\n this.eof = true;\n return null;\n }\n\n cachedData = cachedData << 8 | c;\n bitsCached += 8;\n }\n\n this.bitsCached = bitsCached -= n;\n this.cachedData = cachedData;\n this.lastCode = null;\n return cachedData >>> bitsCached & (1 << n) - 1;\n };\n\n LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n var blockSize = 512;\n var estimatedDecodedSize = blockSize * 2,\n decodedSizeDelta = blockSize;\n var i, j, q;\n var lzwState = this.lzwState;\n\n if (!lzwState) {\n return;\n }\n\n var earlyChange = lzwState.earlyChange;\n var nextCode = lzwState.nextCode;\n var dictionaryValues = lzwState.dictionaryValues;\n var dictionaryLengths = lzwState.dictionaryLengths;\n var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n var codeLength = lzwState.codeLength;\n var prevCode = lzwState.prevCode;\n var currentSequence = lzwState.currentSequence;\n var currentSequenceLength = lzwState.currentSequenceLength;\n var decodedLength = 0;\n var currentBufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n\n for (i = 0; i < blockSize; i++) {\n var code = this.readBits(codeLength);\n var hasPrev = currentSequenceLength > 0;\n\n if (code < 256) {\n currentSequence[0] = code;\n currentSequenceLength = 1;\n } else if (code >= 258) {\n if (code < nextCode) {\n currentSequenceLength = dictionaryLengths[code];\n\n for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n currentSequence[j] = dictionaryValues[q];\n q = dictionaryPrevCodes[q];\n }\n } else {\n currentSequence[currentSequenceLength++] = currentSequence[0];\n }\n } else if (code === 256) {\n codeLength = 9;\n nextCode = 258;\n currentSequenceLength = 0;\n continue;\n } else {\n this.eof = true;\n delete this.lzwState;\n break;\n }\n\n if (hasPrev) {\n dictionaryPrevCodes[nextCode] = prevCode;\n dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n dictionaryValues[nextCode] = currentSequence[0];\n nextCode++;\n codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n }\n\n prevCode = code;\n decodedLength += currentSequenceLength;\n\n if (estimatedDecodedSize < decodedLength) {\n do {\n estimatedDecodedSize += decodedSizeDelta;\n } while (estimatedDecodedSize < decodedLength);\n\n buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n }\n\n for (j = 0; j < currentSequenceLength; j++) {\n buffer[currentBufferLength++] = currentSequence[j];\n }\n }\n\n lzwState.nextCode = nextCode;\n lzwState.codeLength = codeLength;\n lzwState.prevCode = prevCode;\n lzwState.currentSequenceLength = currentSequenceLength;\n this.bufferLength = currentBufferLength;\n };\n\n return LZWStream;\n}();\n\nexports.LZWStream = LZWStream;\n\nvar NullStream = function NullStreamClosure() {\n function NullStream() {\n Stream.call(this, new Uint8Array(0));\n }\n\n NullStream.prototype = Stream.prototype;\n return NullStream;\n}();\n\nexports.NullStream = NullStream;\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CCITTFaxStream = void 0;\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _ccitt = __w_pdfjs_require__(159);\n\nvar _stream = __w_pdfjs_require__(157);\n\nvar CCITTFaxStream = function CCITTFaxStreamClosure() {\n function CCITTFaxStream(str, maybeLength, params) {\n this.str = str;\n this.dict = str.dict;\n\n if (!(0, _primitives.isDict)(params)) {\n params = _primitives.Dict.empty;\n }\n\n var source = {\n next: function next() {\n return str.getByte();\n }\n };\n this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n K: params.get('K'),\n EndOfLine: params.get('EndOfLine'),\n EncodedByteAlign: params.get('EncodedByteAlign'),\n Columns: params.get('Columns'),\n Rows: params.get('Rows'),\n EndOfBlock: params.get('EndOfBlock'),\n BlackIs1: params.get('BlackIs1')\n });\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n\n CCITTFaxStream.prototype.readBlock = function () {\n while (!this.eof) {\n var c = this.ccittFaxDecoder.readNextChar();\n\n if (c === -1) {\n this.eof = true;\n return;\n }\n\n this.ensureBuffer(this.bufferLength + 1);\n this.buffer[this.bufferLength++] = c;\n }\n };\n\n return CCITTFaxStream;\n}();\n\nexports.CCITTFaxStream = CCITTFaxStream;\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CCITTFaxDecoder = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar CCITTFaxDecoder = function CCITTFaxDecoder() {\n var ccittEOL = -2;\n var ccittEOF = -1;\n var twoDimPass = 0;\n var twoDimHoriz = 1;\n var twoDimVert0 = 2;\n var twoDimVertR1 = 3;\n var twoDimVertL1 = 4;\n var twoDimVertR2 = 5;\n var twoDimVertL2 = 6;\n var twoDimVertR3 = 7;\n var twoDimVertL3 = 8;\n var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\n var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-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]];\n var whiteTable2 = [[-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]];\n var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-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]];\n var blackTable2 = [[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]];\n var blackTable3 = [[-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]];\n\n function CCITTFaxDecoder(source) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!source || typeof source.next !== 'function') {\n throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n }\n\n this.source = source;\n this.eof = false;\n this.encoding = options['K'] || 0;\n this.eoline = options['EndOfLine'] || false;\n this.byteAlign = options['EncodedByteAlign'] || false;\n this.columns = options['Columns'] || 1728;\n this.rows = options['Rows'] || 0;\n var eoblock = options['EndOfBlock'];\n\n if (eoblock === null || eoblock === undefined) {\n eoblock = true;\n }\n\n this.eoblock = eoblock;\n this.black = options['BlackIs1'] || false;\n this.codingLine = new Uint32Array(this.columns + 1);\n this.refLine = new Uint32Array(this.columns + 2);\n this.codingLine[0] = this.columns;\n this.codingPos = 0;\n this.row = 0;\n this.nextLine2D = this.encoding < 0;\n this.inputBits = 0;\n this.inputBuf = 0;\n this.outputBits = 0;\n this.rowsDone = false;\n var code1;\n\n while ((code1 = this._lookBits(12)) === 0) {\n this._eatBits(1);\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n }\n\n if (this.encoding > 0) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n\n CCITTFaxDecoder.prototype = {\n readNextChar: function readNextChar() {\n if (this.eof) {\n return -1;\n }\n\n var refLine = this.refLine;\n var codingLine = this.codingLine;\n var columns = this.columns;\n var refPos, blackPixels, bits, i;\n\n if (this.outputBits === 0) {\n if (this.rowsDone) {\n this.eof = true;\n }\n\n if (this.eof) {\n return -1;\n }\n\n this.err = false;\n var code1, code2, code3;\n\n if (this.nextLine2D) {\n for (i = 0; codingLine[i] < columns; ++i) {\n refLine[i] = codingLine[i];\n }\n\n refLine[i++] = columns;\n refLine[i] = columns;\n codingLine[0] = 0;\n this.codingPos = 0;\n refPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = this._getTwoDimCode();\n\n switch (code1) {\n case twoDimPass:\n this._addPixels(refLine[refPos + 1], blackPixels);\n\n if (refLine[refPos + 1] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimHoriz:\n code1 = code2 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n if (codingLine[this.codingPos] < columns) {\n this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimVertR3:\n this._addPixels(refLine[refPos] + 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR2:\n this._addPixels(refLine[refPos] + 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR1:\n this._addPixels(refLine[refPos] + 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVert0:\n this._addPixels(refLine[refPos], blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL3:\n this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL2:\n this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL1:\n this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case ccittEOF:\n this._addPixels(columns, 0);\n\n this.eof = true;\n break;\n\n default:\n (0, _util.info)('bad 2d code');\n\n this._addPixels(columns, 0);\n\n this.err = true;\n }\n }\n } else {\n codingLine[0] = 0;\n this.codingPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n blackPixels ^= 1;\n }\n }\n\n var gotEOL = false;\n\n if (this.byteAlign) {\n this.inputBits &= ~7;\n }\n\n if (!this.eoblock && this.row === this.rows - 1) {\n this.rowsDone = true;\n } else {\n code1 = this._lookBits(12);\n\n if (this.eoline) {\n while (code1 !== ccittEOF && code1 !== 1) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n } else {\n while (code1 === 0) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n\n gotEOL = true;\n } else if (code1 === ccittEOF) {\n this.eof = true;\n }\n }\n\n if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.eoblock && gotEOL && this.byteAlign) {\n code1 = this._lookBits(12);\n\n if (code1 === 1) {\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.encoding >= 0) {\n for (i = 0; i < 4; ++i) {\n code1 = this._lookBits(12);\n\n if (code1 !== 1) {\n (0, _util.info)('bad rtc code: ' + code1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n }\n\n this.eof = true;\n }\n } else if (this.err && this.eoline) {\n while (true) {\n code1 = this._lookBits(13);\n\n if (code1 === ccittEOF) {\n this.eof = true;\n return -1;\n }\n\n if (code1 >> 1 === 1) {\n break;\n }\n\n this._eatBits(1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._eatBits(1);\n\n this.nextLine2D = !(code1 & 1);\n }\n }\n\n if (codingLine[0] > 0) {\n this.outputBits = codingLine[this.codingPos = 0];\n } else {\n this.outputBits = codingLine[this.codingPos = 1];\n }\n\n this.row++;\n }\n\n var c;\n\n if (this.outputBits >= 8) {\n c = this.codingPos & 1 ? 0 : 0xFF;\n this.outputBits -= 8;\n\n if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n }\n } else {\n bits = 8;\n c = 0;\n\n do {\n if (this.outputBits > bits) {\n c <<= bits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xFF >> 8 - bits;\n }\n\n this.outputBits -= bits;\n bits = 0;\n } else {\n c <<= this.outputBits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xFF >> 8 - this.outputBits;\n }\n\n bits -= this.outputBits;\n this.outputBits = 0;\n\n if (codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n } else if (bits > 0) {\n c <<= bits;\n bits = 0;\n }\n }\n } while (bits);\n }\n\n if (this.black) {\n c ^= 0xFF;\n }\n\n return c;\n },\n _addPixels: function _addPixels(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)('row is wrong length');\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)('row is wrong length');\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n } else if (a1 < codingLine[codingPos]) {\n if (a1 < 0) {\n (0, _util.info)('invalid code');\n this.err = true;\n a1 = 0;\n }\n\n while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n --codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _findTableCode: function _findTableCode(start, end, table, limit) {\n var limitValue = limit || 0;\n\n for (var i = start; i <= end; ++i) {\n var code = this._lookBits(i);\n\n if (code === ccittEOF) {\n return [true, 1, false];\n }\n\n if (i < end) {\n code <<= end - i;\n }\n\n if (!limitValue || code >= limitValue) {\n var p = table[code - limitValue];\n\n if (p[0] === i) {\n this._eatBits(i);\n\n return [true, p[1], true];\n }\n }\n }\n\n return [false, 0, false];\n },\n _getTwoDimCode: function _getTwoDimCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(7);\n p = twoDimTable[code];\n\n if (p && p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 7, twoDimTable);\n\n if (result[0] && result[2]) {\n return result[1];\n }\n }\n\n (0, _util.info)('Bad two dim code');\n return ccittEOF;\n },\n _getWhiteCode: function _getWhiteCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(12);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 5 === 0) {\n p = whiteTable1[code];\n } else {\n p = whiteTable2[code >> 3];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 9, whiteTable2);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(11, 12, whiteTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)('bad white code');\n\n this._eatBits(1);\n\n return 1;\n },\n _getBlackCode: function _getBlackCode() {\n var code, p;\n\n if (this.eoblock) {\n code = this._lookBits(13);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 7 === 0) {\n p = blackTable1[code];\n } else if (code >> 9 === 0 && code >> 7 !== 0) {\n p = blackTable2[(code >> 1) - 64];\n } else {\n p = blackTable3[code >> 7];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(2, 6, blackTable3);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(7, 12, blackTable2, 64);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(10, 13, blackTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)('bad black code');\n\n this._eatBits(1);\n\n return 1;\n },\n _lookBits: function _lookBits(n) {\n var c;\n\n while (this.inputBits < n) {\n if ((c = this.source.next()) === -1) {\n if (this.inputBits === 0) {\n return ccittEOF;\n }\n\n return this.inputBuf << n - this.inputBits & 0xFFFF >> 16 - n;\n }\n\n this.inputBuf = this.inputBuf << 8 | c;\n this.inputBits += 8;\n }\n\n return this.inputBuf >> this.inputBits - n & 0xFFFF >> 16 - n;\n },\n _eatBits: function _eatBits(n) {\n if ((this.inputBits -= n) < 0) {\n this.inputBits = 0;\n }\n }\n };\n return CCITTFaxDecoder;\n}();\n\nexports.CCITTFaxDecoder = CCITTFaxDecoder;\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Jbig2Stream = void 0;\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _stream = __w_pdfjs_require__(157);\n\nvar _jbig = __w_pdfjs_require__(161);\n\nvar _util = __w_pdfjs_require__(6);\n\nvar Jbig2Stream = function Jbig2StreamClosure() {\n function Jbig2Stream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(Jbig2Stream.prototype, 'bytes', {\n get: function get() {\n return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n Jbig2Stream.prototype.ensureBuffer = function (requested) {};\n\n Jbig2Stream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jbig2Image = new _jbig.Jbig2Image();\n var chunks = [];\n\n if ((0, _primitives.isDict)(this.params)) {\n var globalsStream = this.params.get('JBIG2Globals');\n\n if ((0, _primitives.isStream)(globalsStream)) {\n var globals = globalsStream.getBytes();\n chunks.push({\n data: globals,\n start: 0,\n end: globals.length\n });\n }\n }\n\n chunks.push({\n data: this.bytes,\n start: 0,\n end: this.bytes.length\n });\n var data = jbig2Image.parseChunks(chunks);\n var dataLength = data.length;\n\n for (var i = 0; i < dataLength; i++) {\n data[i] ^= 0xFF;\n }\n\n this.buffer = data;\n this.bufferLength = dataLength;\n this.eof = true;\n };\n\n return Jbig2Stream;\n}();\n\nexports.Jbig2Stream = Jbig2Stream;\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Jbig2Image = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(162);\n\nvar _ccitt = __w_pdfjs_require__(159);\n\nvar Jbig2Error = function Jbig2ErrorClosure() {\n function Jbig2Error(msg) {\n this.message = 'JBIG2 error: ' + msg;\n }\n\n Jbig2Error.prototype = new Error();\n Jbig2Error.prototype.name = 'Jbig2Error';\n Jbig2Error.constructor = Jbig2Error;\n return Jbig2Error;\n}();\n\nvar Jbig2Image = function Jbig2ImageClosure() {\n function ContextCache() {}\n\n ContextCache.prototype = {\n getContexts: function getContexts(id) {\n if (id in this) {\n return this[id];\n }\n\n return this[id] = new Int8Array(1 << 16);\n }\n };\n\n function DecodingContext(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n }\n\n DecodingContext.prototype = {\n get decoder() {\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n return (0, _util.shadow)(this, 'decoder', decoder);\n },\n\n get contextCache() {\n var cache = new ContextCache();\n return (0, _util.shadow)(this, 'contextCache', cache);\n }\n\n };\n\n function decodeInteger(contextCache, procedure, decoder) {\n var contexts = contextCache.getContexts(procedure);\n var prev = 1;\n\n function readBits(length) {\n var v = 0;\n\n for (var i = 0; i < length; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n v = v << 1 | bit;\n }\n\n return v >>> 0;\n }\n\n var sign = readBits(1);\n var value = 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);\n return sign === 0 ? value : value > 0 ? -value : null;\n }\n\n function decodeIAID(contextCache, decoder, codeLength) {\n var contexts = contextCache.getContexts('IAID');\n var prev = 1;\n\n for (var i = 0; i < codeLength; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev << 1 | bit;\n }\n\n if (codeLength < 31) {\n return prev & (1 << codeLength) - 1;\n }\n\n return prev & 0x7FFFFFFF;\n }\n\n var SegmentTypes = ['SymbolDictionary', null, null, null, 'IntermediateTextRegion', null, 'ImmediateTextRegion', 'ImmediateLosslessTextRegion', null, null, null, null, null, null, null, null, 'PatternDictionary', null, null, null, 'IntermediateHalftoneRegion', null, 'ImmediateHalftoneRegion', 'ImmediateLosslessHalftoneRegion', null, null, null, null, null, null, null, null, null, null, null, null, 'IntermediateGenericRegion', null, 'ImmediateGenericRegion', 'ImmediateLosslessGenericRegion', 'IntermediateGenericRefinementRegion', null, 'ImmediateGenericRefinementRegion', 'ImmediateLosslessGenericRefinementRegion', null, null, null, null, 'PageInformation', 'EndOfPage', 'EndOfStripe', 'EndOfFile', 'Profiles', 'Tables', null, null, null, null, null, null, null, null, 'Extension'];\n var CodingTemplates = [[{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: 2,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: 2,\n y: -1\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -1,\n y: -2\n }, {\n x: 0,\n y: -2\n }, {\n x: 1,\n y: -2\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }], [{\n x: -3,\n y: -1\n }, {\n x: -2,\n y: -1\n }, {\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -4,\n y: 0\n }, {\n x: -3,\n y: 0\n }, {\n x: -2,\n y: 0\n }, {\n x: -1,\n y: 0\n }]];\n var RefinementTemplates = [{\n coding: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: -1,\n y: 1\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }, {\n coding: [{\n x: -1,\n y: -1\n }, {\n x: 0,\n y: -1\n }, {\n x: 1,\n y: -1\n }, {\n x: -1,\n y: 0\n }],\n reference: [{\n x: 0,\n y: -1\n }, {\n x: -1,\n y: 0\n }, {\n x: 0,\n y: 0\n }, {\n x: 1,\n y: 0\n }, {\n x: 0,\n y: 1\n }, {\n x: 1,\n y: 1\n }]\n }];\n var ReusedContexts = [0x9B25, 0x0795, 0x00E5, 0x0195];\n var RefinementReusedContexts = [0x0020, 0x0008];\n\n function decodeBitmapTemplate0(width, height, decodingContext) {\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts('GB');\n var contextLabel,\n i,\n j,\n pixel,\n row,\n row1,\n row2,\n bitmap = [];\n var OLD_PIXEL_MASK = 0x7BF7;\n\n for (i = 0; i < height; i++) {\n row = bitmap[i] = new Uint8Array(width);\n row1 = i < 1 ? row : bitmap[i - 1];\n row2 = i < 2 ? row : bitmap[i - 2];\n contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;\n\n for (j = 0; j < width; j++) {\n row[j] = pixel = decoder.readBit(contexts, contextLabel);\n contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {\n if (mmr) {\n var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n return decodeMMRBitmap(input, width, height, false);\n }\n\n if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {\n return decodeBitmapTemplate0(width, height, decodingContext);\n }\n\n var useskip = !!skip;\n var template = CodingTemplates[templateIndex].concat(at);\n template.sort(function (a, b) {\n return a.y - b.y || a.x - b.x;\n });\n var templateLength = template.length;\n var templateX = new Int8Array(templateLength);\n var templateY = new Int8Array(templateLength);\n var changingTemplateEntries = [];\n var reuseMask = 0,\n minX = 0,\n maxX = 0,\n minY = 0;\n var c, k;\n\n for (k = 0; k < templateLength; k++) {\n templateX[k] = template[k].x;\n templateY[k] = template[k].y;\n minX = Math.min(minX, template[k].x);\n maxX = Math.max(maxX, template[k].x);\n minY = Math.min(minY, template[k].y);\n\n if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {\n reuseMask |= 1 << templateLength - 1 - k;\n } else {\n changingTemplateEntries.push(k);\n }\n }\n\n var changingEntriesLength = changingTemplateEntries.length;\n var changingTemplateX = new Int8Array(changingEntriesLength);\n var changingTemplateY = new Int8Array(changingEntriesLength);\n var changingTemplateBit = new Uint16Array(changingEntriesLength);\n\n for (c = 0; c < changingEntriesLength; c++) {\n k = changingTemplateEntries[c];\n changingTemplateX[c] = template[k].x;\n changingTemplateY[c] = template[k].y;\n changingTemplateBit[c] = 1 << templateLength - 1 - k;\n }\n\n var sbb_left = -minX;\n var sbb_top = -minY;\n var sbb_right = width - maxX;\n var pseudoPixelContext = ReusedContexts[templateIndex];\n var row = new Uint8Array(width);\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts('GB');\n var ltp = 0,\n j,\n i0,\n j0,\n contextLabel = 0,\n bit,\n shift;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n bitmap.push(row);\n continue;\n }\n }\n\n row = new Uint8Array(row);\n bitmap.push(row);\n\n for (j = 0; j < width; j++) {\n if (useskip && skip[i][j]) {\n row[j] = 0;\n continue;\n }\n\n if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n contextLabel = contextLabel << 1 & reuseMask;\n\n for (k = 0; k < changingEntriesLength; k++) {\n i0 = i + changingTemplateY[k];\n j0 = j + changingTemplateX[k];\n bit = bitmap[i0][j0];\n\n if (bit) {\n bit = changingTemplateBit[k];\n contextLabel |= bit;\n }\n }\n } else {\n contextLabel = 0;\n shift = templateLength - 1;\n\n for (k = 0; k < templateLength; k++, shift--) {\n j0 = j + templateX[k];\n\n if (j0 >= 0 && j0 < width) {\n i0 = i + templateY[k];\n\n if (i0 >= 0) {\n bit = bitmap[i0][j0];\n\n if (bit) {\n contextLabel |= bit << shift;\n }\n }\n }\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {\n var codingTemplate = RefinementTemplates[templateIndex].coding;\n\n if (templateIndex === 0) {\n codingTemplate = codingTemplate.concat([at[0]]);\n }\n\n var codingTemplateLength = codingTemplate.length;\n var codingTemplateX = new Int32Array(codingTemplateLength);\n var codingTemplateY = new Int32Array(codingTemplateLength);\n var k;\n\n for (k = 0; k < codingTemplateLength; k++) {\n codingTemplateX[k] = codingTemplate[k].x;\n codingTemplateY[k] = codingTemplate[k].y;\n }\n\n var referenceTemplate = RefinementTemplates[templateIndex].reference;\n\n if (templateIndex === 0) {\n referenceTemplate = referenceTemplate.concat([at[1]]);\n }\n\n var referenceTemplateLength = referenceTemplate.length;\n var referenceTemplateX = new Int32Array(referenceTemplateLength);\n var referenceTemplateY = new Int32Array(referenceTemplateLength);\n\n for (k = 0; k < referenceTemplateLength; k++) {\n referenceTemplateX[k] = referenceTemplate[k].x;\n referenceTemplateY[k] = referenceTemplate[k].y;\n }\n\n var referenceWidth = referenceBitmap[0].length;\n var referenceHeight = referenceBitmap.length;\n var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n var bitmap = [];\n var decoder = decodingContext.decoder;\n var contexts = decodingContext.contextCache.getContexts('GR');\n var ltp = 0;\n\n for (var i = 0; i < height; i++) {\n if (prediction) {\n var sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n\n if (ltp) {\n throw new Jbig2Error('prediction is not supported');\n }\n }\n\n var row = new Uint8Array(width);\n bitmap.push(row);\n\n for (var j = 0; j < width; j++) {\n var i0, j0;\n var contextLabel = 0;\n\n for (k = 0; k < codingTemplateLength; k++) {\n i0 = i + codingTemplateY[k];\n j0 = j + codingTemplateX[k];\n\n if (i0 < 0 || j0 < 0 || j0 >= width) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | bitmap[i0][j0];\n }\n }\n\n for (k = 0; k < referenceTemplateLength; k++) {\n i0 = i + referenceTemplateY[k] - offsetY;\n j0 = j + referenceTemplateX[k] - offsetX;\n\n if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n contextLabel <<= 1;\n } else {\n contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];\n }\n }\n\n var pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n }\n\n function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error('symbol refinement with Huffman is not supported');\n }\n\n var newSymbols = [];\n var currentHeight = 0;\n var symbolCodeLength = (0, _util.log2)(symbols.length + numberOfNewSymbols);\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var tableB1, symbolWidths;\n\n if (huffman) {\n tableB1 = getStandardTable(1);\n symbolWidths = [];\n symbolCodeLength = Math.max(symbolCodeLength, 1);\n }\n\n while (newSymbols.length < numberOfNewSymbols) {\n var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, 'IADH', decoder);\n currentHeight += deltaHeight;\n var currentWidth = 0,\n totalWidth = 0;\n var firstSymbol = huffman ? symbolWidths.length : 0;\n\n while (true) {\n var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, 'IADW', decoder);\n\n if (deltaWidth === null) {\n break;\n }\n\n currentWidth += deltaWidth;\n totalWidth += currentWidth;\n var bitmap;\n\n if (refinement) {\n var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder);\n\n if (numberOfInstances > 1) {\n bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);\n } else {\n var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n var rdx = decodeInteger(contextCache, 'IARDX', decoder);\n var rdy = decodeInteger(contextCache, 'IARDY', decoder);\n var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];\n bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);\n }\n\n newSymbols.push(bitmap);\n } else if (huffman) {\n symbolWidths.push(currentWidth);\n } else {\n bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);\n newSymbols.push(bitmap);\n }\n }\n\n if (huffman && !refinement) {\n var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n huffmanInput.byteAlign();\n var collectiveBitmap = void 0;\n\n if (bitmapSize === 0) {\n collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);\n } else {\n var originalEnd = huffmanInput.end;\n var bitmapEnd = huffmanInput.position + bitmapSize;\n huffmanInput.end = bitmapEnd;\n collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);\n huffmanInput.end = originalEnd;\n huffmanInput.position = bitmapEnd;\n }\n\n var numberOfSymbolsDecoded = symbolWidths.length;\n\n if (firstSymbol === numberOfSymbolsDecoded - 1) {\n newSymbols.push(collectiveBitmap);\n } else {\n var _i = void 0,\n y = void 0,\n xMin = 0,\n xMax = void 0,\n bitmapWidth = void 0,\n symbolBitmap = void 0;\n\n for (_i = firstSymbol; _i < numberOfSymbolsDecoded; _i++) {\n bitmapWidth = symbolWidths[_i];\n xMax = xMin + bitmapWidth;\n symbolBitmap = [];\n\n for (y = 0; y < currentHeight; y++) {\n symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n newSymbols.push(symbolBitmap);\n xMin = xMax;\n }\n }\n }\n }\n\n var exportedSymbols = [];\n var flags = [],\n currentFlag = false;\n var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n\n while (flags.length < totalSymbolsLength) {\n var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, 'IAEX', decoder);\n\n while (runLength--) {\n flags.push(currentFlag);\n }\n\n currentFlag = !currentFlag;\n }\n\n for (var i = 0, ii = symbols.length; i < ii; i++) {\n if (flags[i]) {\n exportedSymbols.push(symbols[i]);\n }\n }\n\n for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n if (flags[i]) {\n exportedSymbols.push(newSymbols[j]);\n }\n }\n\n return exportedSymbols;\n }\n\n function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {\n if (huffman && refinement) {\n throw new Jbig2Error('refinement with Huffman is not supported');\n }\n\n var bitmap = [];\n var i, row;\n\n for (i = 0; i < height; i++) {\n row = new Uint8Array(width);\n\n if (defaultPixelValue) {\n for (var j = 0; j < width; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n bitmap.push(row);\n }\n\n var decoder = decodingContext.decoder;\n var contextCache = decodingContext.contextCache;\n var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, 'IADT', decoder);\n var firstS = 0;\n i = 0;\n\n while (i < numberOfSymbolInstances) {\n var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, 'IADT', decoder);\n stripT += deltaT;\n var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, 'IAFS', decoder);\n firstS += deltaFirstS;\n var currentS = firstS;\n\n do {\n var currentT = 0;\n\n if (stripSize > 1) {\n currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, 'IAIT', decoder);\n }\n\n var t = stripSize * stripT + currentT;\n var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);\n var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, 'IARI', decoder));\n var symbolBitmap = inputSymbols[symbolId];\n var symbolWidth = symbolBitmap[0].length;\n var symbolHeight = symbolBitmap.length;\n\n if (applyRefinement) {\n var rdw = decodeInteger(contextCache, 'IARDW', decoder);\n var rdh = decodeInteger(contextCache, 'IARDH', decoder);\n var rdx = decodeInteger(contextCache, 'IARDX', decoder);\n var rdy = decodeInteger(contextCache, 'IARDY', decoder);\n symbolWidth += rdw;\n symbolHeight += rdh;\n symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);\n }\n\n var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n var s2, t2, symbolRow;\n\n if (transposed) {\n for (s2 = 0; s2 < symbolHeight; s2++) {\n row = bitmap[offsetS + s2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[s2];\n var maxWidth = Math.min(width - offsetT, symbolWidth);\n\n switch (combinationOperator) {\n case 0:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] |= symbolRow[t2];\n }\n\n break;\n\n case 2:\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] ^= symbolRow[t2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n }\n\n currentS += symbolHeight - 1;\n } else {\n for (t2 = 0; t2 < symbolHeight; t2++) {\n row = bitmap[offsetT + t2];\n\n if (!row) {\n continue;\n }\n\n symbolRow = symbolBitmap[t2];\n\n switch (combinationOperator) {\n case 0:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] |= symbolRow[s2];\n }\n\n break;\n\n case 2:\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] ^= symbolRow[s2];\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n }\n\n currentS += symbolWidth - 1;\n }\n\n i++;\n var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, 'IADS', decoder);\n\n if (deltaS === null) {\n break;\n }\n\n currentS += deltaS + dsOffset;\n } while (true);\n }\n\n return bitmap;\n }\n\n function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {\n var at = [];\n\n if (!mmr) {\n at.push({\n x: -patternWidth,\n y: 0\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n var collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);\n var patterns = [],\n i = 0,\n patternBitmap,\n xMin,\n xMax,\n y;\n\n while (i <= maxPatternIndex) {\n patternBitmap = [];\n xMin = patternWidth * i;\n xMax = xMin + patternWidth;\n\n for (y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n patterns.push(patternBitmap);\n i++;\n }\n\n return patterns;\n }\n\n function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {\n var skip = null;\n\n if (enableSkip) {\n throw new Jbig2Error('skip is not supported');\n }\n\n if (combinationOperator !== 0) {\n throw new Jbig2Error('operator ' + combinationOperator + ' is not supported in halftone region');\n }\n\n var regionBitmap = [];\n var i, j, row;\n\n for (i = 0; i < regionHeight; i++) {\n row = new Uint8Array(regionWidth);\n\n if (defaultPixelValue) {\n for (j = 0; j < regionWidth; j++) {\n row[j] = defaultPixelValue;\n }\n }\n\n regionBitmap.push(row);\n }\n\n var numberOfPatterns = patterns.length;\n var pattern0 = patterns[0];\n var patternWidth = pattern0[0].length,\n patternHeight = pattern0.length;\n var bitsPerValue = (0, _util.log2)(numberOfPatterns);\n var at = [];\n\n if (!mmr) {\n at.push({\n x: template <= 1 ? 3 : 2,\n y: -1\n });\n\n if (template === 0) {\n at.push({\n x: -3,\n y: -1\n });\n at.push({\n x: 2,\n y: -2\n });\n at.push({\n x: -2,\n y: -2\n });\n }\n }\n\n var grayScaleBitPlanes = [],\n mmrInput,\n bitmap;\n\n if (mmr) {\n mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n }\n\n for (i = bitsPerValue - 1; i >= 0; i--) {\n if (mmr) {\n bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n } else {\n bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);\n }\n\n grayScaleBitPlanes[i] = bitmap;\n }\n\n var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n\n for (mg = 0; mg < gridHeight; mg++) {\n for (ng = 0; ng < gridWidth; ng++) {\n bit = 0;\n patternIndex = 0;\n\n for (j = bitsPerValue - 1; j >= 0; j--) {\n bit = grayScaleBitPlanes[j][mg][ng] ^ bit;\n patternIndex |= bit << j;\n }\n\n patternBitmap = patterns[patternIndex];\n x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;\n y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;\n\n if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {\n for (i = 0; i < patternHeight; i++) {\n regionRow = regionBitmap[y + i];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionRow[x + j] |= patternRow[j];\n }\n }\n } else {\n var regionX = void 0,\n regionY = void 0;\n\n for (i = 0; i < patternHeight; i++) {\n regionY = y + i;\n\n if (regionY < 0 || regionY >= regionHeight) {\n continue;\n }\n\n regionRow = regionBitmap[regionY];\n patternRow = patternBitmap[i];\n\n for (j = 0; j < patternWidth; j++) {\n regionX = x + j;\n\n if (regionX >= 0 && regionX < regionWidth) {\n regionRow[regionX] |= patternRow[j];\n }\n }\n }\n }\n }\n }\n\n return regionBitmap;\n }\n\n function readSegmentHeader(data, start) {\n var segmentHeader = {};\n segmentHeader.number = (0, _util.readUint32)(data, start);\n var flags = data[start + 4];\n var segmentType = flags & 0x3F;\n\n if (!SegmentTypes[segmentType]) {\n throw new Jbig2Error('invalid segment type: ' + segmentType);\n }\n\n segmentHeader.type = segmentType;\n segmentHeader.typeName = SegmentTypes[segmentType];\n segmentHeader.deferredNonRetain = !!(flags & 0x80);\n var pageAssociationFieldSize = !!(flags & 0x40);\n var referredFlags = data[start + 5];\n var referredToCount = referredFlags >> 5 & 7;\n var retainBits = [referredFlags & 31];\n var position = start + 6;\n\n if (referredFlags === 7) {\n referredToCount = (0, _util.readUint32)(data, position - 1) & 0x1FFFFFFF;\n position += 3;\n var bytes = referredToCount + 7 >> 3;\n retainBits[0] = data[position++];\n\n while (--bytes > 0) {\n retainBits.push(data[position++]);\n }\n } else if (referredFlags === 5 || referredFlags === 6) {\n throw new Jbig2Error('invalid referred-to flags');\n }\n\n segmentHeader.retainBits = retainBits;\n var referredToSegmentNumberSize = segmentHeader.number <= 256 ? 1 : segmentHeader.number <= 65536 ? 2 : 4;\n var referredTo = [];\n var i, ii;\n\n for (i = 0; i < referredToCount; i++) {\n var number = referredToSegmentNumberSize === 1 ? data[position] : referredToSegmentNumberSize === 2 ? (0, _util.readUint16)(data, position) : (0, _util.readUint32)(data, position);\n referredTo.push(number);\n position += referredToSegmentNumberSize;\n }\n\n segmentHeader.referredTo = referredTo;\n\n if (!pageAssociationFieldSize) {\n segmentHeader.pageAssociation = data[position++];\n } else {\n segmentHeader.pageAssociation = (0, _util.readUint32)(data, position);\n position += 4;\n }\n\n segmentHeader.length = (0, _util.readUint32)(data, position);\n position += 4;\n\n if (segmentHeader.length === 0xFFFFFFFF) {\n if (segmentType === 38) {\n var genericRegionInfo = readRegionSegmentInformation(data, position);\n var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];\n var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n var searchPatternLength = 6;\n var searchPattern = new Uint8Array(searchPatternLength);\n\n if (!genericRegionMmr) {\n searchPattern[0] = 0xFF;\n searchPattern[1] = 0xAC;\n }\n\n searchPattern[2] = genericRegionInfo.height >>> 24 & 0xFF;\n searchPattern[3] = genericRegionInfo.height >> 16 & 0xFF;\n searchPattern[4] = genericRegionInfo.height >> 8 & 0xFF;\n searchPattern[5] = genericRegionInfo.height & 0xFF;\n\n for (i = position, ii = data.length; i < ii; i++) {\n var j = 0;\n\n while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n j++;\n }\n\n if (j === searchPatternLength) {\n segmentHeader.length = i + searchPatternLength;\n break;\n }\n }\n\n if (segmentHeader.length === 0xFFFFFFFF) {\n throw new Jbig2Error('segment end was not found');\n }\n } else {\n throw new Jbig2Error('invalid unknown segment length');\n }\n }\n\n segmentHeader.headerEnd = position;\n return segmentHeader;\n }\n\n function readSegments(header, data, start, end) {\n var segments = [];\n var position = start;\n\n while (position < end) {\n var segmentHeader = readSegmentHeader(data, position);\n position = segmentHeader.headerEnd;\n var segment = {\n header: segmentHeader,\n data: data\n };\n\n if (!header.randomAccess) {\n segment.start = position;\n position += segmentHeader.length;\n segment.end = position;\n }\n\n segments.push(segment);\n\n if (segmentHeader.type === 51) {\n break;\n }\n }\n\n if (header.randomAccess) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n segments[i].start = position;\n position += segments[i].header.length;\n segments[i].end = position;\n }\n }\n\n return segments;\n }\n\n function readRegionSegmentInformation(data, start) {\n return {\n width: (0, _util.readUint32)(data, start),\n height: (0, _util.readUint32)(data, start + 4),\n x: (0, _util.readUint32)(data, start + 8),\n y: (0, _util.readUint32)(data, start + 12),\n combinationOperator: data[start + 16] & 7\n };\n }\n\n var RegionSegmentInformationFieldLength = 17;\n\n function processSegment(segment, visitor) {\n var header = segment.header;\n var data = segment.data,\n position = segment.start,\n end = segment.end;\n var args, at, i, atLength;\n\n switch (header.type) {\n case 0:\n var dictionary = {};\n var dictionaryFlags = (0, _util.readUint16)(data, position);\n dictionary.huffman = !!(dictionaryFlags & 1);\n dictionary.refinement = !!(dictionaryFlags & 2);\n dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;\n dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;\n dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;\n dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;\n dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n dictionary.template = dictionaryFlags >> 10 & 3;\n dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;\n position += 2;\n\n if (!dictionary.huffman) {\n atLength = dictionary.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.at = at;\n }\n\n if (dictionary.refinement && !dictionary.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.refinementAt = at;\n }\n\n dictionary.numberOfExportedSymbols = (0, _util.readUint32)(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = (0, _util.readUint32)(data, position);\n position += 4;\n args = [dictionary, header.number, header.referredTo, data, position, end];\n break;\n\n case 6:\n case 7:\n var textRegion = {};\n textRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var textRegionSegmentFlags = (0, _util.readUint16)(data, position);\n position += 2;\n textRegion.huffman = !!(textRegionSegmentFlags & 1);\n textRegion.refinement = !!(textRegionSegmentFlags & 2);\n textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;\n textRegion.stripSize = 1 << textRegion.logStripSize;\n textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;\n textRegion.transposed = !!(textRegionSegmentFlags & 64);\n textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;\n textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;\n textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;\n textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;\n\n if (textRegion.huffman) {\n var textRegionHuffmanFlags = (0, _util.readUint16)(data, position);\n position += 2;\n textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;\n textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;\n textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;\n textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;\n textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;\n textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;\n textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);\n }\n\n if (textRegion.refinement && !textRegion.refinementTemplate) {\n at = [];\n\n for (i = 0; i < 2; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n textRegion.refinementAt = at;\n }\n\n textRegion.numberOfSymbolInstances = (0, _util.readUint32)(data, position);\n position += 4;\n args = [textRegion, header.referredTo, data, position, end];\n break;\n\n case 16:\n var patternDictionary = {};\n var patternDictionaryFlags = data[position++];\n patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n patternDictionary.template = patternDictionaryFlags >> 1 & 3;\n patternDictionary.patternWidth = data[position++];\n patternDictionary.patternHeight = data[position++];\n patternDictionary.maxPatternIndex = (0, _util.readUint32)(data, position);\n position += 4;\n args = [patternDictionary, header.number, data, position, end];\n break;\n\n case 22:\n case 23:\n var halftoneRegion = {};\n halftoneRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var halftoneRegionFlags = data[position++];\n halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n halftoneRegion.template = halftoneRegionFlags >> 1 & 3;\n halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;\n halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;\n halftoneRegion.gridWidth = (0, _util.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridHeight = (0, _util.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;\n position += 4;\n halftoneRegion.gridOffsetY = (0, _util.readUint32)(data, position) & 0xFFFFFFFF;\n position += 4;\n halftoneRegion.gridVectorX = (0, _util.readUint16)(data, position);\n position += 2;\n halftoneRegion.gridVectorY = (0, _util.readUint16)(data, position);\n position += 2;\n args = [halftoneRegion, header.referredTo, data, position, end];\n break;\n\n case 38:\n case 39:\n var genericRegion = {};\n genericRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n var genericRegionSegmentFlags = data[position++];\n genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n genericRegion.template = genericRegionSegmentFlags >> 1 & 3;\n genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n\n if (!genericRegion.mmr) {\n atLength = genericRegion.template === 0 ? 4 : 1;\n at = [];\n\n for (i = 0; i < atLength; i++) {\n at.push({\n x: (0, _util.readInt8)(data, position),\n y: (0, _util.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n genericRegion.at = at;\n }\n\n args = [genericRegion, data, position, end];\n break;\n\n case 48:\n var pageInfo = {\n width: (0, _util.readUint32)(data, position),\n height: (0, _util.readUint32)(data, position + 4),\n resolutionX: (0, _util.readUint32)(data, position + 8),\n resolutionY: (0, _util.readUint32)(data, position + 12)\n };\n\n if (pageInfo.height === 0xFFFFFFFF) {\n delete pageInfo.height;\n }\n\n var pageSegmentFlags = data[position + 16];\n (0, _util.readUint16)(data, position + 17);\n pageInfo.lossless = !!(pageSegmentFlags & 1);\n pageInfo.refinement = !!(pageSegmentFlags & 2);\n pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;\n pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;\n pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n args = [pageInfo];\n break;\n\n case 49:\n break;\n\n case 50:\n break;\n\n case 51:\n break;\n\n case 53:\n args = [header.number, data, position, end];\n break;\n\n case 62:\n break;\n\n default:\n throw new Jbig2Error(\"segment type \".concat(header.typeName, \"(\").concat(header.type, \")\") + ' is not implemented');\n }\n\n var callbackName = 'on' + header.typeName;\n\n if (callbackName in visitor) {\n visitor[callbackName].apply(visitor, args);\n }\n }\n\n function processSegments(segments, visitor) {\n for (var i = 0, ii = segments.length; i < ii; i++) {\n processSegment(segments[i], visitor);\n }\n }\n\n function parseJbig2Chunks(chunks) {\n var visitor = new SimpleSegmentVisitor();\n\n for (var i = 0, ii = chunks.length; i < ii; i++) {\n var chunk = chunks[i];\n var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n processSegments(segments, visitor);\n }\n\n return visitor.buffer;\n }\n\n function parseJbig2(data) {\n var position = 0,\n end = data.length;\n\n if (data[position] !== 0x97 || data[position + 1] !== 0x4A || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0D || data[position + 5] !== 0x0A || data[position + 6] !== 0x1A || data[position + 7] !== 0x0A) {\n throw new Jbig2Error('parseJbig2 - invalid header.');\n }\n\n var header = Object.create(null);\n position += 8;\n var flags = data[position++];\n header.randomAccess = !(flags & 1);\n\n if (!(flags & 2)) {\n header.numberOfPages = (0, _util.readUint32)(data, position);\n position += 4;\n }\n\n var segments = readSegments(header, data, position, end);\n var visitor = new SimpleSegmentVisitor();\n processSegments(segments, visitor);\n var _visitor$currentPageI = visitor.currentPageInfo,\n width = _visitor$currentPageI.width,\n height = _visitor$currentPageI.height;\n var bitPacked = visitor.buffer;\n var imgData = new Uint8ClampedArray(width * height);\n var q = 0,\n k = 0;\n\n for (var i = 0; i < height; i++) {\n var mask = 0,\n buffer = void 0;\n\n for (var j = 0; j < width; j++) {\n if (!mask) {\n mask = 128;\n buffer = bitPacked[k++];\n }\n\n imgData[q++] = buffer & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n return {\n imgData: imgData,\n width: width,\n height: height\n };\n }\n\n function SimpleSegmentVisitor() {}\n\n SimpleSegmentVisitor.prototype = {\n onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n this.currentPageInfo = info;\n var rowSize = info.width + 7 >> 3;\n var buffer = new Uint8ClampedArray(rowSize * info.height);\n\n if (info.defaultPixelValue) {\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = 0xFF;\n }\n }\n\n this.buffer = buffer;\n },\n drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n var pageInfo = this.currentPageInfo;\n var width = regionInfo.width,\n height = regionInfo.height;\n var rowSize = pageInfo.width + 7 >> 3;\n var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;\n var buffer = this.buffer;\n var mask0 = 128 >> (regionInfo.x & 7);\n var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n var i, j, mask, offset;\n\n switch (combinationOperator) {\n case 0:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] |= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n case 2:\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] ^= mask;\n }\n\n mask >>= 1;\n\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n\n offset0 += rowSize;\n }\n\n break;\n\n default:\n throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n }\n },\n onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n this.onImmediateGenericRegion.apply(this, arguments);\n },\n onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {\n var huffmanTables, huffmanInput;\n\n if (dictionary.huffman) {\n huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);\n huffmanInput = new Reader(data, start, end);\n }\n\n var symbols = this.symbols;\n\n if (!symbols) {\n this.symbols = symbols = {};\n }\n\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n var referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);\n },\n onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {\n var regionInfo = region.info;\n var huffmanTables, huffmanInput;\n var symbols = this.symbols;\n var inputSymbols = [];\n\n for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n var referredSymbols = symbols[referredSegments[i]];\n\n if (referredSymbols) {\n inputSymbols = inputSymbols.concat(referredSymbols);\n }\n }\n\n var symbolCodeLength = (0, _util.log2)(inputSymbols.length);\n\n if (region.huffman) {\n huffmanInput = new Reader(data, start, end);\n huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n this.onImmediateTextRegion.apply(this, arguments);\n },\n onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {\n var patterns = this.patterns;\n\n if (!patterns) {\n this.patterns = patterns = {};\n }\n\n var decodingContext = new DecodingContext(data, start, end);\n patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);\n },\n onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n var patterns = this.patterns[referredSegments[0]];\n var regionInfo = region.info;\n var decodingContext = new DecodingContext(data, start, end);\n var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);\n this.drawBitmap(regionInfo, bitmap);\n },\n onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {\n this.onImmediateHalftoneRegion.apply(this, arguments);\n },\n onTables: function onTables(currentSegment, data, start, end) {\n var customTables = this.customTables;\n\n if (!customTables) {\n this.customTables = customTables = {};\n }\n\n customTables[currentSegment] = decodeTablesSegment(data, start, end);\n }\n };\n\n function HuffmanLine(lineData) {\n if (lineData.length === 2) {\n this.isOOB = true;\n this.rangeLow = 0;\n this.prefixLength = lineData[0];\n this.rangeLength = 0;\n this.prefixCode = lineData[1];\n this.isLowerRange = false;\n } else {\n this.isOOB = false;\n this.rangeLow = lineData[0];\n this.prefixLength = lineData[1];\n this.rangeLength = lineData[2];\n this.prefixCode = lineData[3];\n this.isLowerRange = lineData[4] === 'lower';\n }\n }\n\n function HuffmanTreeNode(line) {\n this.children = [];\n\n if (line) {\n this.isLeaf = true;\n this.rangeLength = line.rangeLength;\n this.rangeLow = line.rangeLow;\n this.isLowerRange = line.isLowerRange;\n this.isOOB = line.isOOB;\n } else {\n this.isLeaf = false;\n }\n }\n\n HuffmanTreeNode.prototype = {\n buildTree: function buildTree(line, shift) {\n var bit = line.prefixCode >> shift & 1;\n\n if (shift <= 0) {\n this.children[bit] = new HuffmanTreeNode(line);\n } else {\n var node = this.children[bit];\n\n if (!node) {\n this.children[bit] = node = new HuffmanTreeNode(null);\n }\n\n node.buildTree(line, shift - 1);\n }\n },\n decodeNode: function decodeNode(reader) {\n if (this.isLeaf) {\n if (this.isOOB) {\n return null;\n }\n\n var htOffset = reader.readBits(this.rangeLength);\n return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n }\n\n var node = this.children[reader.readBit()];\n\n if (!node) {\n throw new Jbig2Error('invalid Huffman data');\n }\n\n return node.decodeNode(reader);\n }\n };\n\n function HuffmanTable(lines, prefixCodesDone) {\n if (!prefixCodesDone) {\n this.assignPrefixCodes(lines);\n }\n\n this.rootNode = new HuffmanTreeNode(null);\n var i,\n ii = lines.length,\n line;\n\n for (i = 0; i < ii; i++) {\n line = lines[i];\n\n if (line.prefixLength > 0) {\n this.rootNode.buildTree(line, line.prefixLength - 1);\n }\n }\n }\n\n HuffmanTable.prototype = {\n decode: function decode(reader) {\n return this.rootNode.decodeNode(reader);\n },\n assignPrefixCodes: function assignPrefixCodes(lines) {\n var linesLength = lines.length,\n prefixLengthMax = 0,\n i;\n\n for (i = 0; i < linesLength; i++) {\n prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n }\n\n var histogram = new Uint32Array(prefixLengthMax + 1);\n\n for (i = 0; i < linesLength; i++) {\n histogram[lines[i].prefixLength]++;\n }\n\n var currentLength = 1,\n firstCode = 0,\n currentCode,\n currentTemp,\n line;\n histogram[0] = 0;\n\n while (currentLength <= prefixLengthMax) {\n firstCode = firstCode + histogram[currentLength - 1] << 1;\n currentCode = firstCode;\n currentTemp = 0;\n\n while (currentTemp < linesLength) {\n line = lines[currentTemp];\n\n if (line.prefixLength === currentLength) {\n line.prefixCode = currentCode;\n currentCode++;\n }\n\n currentTemp++;\n }\n\n currentLength++;\n }\n }\n };\n\n function decodeTablesSegment(data, start, end) {\n var flags = data[start];\n var lowestValue = (0, _util.readUint32)(data, start + 1) & 0xFFFFFFFF;\n var highestValue = (0, _util.readUint32)(data, start + 5) & 0xFFFFFFFF;\n var reader = new Reader(data, start + 9, end);\n var prefixSizeBits = (flags >> 1 & 7) + 1;\n var rangeSizeBits = (flags >> 4 & 7) + 1;\n var lines = [];\n var prefixLength,\n rangeLength,\n currentRangeLow = lowestValue;\n\n do {\n prefixLength = reader.readBits(prefixSizeBits);\n rangeLength = reader.readBits(rangeSizeBits);\n lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));\n currentRangeLow += 1 << rangeLength;\n } while (currentRangeLow < highestValue);\n\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, 'lower']));\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n if (flags & 1) {\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([prefixLength, 0]));\n }\n\n return new HuffmanTable(lines, false);\n }\n\n var standardTablesCache = {};\n\n function getStandardTable(number) {\n var table = standardTablesCache[number];\n\n if (table) {\n return table;\n }\n\n var lines;\n\n switch (number) {\n case 1:\n lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];\n break;\n\n case 2:\n lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [75, 6, 32, 0x3E], [6, 0x3F]];\n break;\n\n case 3:\n lines = [[-256, 8, 8, 0xFE], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xE], [11, 5, 6, 0x1E], [-257, 8, 32, 0xFF, 'lower'], [75, 7, 32, 0x7E], [6, 0x3E]];\n break;\n\n case 4:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [76, 5, 32, 0x1F]];\n break;\n\n case 5:\n lines = [[-255, 7, 8, 0x7E], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xE], [12, 5, 6, 0x1E], [-256, 7, 32, 0x7F, 'lower'], [76, 6, 32, 0x3E]];\n break;\n\n case 6:\n lines = [[-2048, 5, 10, 0x1C], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xA], [-128, 5, 6, 0x1D], [-64, 5, 5, 0x1E], [-32, 4, 5, 0xB], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xC], [1024, 4, 10, 0xD], [-2049, 6, 32, 0x3E, 'lower'], [2048, 6, 32, 0x3F]];\n break;\n\n case 7:\n lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1A], [-64, 5, 5, 0x1B], [-32, 4, 5, 0xA], [0, 4, 5, 0xB], [32, 5, 5, 0x1C], [64, 5, 6, 0x1D], [128, 4, 7, 0xC], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1E, 'lower'], [2048, 5, 32, 0x1F]];\n break;\n\n case 8:\n lines = [[-15, 8, 3, 0xFC], [-7, 9, 1, 0x1FC], [-5, 8, 1, 0xFD], [-3, 9, 0, 0x1FD], [-2, 7, 0, 0x7C], [-1, 4, 0, 0xA], [0, 2, 1, 0x0], [2, 5, 0, 0x1A], [3, 6, 0, 0x3A], [4, 3, 4, 0x4], [20, 6, 1, 0x3B], [22, 4, 4, 0xB], [38, 4, 5, 0xC], [70, 5, 6, 0x1B], [134, 5, 7, 0x1C], [262, 6, 7, 0x3C], [390, 7, 8, 0x7D], [646, 6, 10, 0x3D], [-16, 9, 32, 0x1FE, 'lower'], [1670, 9, 32, 0x1FF], [2, 0x1]];\n break;\n\n case 9:\n lines = [[-31, 8, 4, 0xFC], [-15, 9, 2, 0x1FC], [-11, 8, 2, 0xFD], [-7, 9, 1, 0x1FD], [-5, 7, 1, 0x7C], [-3, 4, 1, 0xA], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1A], [5, 6, 1, 0x3A], [7, 3, 5, 0x4], [39, 6, 2, 0x3B], [43, 4, 5, 0xB], [75, 4, 6, 0xC], [139, 5, 7, 0x1B], [267, 5, 8, 0x1C], [523, 6, 8, 0x3C], [779, 7, 9, 0x7D], [1291, 6, 11, 0x3D], [-32, 9, 32, 0x1FE, 'lower'], [3339, 9, 32, 0x1FF], [2, 0x0]];\n break;\n\n case 10:\n lines = [[-21, 7, 4, 0x7A], [-5, 8, 0, 0xFC], [-4, 7, 0, 0x7B], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7C], [5, 8, 0, 0xFD], [6, 2, 6, 0x1], [70, 5, 5, 0x1A], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3A], [582, 6, 9, 0x3B], [1094, 6, 10, 0x3C], [2118, 7, 11, 0x7D], [-22, 8, 32, 0xFE, 'lower'], [4166, 8, 32, 0xFF], [2, 0x2]];\n break;\n\n case 11:\n lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xC], [5, 4, 1, 0xD], [7, 5, 1, 0x1C], [9, 5, 2, 0x1D], [13, 6, 2, 0x3C], [17, 7, 2, 0x7A], [21, 7, 3, 0x7B], [29, 7, 4, 0x7C], [45, 7, 5, 0x7D], [77, 7, 6, 0x7E], [141, 7, 32, 0x7F]];\n break;\n\n case 12:\n lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1C], [6, 5, 1, 0x1D], [8, 6, 1, 0x3C], [10, 7, 0, 0x7A], [11, 7, 1, 0x7B], [13, 7, 2, 0x7C], [17, 7, 3, 0x7D], [25, 7, 4, 0x7E], [41, 8, 5, 0xFE], [73, 8, 32, 0xFF]];\n break;\n\n case 13:\n lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xC], [4, 5, 0, 0x1C], [5, 4, 1, 0xD], [7, 3, 3, 0x5], [15, 6, 1, 0x3A], [17, 6, 2, 0x3B], [21, 6, 3, 0x3C], [29, 6, 4, 0x3D], [45, 6, 5, 0x3E], [77, 7, 6, 0x7E], [141, 7, 32, 0x7F]];\n break;\n\n case 14:\n lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];\n break;\n\n case 15:\n lines = [[-24, 7, 4, 0x7C], [-8, 6, 2, 0x3C], [-4, 5, 1, 0x1C], [-2, 4, 0, 0xC], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xD], [3, 5, 1, 0x1D], [5, 6, 2, 0x3D], [9, 7, 4, 0x7D], [-25, 7, 32, 0x7E, 'lower'], [25, 7, 32, 0x7F]];\n break;\n\n default:\n throw new Jbig2Error(\"standard table B.\".concat(number, \" does not exist\"));\n }\n\n var length = lines.length,\n i;\n\n for (i = 0; i < length; i++) {\n lines[i] = new HuffmanLine(lines[i]);\n }\n\n table = new HuffmanTable(lines, true);\n standardTablesCache[number] = table;\n return table;\n }\n\n function Reader(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n this.position = start;\n this.shift = -1;\n this.currentByte = 0;\n }\n\n Reader.prototype = {\n readBit: function readBit() {\n if (this.shift < 0) {\n if (this.position >= this.end) {\n throw new Jbig2Error('end of data while reading bit');\n }\n\n this.currentByte = this.data[this.position++];\n this.shift = 7;\n }\n\n var bit = this.currentByte >> this.shift & 1;\n this.shift--;\n return bit;\n },\n readBits: function readBits(numBits) {\n var result = 0,\n i;\n\n for (i = numBits - 1; i >= 0; i--) {\n result |= this.readBit() << i;\n }\n\n return result;\n },\n byteAlign: function byteAlign() {\n this.shift = -1;\n },\n next: function next() {\n if (this.position >= this.end) {\n return -1;\n }\n\n return this.data[this.position++];\n }\n };\n\n function getCustomHuffmanTable(index, referredTo, customTables) {\n var currentIndex = 0,\n i,\n ii = referredTo.length,\n table;\n\n for (i = 0; i < ii; i++) {\n table = customTables[referredTo[i]];\n\n if (table) {\n if (index === currentIndex) {\n return table;\n }\n\n currentIndex++;\n }\n }\n\n throw new Jbig2Error('can\\'t find custom Huffman table');\n }\n\n function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {\n var codes = [],\n i,\n codeLength;\n\n for (i = 0; i <= 34; i++) {\n codeLength = reader.readBits(4);\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n }\n\n var runCodesTable = new HuffmanTable(codes, false);\n codes.length = 0;\n\n for (i = 0; i < numberOfSymbols;) {\n codeLength = runCodesTable.decode(reader);\n\n if (codeLength >= 32) {\n var repeatedLength = void 0,\n numberOfRepeats = void 0,\n j = void 0;\n\n switch (codeLength) {\n case 32:\n if (i === 0) {\n throw new Jbig2Error('no previous value in symbol ID table');\n }\n\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[i - 1].prefixLength;\n break;\n\n case 33:\n numberOfRepeats = reader.readBits(3) + 3;\n repeatedLength = 0;\n break;\n\n case 34:\n numberOfRepeats = reader.readBits(7) + 11;\n repeatedLength = 0;\n break;\n\n default:\n throw new Jbig2Error('invalid code length in symbol ID table');\n }\n\n for (j = 0; j < numberOfRepeats; j++) {\n codes.push(new HuffmanLine([i, repeatedLength, 0, 0]));\n i++;\n }\n } else {\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n i++;\n }\n }\n\n reader.byteAlign();\n var symbolIDTable = new HuffmanTable(codes, false);\n var customIndex = 0,\n tableFirstS,\n tableDeltaS,\n tableDeltaT;\n\n switch (textRegion.huffmanFS) {\n case 0:\n case 1:\n tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n break;\n\n case 3:\n tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman FS selector');\n }\n\n switch (textRegion.huffmanDS) {\n case 0:\n case 1:\n case 2:\n tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n break;\n\n case 3:\n tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DS selector');\n }\n\n switch (textRegion.huffmanDT) {\n case 0:\n case 1:\n case 2:\n tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n break;\n\n case 3:\n tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DT selector');\n }\n\n if (textRegion.refinement) {\n throw new Jbig2Error('refinement with Huffman is not supported');\n }\n\n return {\n symbolIDTable: symbolIDTable,\n tableFirstS: tableFirstS,\n tableDeltaS: tableDeltaS,\n tableDeltaT: tableDeltaT\n };\n }\n\n function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {\n var customIndex = 0,\n tableDeltaHeight,\n tableDeltaWidth;\n\n switch (dictionary.huffmanDHSelector) {\n case 0:\n case 1:\n tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n break;\n\n case 3:\n tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DH selector');\n }\n\n switch (dictionary.huffmanDWSelector) {\n case 0:\n case 1:\n tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n break;\n\n case 3:\n tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n break;\n\n default:\n throw new Jbig2Error('invalid Huffman DW selector');\n }\n\n var tableBitmapSize, tableAggregateInstances;\n\n if (dictionary.bitmapSizeSelector) {\n tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);\n customIndex++;\n } else {\n tableBitmapSize = getStandardTable(1);\n }\n\n if (dictionary.aggregationInstancesSelector) {\n tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);\n } else {\n tableAggregateInstances = getStandardTable(1);\n }\n\n return {\n tableDeltaHeight: tableDeltaHeight,\n tableDeltaWidth: tableDeltaWidth,\n tableBitmapSize: tableBitmapSize,\n tableAggregateInstances: tableAggregateInstances\n };\n }\n\n function readUncompressedBitmap(reader, width, height) {\n var bitmap = [],\n x,\n y,\n row;\n\n for (y = 0; y < height; y++) {\n row = new Uint8Array(width);\n bitmap.push(row);\n\n for (x = 0; x < width; x++) {\n row[x] = reader.readBit();\n }\n\n reader.byteAlign();\n }\n\n return bitmap;\n }\n\n function decodeMMRBitmap(input, width, height, endOfBlock) {\n var params = {\n K: -1,\n Columns: width,\n Rows: height,\n BlackIs1: true,\n EndOfBlock: endOfBlock\n };\n var decoder = new _ccitt.CCITTFaxDecoder(input, params);\n var bitmap = [],\n x,\n y,\n row,\n currentByte,\n shift,\n eof = false;\n\n for (y = 0; y < height; y++) {\n row = new Uint8Array(width);\n bitmap.push(row);\n shift = -1;\n\n for (x = 0; x < width; x++) {\n if (shift < 0) {\n currentByte = decoder.readNextChar();\n\n if (currentByte === -1) {\n currentByte = 0;\n eof = true;\n }\n\n shift = 7;\n }\n\n row[x] = currentByte >> shift & 1;\n shift--;\n }\n }\n\n if (endOfBlock && !eof) {\n var lookForEOFLimit = 5;\n\n for (var i = 0; i < lookForEOFLimit; i++) {\n if (decoder.readNextChar() === -1) {\n break;\n }\n }\n }\n\n return bitmap;\n }\n\n function Jbig2Image() {}\n\n Jbig2Image.prototype = {\n parseChunks: function parseChunks(chunks) {\n return parseJbig2Chunks(chunks);\n },\n parse: function parse(data) {\n var _parseJbig = parseJbig2(data),\n imgData = _parseJbig.imgData,\n width = _parseJbig.width,\n height = _parseJbig.height;\n\n this.width = width;\n this.height = height;\n return imgData;\n }\n };\n return Jbig2Image;\n}();\n\nexports.Jbig2Image = Jbig2Image;\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ArithmeticDecoder = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar QeTable = [{\n qe: 0x5601,\n nmps: 1,\n nlps: 1,\n switchFlag: 1\n}, {\n qe: 0x3401,\n nmps: 2,\n nlps: 6,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 3,\n nlps: 9,\n switchFlag: 0\n}, {\n qe: 0x0AC1,\n nmps: 4,\n nlps: 12,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 5,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 38,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 7,\n nlps: 6,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 8,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 9,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 10,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 11,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 12,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x1C01,\n nmps: 13,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 29,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 15,\n nlps: 14,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 16,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x5101,\n nmps: 17,\n nlps: 15,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 18,\n nlps: 16,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 19,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x3401,\n nmps: 20,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 21,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2801,\n nmps: 22,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 23,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x2201,\n nmps: 24,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x1C01,\n nmps: 25,\n nlps: 22,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 26,\n nlps: 23,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 27,\n nlps: 24,\n switchFlag: 0\n}, {\n qe: 0x1401,\n nmps: 28,\n nlps: 25,\n switchFlag: 0\n}, {\n qe: 0x1201,\n nmps: 29,\n nlps: 26,\n switchFlag: 0\n}, {\n qe: 0x1101,\n nmps: 30,\n nlps: 27,\n switchFlag: 0\n}, {\n qe: 0x0AC1,\n nmps: 31,\n nlps: 28,\n switchFlag: 0\n}, {\n qe: 0x09C1,\n nmps: 32,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x08A1,\n nmps: 33,\n nlps: 30,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 34,\n nlps: 31,\n switchFlag: 0\n}, {\n qe: 0x0441,\n nmps: 35,\n nlps: 32,\n switchFlag: 0\n}, {\n qe: 0x02A1,\n nmps: 36,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 37,\n nlps: 34,\n switchFlag: 0\n}, {\n qe: 0x0141,\n nmps: 38,\n nlps: 35,\n switchFlag: 0\n}, {\n qe: 0x0111,\n nmps: 39,\n nlps: 36,\n switchFlag: 0\n}, {\n qe: 0x0085,\n nmps: 40,\n nlps: 37,\n switchFlag: 0\n}, {\n qe: 0x0049,\n nmps: 41,\n nlps: 38,\n switchFlag: 0\n}, {\n qe: 0x0025,\n nmps: 42,\n nlps: 39,\n switchFlag: 0\n}, {\n qe: 0x0015,\n nmps: 43,\n nlps: 40,\n switchFlag: 0\n}, {\n qe: 0x0009,\n nmps: 44,\n nlps: 41,\n switchFlag: 0\n}, {\n qe: 0x0005,\n nmps: 45,\n nlps: 42,\n switchFlag: 0\n}, {\n qe: 0x0001,\n nmps: 45,\n nlps: 43,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 46,\n nlps: 46,\n switchFlag: 0\n}];\n\nvar ArithmeticDecoder =\n/*#__PURE__*/\nfunction () {\n function ArithmeticDecoder(data, start, end) {\n _classCallCheck(this, ArithmeticDecoder);\n\n this.data = data;\n this.bp = start;\n this.dataEnd = end;\n this.chigh = data[start];\n this.clow = 0;\n this.byteIn();\n this.chigh = this.chigh << 7 & 0xFFFF | this.clow >> 9 & 0x7F;\n this.clow = this.clow << 7 & 0xFFFF;\n this.ct -= 7;\n this.a = 0x8000;\n }\n\n _createClass(ArithmeticDecoder, [{\n key: \"byteIn\",\n value: function byteIn() {\n var data = this.data;\n var bp = this.bp;\n\n if (data[bp] === 0xFF) {\n if (data[bp + 1] > 0x8F) {\n this.clow += 0xFF00;\n this.ct = 8;\n } else {\n bp++;\n this.clow += data[bp] << 9;\n this.ct = 7;\n this.bp = bp;\n }\n } else {\n bp++;\n this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xFF00;\n this.ct = 8;\n this.bp = bp;\n }\n\n if (this.clow > 0xFFFF) {\n this.chigh += this.clow >> 16;\n this.clow &= 0xFFFF;\n }\n }\n }, {\n key: \"readBit\",\n value: function readBit(contexts, pos) {\n var cx_index = contexts[pos] >> 1,\n cx_mps = contexts[pos] & 1;\n var qeTableIcx = QeTable[cx_index];\n var qeIcx = qeTableIcx.qe;\n var d;\n var a = this.a - qeIcx;\n\n if (this.chigh < qeIcx) {\n if (a < qeIcx) {\n a = qeIcx;\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n } else {\n a = qeIcx;\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n }\n } else {\n this.chigh -= qeIcx;\n\n if ((a & 0x8000) !== 0) {\n this.a = a;\n return cx_mps;\n }\n\n if (a < qeIcx) {\n d = 1 ^ cx_mps;\n\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n\n cx_index = qeTableIcx.nlps;\n } else {\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n }\n }\n\n do {\n if (this.ct === 0) {\n this.byteIn();\n }\n\n a <<= 1;\n this.chigh = this.chigh << 1 & 0xFFFF | this.clow >> 15 & 1;\n this.clow = this.clow << 1 & 0xFFFF;\n this.ct--;\n } while ((a & 0x8000) === 0);\n\n this.a = a;\n contexts[pos] = cx_index << 1 | cx_mps;\n return d;\n }\n }]);\n\n return ArithmeticDecoder;\n}();\n\nexports.ArithmeticDecoder = ArithmeticDecoder;\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpegStream = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _stream = __w_pdfjs_require__(157);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _jpg = __w_pdfjs_require__(164);\n\nvar JpegStream = function JpegStreamClosure() {\n function JpegStream(stream, maybeLength, dict, params) {\n var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === 0xFF) {\n stream.skip(-1);\n break;\n }\n }\n\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpegStream.prototype, 'bytes', {\n get: function JpegStream_bytes() {\n return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpegStream.prototype.ensureBuffer = function (requested) {};\n\n JpegStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpegOptions = {\n decodeTransform: undefined,\n colorTransform: undefined\n };\n var decodeArr = this.dict.getArray('Decode', 'D');\n\n if (this.forceRGB && Array.isArray(decodeArr)) {\n var bitsPerComponent = this.dict.get('BitsPerComponent') || 8;\n var decodeArrLength = decodeArr.length;\n var transform = new Int32Array(decodeArrLength);\n var transformNeeded = false;\n var maxValue = (1 << bitsPerComponent) - 1;\n\n for (var i = 0; i < decodeArrLength; i += 2) {\n transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n transform[i + 1] = decodeArr[i] * maxValue | 0;\n\n if (transform[i] !== 256 || transform[i + 1] !== 0) {\n transformNeeded = true;\n }\n }\n\n if (transformNeeded) {\n jpegOptions.decodeTransform = transform;\n }\n }\n\n if ((0, _primitives.isDict)(this.params)) {\n var colorTransform = this.params.get('ColorTransform');\n\n if (Number.isInteger(colorTransform)) {\n jpegOptions.colorTransform = colorTransform;\n }\n }\n\n var jpegImage = new _jpg.JpegImage(jpegOptions);\n jpegImage.parse(this.bytes);\n var data = jpegImage.getData({\n width: this.drawWidth,\n height: this.drawHeight,\n forceRGB: this.forceRGB,\n isSourcePDF: true\n });\n this.buffer = data;\n this.bufferLength = data.length;\n this.eof = true;\n };\n\n JpegStream.prototype.getIR = function () {\n var forceDataSchema = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (0, _util.createObjectURL)(this.bytes, 'image/jpeg', forceDataSchema);\n };\n\n return JpegStream;\n}();\n\nexports.JpegStream = JpegStream;\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpegImage = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar JpegError = function JpegErrorClosure() {\n function JpegError(msg) {\n this.message = 'JPEG error: ' + msg;\n }\n\n JpegError.prototype = new Error();\n JpegError.prototype.name = 'JpegError';\n JpegError.constructor = JpegError;\n return JpegError;\n}();\n\nvar DNLMarkerError = function DNLMarkerErrorClosure() {\n function DNLMarkerError(message, scanLines) {\n this.message = message;\n this.scanLines = scanLines;\n }\n\n DNLMarkerError.prototype = new Error();\n DNLMarkerError.prototype.name = 'DNLMarkerError';\n DNLMarkerError.constructor = DNLMarkerError;\n return DNLMarkerError;\n}();\n\nvar EOIMarkerError = function EOIMarkerErrorClosure() {\n function EOIMarkerError(message) {\n this.message = message;\n }\n\n EOIMarkerError.prototype = new Error();\n EOIMarkerError.prototype.name = 'EOIMarkerError';\n EOIMarkerError.constructor = EOIMarkerError;\n return EOIMarkerError;\n}();\n\nvar JpegImage = function JpegImageClosure() {\n var dctZigZag = 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]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n\n function JpegImage() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$decodeTransform = _ref.decodeTransform,\n decodeTransform = _ref$decodeTransform === void 0 ? null : _ref$decodeTransform,\n _ref$colorTransform = _ref.colorTransform,\n colorTransform = _ref$colorTransform === void 0 ? -1 : _ref$colorTransform;\n\n this._decodeTransform = decodeTransform;\n this._colorTransform = colorTransform;\n }\n\n function buildHuffmanTable(codeLengths, values) {\n var k = 0,\n code = [],\n i,\n j,\n length = 16;\n\n while (length > 0 && !codeLengths[length - 1]) {\n length--;\n }\n\n code.push({\n children: [],\n index: 0\n });\n var p = code[0],\n q;\n\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n\n while (p.index > 0) {\n p = code.pop();\n }\n\n p.index++;\n code.push(p);\n\n while (code.length <= i) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n\n k++;\n }\n\n if (i + 1 < length) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n\n return code[0].children;\n }\n\n function getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n }\n\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {\n var parseDNLMarker = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var startOffset = offset,\n bitsData = 0,\n bitsCount = 0;\n\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return bitsData >> bitsCount & 1;\n }\n\n bitsData = data[offset++];\n\n if (bitsData === 0xFF) {\n var nextByte = data[offset++];\n\n if (nextByte) {\n if (nextByte === 0xDC && parseDNLMarker) {\n offset += 2;\n var scanLines = data[offset++] << 8 | data[offset++];\n\n if (scanLines > 0 && scanLines !== frame.scanLines) {\n throw new DNLMarkerError('Found DNL marker (0xFFDC) while parsing scan data', scanLines);\n }\n } else if (nextByte === 0xD9) {\n throw new EOIMarkerError('Found EOI marker (0xFFD9) while parsing scan data');\n }\n\n throw new JpegError(\"unexpected marker \".concat((bitsData << 8 | nextByte).toString(16)));\n }\n }\n\n bitsCount = 7;\n return bitsData >>> 7;\n }\n\n function decodeHuffman(tree) {\n var node = tree;\n\n while (true) {\n node = node[readBit()];\n\n if (typeof node === 'number') {\n return node;\n }\n\n if (_typeof(node) !== 'object') {\n throw new JpegError('invalid huffman sequence');\n }\n }\n }\n\n function receive(length) {\n var n = 0;\n\n while (length > 0) {\n n = n << 1 | readBit();\n length--;\n }\n\n return n;\n }\n\n function receiveAndExtend(length) {\n if (length === 1) {\n return readBit() === 1 ? 1 : -1;\n }\n\n var n = receive(length);\n\n if (n >= 1 << length - 1) {\n return n;\n }\n\n return n + (-1 << length) + 1;\n }\n\n function decodeBaseline(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[offset] = component.pred += diff;\n var k = 1;\n\n while (k < 64) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, offset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[offset] = component.pred += diff;\n }\n\n function decodeDCSuccessive(component, offset) {\n component.blockData[offset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n\n function decodeACFirst(component, offset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n\n var k = spectralStart,\n e = spectralEnd;\n\n while (k <= e) {\n var rs = decodeHuffman(component.huffmanTableAC);\n var s = rs & 15,\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n\n k += 16;\n continue;\n }\n\n k += r;\n var z = dctZigZag[k];\n component.blockData[offset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0,\n successiveACNextValue;\n\n function decodeACSuccessive(component, offset) {\n var k = spectralStart;\n var e = spectralEnd;\n var r = 0;\n var s;\n var rs;\n\n while (k <= e) {\n var offsetZ = offset + dctZigZag[k];\n var sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n\n switch (successiveACState) {\n case 0:\n rs = decodeHuffman(component.huffmanTableAC);\n s = rs & 15;\n r = rs >> 4;\n\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1) {\n throw new JpegError('invalid ACn encoding');\n }\n\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n\n continue;\n\n case 1:\n case 2:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n r--;\n\n if (r === 0) {\n successiveACState = successiveACState === 2 ? 3 : 0;\n }\n }\n\n break;\n\n case 3:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n component.blockData[offsetZ] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n\n break;\n\n case 4:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n }\n\n break;\n }\n\n k++;\n }\n\n if (successiveACState === 4) {\n eobrun--;\n\n if (eobrun === 0) {\n successiveACState = 0;\n }\n }\n }\n\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = mcu / mcusPerLine | 0;\n var mcuCol = mcu % mcusPerLine;\n var blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n function decodeBlock(component, decode, mcu) {\n var blockRow = mcu / component.blocksPerLine | 0;\n var blockCol = mcu % component.blocksPerLine;\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, offset);\n }\n\n var componentsLength = components.length;\n var component, i, j, k, n;\n var decodeFn;\n\n if (progressive) {\n if (spectralStart === 0) {\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n } else {\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n }\n } else {\n decodeFn = decodeBaseline;\n }\n\n var mcu = 0,\n fileMarker;\n var mcuExpected;\n\n if (componentsLength === 1) {\n mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n } else {\n mcuExpected = mcusPerLine * frame.mcusPerColumn;\n }\n\n var h, v;\n\n while (mcu < mcuExpected) {\n var mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;\n\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n\n eobrun = 0;\n\n if (componentsLength === 1) {\n component = components[0];\n\n for (n = 0; n < mcuToRead; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < mcuToRead; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n\n mcu++;\n }\n }\n\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)('decodeScan - unexpected MCU data, current marker is: ' + fileMarker.invalid);\n offset = fileMarker.offset;\n }\n\n var marker = fileMarker && fileMarker.marker;\n\n if (!marker || marker <= 0xFF00) {\n throw new JpegError('marker was not found');\n }\n\n if (marker >= 0xFFD0 && marker <= 0xFFD7) {\n offset += 2;\n } else {\n break;\n }\n }\n\n fileMarker = findNextFileMarker(data, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)('decodeScan - unexpected Scan data, current marker is: ' + fileMarker.invalid);\n offset = fileMarker.offset;\n }\n\n return offset - startOffset;\n }\n\n function quantizeAndInverse(component, blockBufferOffset, p) {\n var qt = component.quantizationTable,\n blockData = component.blockData;\n var v0, v1, v2, v3, v4, v5, v6, v7;\n var p0, p1, p2, p3, p4, p5, p6, p7;\n var t;\n\n if (!qt) {\n throw new JpegError('missing required Quantization Table.');\n }\n\n for (var row = 0; row < 64; row += 8) {\n p0 = blockData[blockBufferOffset + row];\n p1 = blockData[blockBufferOffset + row + 1];\n p2 = blockData[blockBufferOffset + row + 2];\n p3 = blockData[blockBufferOffset + row + 3];\n p4 = blockData[blockBufferOffset + row + 4];\n p5 = blockData[blockBufferOffset + row + 5];\n p6 = blockData[blockBufferOffset + row + 6];\n p7 = blockData[blockBufferOffset + row + 7];\n p0 *= qt[row];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 512 >> 10;\n p[row] = t;\n p[row + 1] = t;\n p[row + 2] = t;\n p[row + 3] = t;\n p[row + 4] = t;\n p[row + 5] = t;\n p[row + 6] = t;\n p[row + 7] = t;\n continue;\n }\n\n p1 *= qt[row + 1];\n p2 *= qt[row + 2];\n p3 *= qt[row + 3];\n p4 *= qt[row + 4];\n p5 *= qt[row + 5];\n p6 *= qt[row + 6];\n p7 *= qt[row + 7];\n v0 = dctSqrt2 * p0 + 128 >> 8;\n v1 = dctSqrt2 * p4 + 128 >> 8;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;\n v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;\n v5 = p3 << 4;\n v6 = p5 << 4;\n v0 = v0 + v1 + 1 >> 1;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p[row] = v0 + v7;\n p[row + 7] = v0 - v7;\n p[row + 1] = v1 + v6;\n p[row + 6] = v1 - v6;\n p[row + 2] = v2 + v5;\n p[row + 5] = v2 - v5;\n p[row + 3] = v3 + v4;\n p[row + 4] = v3 - v4;\n }\n\n for (var col = 0; col < 8; ++col) {\n p0 = p[col];\n p1 = p[col + 8];\n p2 = p[col + 16];\n p3 = p[col + 24];\n p4 = p[col + 32];\n p5 = p[col + 40];\n p6 = p[col + 48];\n p7 = p[col + 56];\n\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = dctSqrt2 * p0 + 8192 >> 14;\n t = t < -2040 ? 0 : t >= 2024 ? 255 : t + 2056 >> 4;\n blockData[blockBufferOffset + col] = t;\n blockData[blockBufferOffset + col + 8] = t;\n blockData[blockBufferOffset + col + 16] = t;\n blockData[blockBufferOffset + col + 24] = t;\n blockData[blockBufferOffset + col + 32] = t;\n blockData[blockBufferOffset + col + 40] = t;\n blockData[blockBufferOffset + col + 48] = t;\n blockData[blockBufferOffset + col + 56] = t;\n continue;\n }\n\n v0 = dctSqrt2 * p0 + 2048 >> 12;\n v1 = dctSqrt2 * p4 + 2048 >> 12;\n v2 = p2;\n v3 = p6;\n v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;\n v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;\n v5 = p3;\n v6 = p5;\n v0 = (v0 + v1 + 1 >> 1) + 4112;\n v1 = v0 - v1;\n t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n v3 = t;\n v4 = v4 + v6 + 1 >> 1;\n v6 = v4 - v6;\n v7 = v7 + v5 + 1 >> 1;\n v5 = v7 - v5;\n v0 = v0 + v3 + 1 >> 1;\n v3 = v0 - v3;\n v1 = v1 + v2 + 1 >> 1;\n v2 = v1 - v2;\n t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n v7 = t;\n t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n v6 = t;\n p0 = v0 + v7;\n p7 = v0 - v7;\n p1 = v1 + v6;\n p6 = v1 - v6;\n p2 = v2 + v5;\n p5 = v2 - v5;\n p3 = v3 + v4;\n p4 = v3 - v4;\n p0 = p0 < 16 ? 0 : p0 >= 4080 ? 255 : p0 >> 4;\n p1 = p1 < 16 ? 0 : p1 >= 4080 ? 255 : p1 >> 4;\n p2 = p2 < 16 ? 0 : p2 >= 4080 ? 255 : p2 >> 4;\n p3 = p3 < 16 ? 0 : p3 >= 4080 ? 255 : p3 >> 4;\n p4 = p4 < 16 ? 0 : p4 >= 4080 ? 255 : p4 >> 4;\n p5 = p5 < 16 ? 0 : p5 >= 4080 ? 255 : p5 >> 4;\n p6 = p6 < 16 ? 0 : p6 >= 4080 ? 255 : p6 >> 4;\n p7 = p7 < 16 ? 0 : p7 >= 4080 ? 255 : p7 >> 4;\n blockData[blockBufferOffset + col] = p0;\n blockData[blockBufferOffset + col + 8] = p1;\n blockData[blockBufferOffset + col + 16] = p2;\n blockData[blockBufferOffset + col + 24] = p3;\n blockData[blockBufferOffset + col + 32] = p4;\n blockData[blockBufferOffset + col + 40] = p5;\n blockData[blockBufferOffset + col + 48] = p6;\n blockData[blockBufferOffset + col + 56] = p7;\n }\n }\n\n function buildComponentData(frame, component) {\n var blocksPerLine = component.blocksPerLine;\n var blocksPerColumn = component.blocksPerColumn;\n var computationBuffer = new Int16Array(64);\n\n for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n var offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n\n return component.blockData;\n }\n\n function findNextFileMarker(data, currentPos) {\n var startPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentPos;\n\n function peekUint16(pos) {\n return data[pos] << 8 | data[pos + 1];\n }\n\n var maxPos = data.length - 1;\n var newPos = startPos < currentPos ? startPos : currentPos;\n\n if (currentPos >= maxPos) {\n return null;\n }\n\n var currentMarker = peekUint16(currentPos);\n\n if (currentMarker >= 0xFFC0 && currentMarker <= 0xFFFE) {\n return {\n invalid: null,\n marker: currentMarker,\n offset: currentPos\n };\n }\n\n var newMarker = peekUint16(newPos);\n\n while (!(newMarker >= 0xFFC0 && newMarker <= 0xFFFE)) {\n if (++newPos >= maxPos) {\n return null;\n }\n\n newMarker = peekUint16(newPos);\n }\n\n return {\n invalid: currentMarker.toString(16),\n marker: newMarker,\n offset: newPos\n };\n }\n\n JpegImage.prototype = {\n parse: function parse(data) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$dnlScanLines = _ref2.dnlScanLines,\n dnlScanLines = _ref2$dnlScanLines === void 0 ? null : _ref2$dnlScanLines;\n\n function readUint16() {\n var value = data[offset] << 8 | data[offset + 1];\n offset += 2;\n return value;\n }\n\n function readDataBlock() {\n var length = readUint16();\n var endOffset = offset + length - 2;\n var fileMarker = findNextFileMarker(data, endOffset, offset);\n\n if (fileMarker && fileMarker.invalid) {\n (0, _util.warn)('readDataBlock - incorrect length, current marker is: ' + fileMarker.invalid);\n endOffset = fileMarker.offset;\n }\n\n var array = data.subarray(offset, endOffset);\n offset += array.length;\n return array;\n }\n\n function prepareComponents(frame) {\n var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n\n for (var i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n var blocksPerLineForMcu = mcusPerLine * component.h;\n var blocksPerColumnForMcu = mcusPerColumn * component.v;\n var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n var offset = 0;\n var jfif = null;\n var adobe = null;\n var frame, resetInterval;\n var numSOSMarkers = 0;\n var quantizationTables = [];\n var huffmanTablesAC = [],\n huffmanTablesDC = [];\n var fileMarker = readUint16();\n\n if (fileMarker !== 0xFFD8) {\n throw new JpegError('SOI not found');\n }\n\n fileMarker = readUint16();\n\n markerLoop: while (fileMarker !== 0xFFD9) {\n var i, j, l;\n\n switch (fileMarker) {\n case 0xFFE0:\n case 0xFFE1:\n case 0xFFE2:\n case 0xFFE3:\n case 0xFFE4:\n case 0xFFE5:\n case 0xFFE6:\n case 0xFFE7:\n case 0xFFE8:\n case 0xFFE9:\n case 0xFFEA:\n case 0xFFEB:\n case 0xFFEC:\n case 0xFFED:\n case 0xFFEE:\n case 0xFFEF:\n case 0xFFFE:\n var appData = readDataBlock();\n\n if (fileMarker === 0xFFE0) {\n if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {\n jfif = {\n version: {\n major: appData[5],\n minor: appData[6]\n },\n densityUnits: appData[7],\n xDensity: appData[8] << 8 | appData[9],\n yDensity: appData[10] << 8 | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n };\n }\n }\n\n if (fileMarker === 0xFFEE) {\n if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F && appData[3] === 0x62 && appData[4] === 0x65) {\n adobe = {\n version: appData[5] << 8 | appData[6],\n flags0: appData[7] << 8 | appData[8],\n flags1: appData[9] << 8 | appData[10],\n transformCode: appData[11]\n };\n }\n }\n\n break;\n\n case 0xFFDB:\n var quantizationTablesLength = readUint16();\n var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n var z;\n\n while (offset < quantizationTablesEnd) {\n var quantizationTableSpec = data[offset++];\n var tableData = new Uint16Array(64);\n\n if (quantizationTableSpec >> 4 === 0) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = readUint16();\n }\n } else {\n throw new JpegError('DQT - invalid table spec');\n }\n\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n\n break;\n\n case 0xFFC0:\n case 0xFFC1:\n case 0xFFC2:\n if (frame) {\n throw new JpegError('Only single frame JPEGs supported');\n }\n\n readUint16();\n frame = {};\n frame.extended = fileMarker === 0xFFC1;\n frame.progressive = fileMarker === 0xFFC2;\n frame.precision = data[offset++];\n var sofScanLines = readUint16();\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = readUint16();\n frame.components = [];\n frame.componentIds = {};\n var componentsCount = data[offset++],\n componentId;\n var maxH = 0,\n maxV = 0;\n\n for (i = 0; i < componentsCount; i++) {\n componentId = data[offset];\n var h = data[offset + 1] >> 4;\n var v = data[offset + 1] & 15;\n\n if (maxH < h) {\n maxH = h;\n }\n\n if (maxV < v) {\n maxV = v;\n }\n\n var qId = data[offset + 2];\n l = frame.components.push({\n h: h,\n v: v,\n quantizationId: qId,\n quantizationTable: null\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n\n case 0xFFC4:\n var huffmanLength = readUint16();\n\n for (i = 2; i < huffmanLength;) {\n var huffmanTableSpec = data[offset++];\n var codeLengths = new Uint8Array(16);\n var codeLengthSum = 0;\n\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n\n var huffmanValues = new Uint8Array(codeLengthSum);\n\n for (j = 0; j < codeLengthSum; j++, offset++) {\n huffmanValues[j] = data[offset];\n }\n\n i += 17 + codeLengthSum;\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);\n }\n\n break;\n\n case 0xFFDD:\n readUint16();\n resetInterval = readUint16();\n break;\n\n case 0xFFDA:\n var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n readUint16();\n var selectorsCount = data[offset++];\n var components = [],\n component;\n\n for (i = 0; i < selectorsCount; i++) {\n var componentIndex = frame.componentIds[data[offset++]];\n component = frame.components[componentIndex];\n var tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n\n var spectralStart = data[offset++];\n var spectralEnd = data[offset++];\n var successiveApproximation = data[offset++];\n\n try {\n var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, parseDNLMarker);\n offset += processed;\n } catch (ex) {\n if (ex instanceof DNLMarkerError) {\n (0, _util.warn)(\"\".concat(ex.message, \" -- attempting to re-parse the JPEG image.\"));\n return this.parse(data, {\n dnlScanLines: ex.scanLines\n });\n } else if (ex instanceof EOIMarkerError) {\n (0, _util.warn)(\"\".concat(ex.message, \" -- ignoring the rest of the image data.\"));\n break markerLoop;\n }\n\n throw ex;\n }\n\n break;\n\n case 0xFFDC:\n offset += 4;\n break;\n\n case 0xFFFF:\n if (data[offset] !== 0xFF) {\n offset--;\n }\n\n break;\n\n default:\n if (data[offset - 3] === 0xFF && data[offset - 2] >= 0xC0 && data[offset - 2] <= 0xFE) {\n offset -= 3;\n break;\n }\n\n var nextFileMarker = findNextFileMarker(data, offset - 2);\n\n if (nextFileMarker && nextFileMarker.invalid) {\n (0, _util.warn)('JpegImage.parse - unexpected data, current marker is: ' + nextFileMarker.invalid);\n offset = nextFileMarker.offset;\n break;\n }\n\n throw new JpegError('unknown marker ' + fileMarker.toString(16));\n }\n\n fileMarker = readUint16();\n }\n\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n\n for (i = 0; i < frame.components.length; i++) {\n component = frame.components[i];\n var quantizationTable = quantizationTables[component.quantizationId];\n\n if (quantizationTable) {\n component.quantizationTable = quantizationTable;\n }\n\n this.components.push({\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn\n });\n }\n\n this.numComponents = this.components.length;\n },\n _getLinearizedBlockData: function _getLinearizedBlockData(width, height) {\n var isSourcePDF = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var scaleX = this.width / width,\n scaleY = this.height / height;\n var component, componentScaleX, componentScaleY, blocksPerScanline;\n var x, y, i, j, k;\n var index;\n var offset = 0;\n var output;\n var numComponents = this.components.length;\n var dataLength = width * height * numComponents;\n var data = new Uint8ClampedArray(dataLength);\n var xScaleBlockOffset = new Uint32Array(width);\n var mask3LSB = 0xfffffff8;\n\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n output = component.output;\n blocksPerScanline = component.blocksPerLine + 1 << 3;\n\n for (x = 0; x < width; x++) {\n j = 0 | x * componentScaleX;\n xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n }\n\n for (y = 0; y < height; y++) {\n j = 0 | y * componentScaleY;\n index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;\n\n for (x = 0; x < width; x++) {\n data[offset] = output[index + xScaleBlockOffset[x]];\n offset += numComponents;\n }\n }\n }\n\n var transform = this._decodeTransform;\n\n if (!isSourcePDF && numComponents === 4 && !transform) {\n transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);\n }\n\n if (transform) {\n for (i = 0; i < dataLength;) {\n for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];\n }\n }\n }\n\n return data;\n },\n\n get _isColorConversionNeeded() {\n if (this.adobe) {\n return !!this.adobe.transformCode;\n }\n\n if (this.numComponents === 3) {\n if (this._colorTransform === 0) {\n return false;\n }\n\n return true;\n }\n\n if (this._colorTransform === 1) {\n return true;\n }\n\n return false;\n },\n\n _convertYccToRgb: function convertYccToRgb(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 3) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = Y - 179.456 + 1.402 * Cr;\n data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n data[i + 2] = Y - 226.816 + 1.772 * Cb;\n }\n\n return data;\n },\n _convertYcckToRgb: function convertYcckToRgb(data) {\n var Y, Cb, Cr, k;\n var offset = 0;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n k = data[i + 3];\n data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n }\n\n return data.subarray(0, offset);\n },\n _convertYcckToCmyk: function convertYcckToCmyk(data) {\n var Y, Cb, Cr;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = 434.456 - Y - 1.402 * Cr;\n data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n data[i + 2] = 481.816 - Y - 1.772 * Cb;\n }\n\n return data;\n },\n _convertCmykToRgb: function convertCmykToRgb(data) {\n var c, m, y, k;\n var offset = 0;\n var scale = 1 / 255;\n\n for (var i = 0, length = data.length; i < length; i += 4) {\n c = data[i] * scale;\n m = data[i + 1] * scale;\n y = data[i + 2] * scale;\n k = data[i + 3] * scale;\n data[offset++] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k - 285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y - 17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) - k * (21.86122147463605 * k + 189.48180835922747);\n data[offset++] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k - 79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) - k * (20.737325471181034 * k + 187.80453709719578);\n data[offset++] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k - 14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k - 193.58209356861505) - k * (22.33816807309886 * k + 180.12613974708367);\n }\n\n return data.subarray(0, offset);\n },\n getData: function getData(_ref3) {\n var width = _ref3.width,\n height = _ref3.height,\n _ref3$forceRGB = _ref3.forceRGB,\n forceRGB = _ref3$forceRGB === void 0 ? false : _ref3$forceRGB,\n _ref3$isSourcePDF = _ref3.isSourcePDF,\n isSourcePDF = _ref3$isSourcePDF === void 0 ? false : _ref3$isSourcePDF;\n\n if (this.numComponents > 4) {\n throw new JpegError('Unsupported color mode');\n }\n\n var data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n if (this.numComponents === 1 && forceRGB) {\n var dataLength = data.length;\n var rgbData = new Uint8ClampedArray(dataLength * 3);\n var offset = 0;\n\n for (var i = 0; i < dataLength; i++) {\n var grayColor = data[i];\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n rgbData[offset++] = grayColor;\n }\n\n return rgbData;\n } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n return this._convertYccToRgb(data);\n } else if (this.numComponents === 4) {\n if (this._isColorConversionNeeded) {\n if (forceRGB) {\n return this._convertYcckToRgb(data);\n }\n\n return this._convertYcckToCmyk(data);\n } else if (forceRGB) {\n return this._convertCmykToRgb(data);\n }\n }\n\n return data;\n }\n };\n return JpegImage;\n}();\n\nexports.JpegImage = JpegImage;\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpxStream = void 0;\n\nvar _stream = __w_pdfjs_require__(157);\n\nvar _jpx = __w_pdfjs_require__(166);\n\nvar _util = __w_pdfjs_require__(6);\n\nvar JpxStream = function JpxStreamClosure() {\n function JpxStream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpxStream.prototype, 'bytes', {\n get: function JpxStream_bytes() {\n return (0, _util.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpxStream.prototype.ensureBuffer = function (requested) {};\n\n JpxStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parse(this.bytes);\n var width = jpxImage.width;\n var height = jpxImage.height;\n var componentsCount = jpxImage.componentsCount;\n var tileCount = jpxImage.tiles.length;\n\n if (tileCount === 1) {\n this.buffer = jpxImage.tiles[0].items;\n } else {\n var data = new Uint8ClampedArray(width * height * componentsCount);\n\n for (var k = 0; k < tileCount; k++) {\n var tileComponents = jpxImage.tiles[k];\n var tileWidth = tileComponents.width;\n var tileHeight = tileComponents.height;\n var tileLeft = tileComponents.left;\n var tileTop = tileComponents.top;\n var src = tileComponents.items;\n var srcPosition = 0;\n var dataPosition = (width * tileTop + tileLeft) * componentsCount;\n var imgRowSize = width * componentsCount;\n var tileRowSize = tileWidth * componentsCount;\n\n for (var j = 0; j < tileHeight; j++) {\n var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n data.set(rowBytes, dataPosition);\n srcPosition += tileRowSize;\n dataPosition += imgRowSize;\n }\n }\n\n this.buffer = data;\n }\n\n this.bufferLength = this.buffer.length;\n this.eof = true;\n };\n\n return JpxStream;\n}();\n\nexports.JpxStream = JpxStream;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpxImage = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(162);\n\nvar JpxError = function JpxErrorClosure() {\n function JpxError(msg) {\n this.message = 'JPX error: ' + msg;\n }\n\n JpxError.prototype = new Error();\n JpxError.prototype.name = 'JpxError';\n JpxError.constructor = JpxError;\n return JpxError;\n}();\n\nvar JpxImage = function JpxImageClosure() {\n var SubbandsGainLog2 = {\n 'LL': 0,\n 'LH': 1,\n 'HL': 1,\n 'HH': 2\n };\n\n function JpxImage() {\n this.failOnCorruptedImage = false;\n }\n\n JpxImage.prototype = {\n parse: function JpxImage_parse(data) {\n var head = (0, _util.readUint16)(data, 0);\n\n if (head === 0xFF4F) {\n this.parseCodestream(data, 0, data.length);\n return;\n }\n\n var position = 0,\n length = data.length;\n\n while (position < length) {\n var headerSize = 8;\n var lbox = (0, _util.readUint32)(data, position);\n var tbox = (0, _util.readUint32)(data, position + 4);\n position += headerSize;\n\n if (lbox === 1) {\n lbox = (0, _util.readUint32)(data, position) * 4294967296 + (0, _util.readUint32)(data, position + 4);\n position += 8;\n headerSize += 8;\n }\n\n if (lbox === 0) {\n lbox = length - position + headerSize;\n }\n\n if (lbox < headerSize) {\n throw new JpxError('Invalid box field size');\n }\n\n var dataLength = lbox - headerSize;\n var jumpDataLength = true;\n\n switch (tbox) {\n case 0x6A703268:\n jumpDataLength = false;\n break;\n\n case 0x636F6C72:\n var method = data[position];\n\n if (method === 1) {\n var colorspace = (0, _util.readUint32)(data, position + 3);\n\n switch (colorspace) {\n case 16:\n case 17:\n case 18:\n break;\n\n default:\n (0, _util.warn)('Unknown colorspace ' + colorspace);\n break;\n }\n } else if (method === 2) {\n (0, _util.info)('ICC profile not supported');\n }\n\n break;\n\n case 0x6A703263:\n this.parseCodestream(data, position, position + dataLength);\n break;\n\n case 0x6A502020:\n if ((0, _util.readUint32)(data, position) !== 0x0d0a870a) {\n (0, _util.warn)('Invalid JP2 signature');\n }\n\n break;\n\n case 0x6A501A1A:\n case 0x66747970:\n case 0x72726571:\n case 0x72657320:\n case 0x69686472:\n break;\n\n default:\n var headerType = String.fromCharCode(tbox >> 24 & 0xFF, tbox >> 16 & 0xFF, tbox >> 8 & 0xFF, tbox & 0xFF);\n (0, _util.warn)('Unsupported header type ' + tbox + ' (' + headerType + ')');\n break;\n }\n\n if (jumpDataLength) {\n position += dataLength;\n }\n }\n },\n parseImageProperties: function JpxImage_parseImageProperties(stream) {\n var newByte = stream.getByte();\n\n while (newByte >= 0) {\n var oldByte = newByte;\n newByte = stream.getByte();\n var code = oldByte << 8 | newByte;\n\n if (code === 0xFF51) {\n stream.skip(4);\n var Xsiz = stream.getInt32() >>> 0;\n var Ysiz = stream.getInt32() >>> 0;\n var XOsiz = stream.getInt32() >>> 0;\n var YOsiz = stream.getInt32() >>> 0;\n stream.skip(16);\n var Csiz = stream.getUint16();\n this.width = Xsiz - XOsiz;\n this.height = Ysiz - YOsiz;\n this.componentsCount = Csiz;\n this.bitsPerComponent = 8;\n return;\n }\n }\n\n throw new JpxError('No size marker found in JPX stream');\n },\n parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n var context = {};\n var doNotRecover = false;\n\n try {\n var position = start;\n\n while (position + 1 < end) {\n var code = (0, _util.readUint16)(data, position);\n position += 2;\n var length = 0,\n j,\n sqcd,\n spqcds,\n spqcdSize,\n scalarExpounded,\n tile;\n\n switch (code) {\n case 0xFF4F:\n context.mainHeader = true;\n break;\n\n case 0xFFD9:\n break;\n\n case 0xFF51:\n length = (0, _util.readUint16)(data, position);\n var siz = {};\n siz.Xsiz = (0, _util.readUint32)(data, position + 4);\n siz.Ysiz = (0, _util.readUint32)(data, position + 8);\n siz.XOsiz = (0, _util.readUint32)(data, position + 12);\n siz.YOsiz = (0, _util.readUint32)(data, position + 16);\n siz.XTsiz = (0, _util.readUint32)(data, position + 20);\n siz.YTsiz = (0, _util.readUint32)(data, position + 24);\n siz.XTOsiz = (0, _util.readUint32)(data, position + 28);\n siz.YTOsiz = (0, _util.readUint32)(data, position + 32);\n var componentsCount = (0, _util.readUint16)(data, position + 36);\n siz.Csiz = componentsCount;\n var components = [];\n j = position + 38;\n\n for (var i = 0; i < componentsCount; i++) {\n var component = {\n precision: (data[j] & 0x7F) + 1,\n isSigned: !!(data[j] & 0x80),\n XRsiz: data[j + 1],\n YRsiz: data[j + 2]\n };\n j += 3;\n calculateComponentDimensions(component, siz);\n components.push(component);\n }\n\n context.SIZ = siz;\n context.components = components;\n calculateTileGrids(context, components);\n context.QCC = [];\n context.COC = [];\n break;\n\n case 0xFF5C:\n length = (0, _util.readUint16)(data, position);\n var qcd = {};\n j = position + 2;\n sqcd = data[j++];\n\n switch (sqcd & 0x1F) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error('Invalid SQcd value ' + sqcd);\n }\n\n qcd.noQuantization = spqcdSize === 8;\n qcd.scalarExpounded = scalarExpounded;\n qcd.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n var spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcd.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCD = qcd;\n } else {\n context.currentTile.QCD = qcd;\n context.currentTile.QCC = [];\n }\n\n break;\n\n case 0xFF5D:\n length = (0, _util.readUint16)(data, position);\n var qcc = {};\n j = position + 2;\n var cqcc;\n\n if (context.SIZ.Csiz < 257) {\n cqcc = data[j++];\n } else {\n cqcc = (0, _util.readUint16)(data, j);\n j += 2;\n }\n\n sqcd = data[j++];\n\n switch (sqcd & 0x1F) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n\n default:\n throw new Error('Invalid SQcd value ' + sqcd);\n }\n\n qcc.noQuantization = spqcdSize === 8;\n qcc.scalarExpounded = scalarExpounded;\n qcc.guardBits = sqcd >> 5;\n spqcds = [];\n\n while (j < length + position) {\n spqcd = {};\n\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n j += 2;\n }\n\n spqcds.push(spqcd);\n }\n\n qcc.SPqcds = spqcds;\n\n if (context.mainHeader) {\n context.QCC[cqcc] = qcc;\n } else {\n context.currentTile.QCC[cqcc] = qcc;\n }\n\n break;\n\n case 0xFF52:\n length = (0, _util.readUint16)(data, position);\n var cod = {};\n j = position + 2;\n var scod = data[j++];\n cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n cod.sopMarkerUsed = !!(scod & 2);\n cod.ephMarkerUsed = !!(scod & 4);\n cod.progressionOrder = data[j++];\n cod.layersCount = (0, _util.readUint16)(data, j);\n j += 2;\n cod.multipleComponentTransform = data[j++];\n cod.decompositionLevelsCount = data[j++];\n cod.xcb = (data[j++] & 0xF) + 2;\n cod.ycb = (data[j++] & 0xF) + 2;\n var blockStyle = data[j++];\n cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n cod.resetContextProbabilities = !!(blockStyle & 2);\n cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n cod.verticallyStripe = !!(blockStyle & 8);\n cod.predictableTermination = !!(blockStyle & 16);\n cod.segmentationSymbolUsed = !!(blockStyle & 32);\n cod.reversibleTransformation = data[j++];\n\n if (cod.entropyCoderWithCustomPrecincts) {\n var precinctsSizes = [];\n\n while (j < length + position) {\n var precinctsSize = data[j++];\n precinctsSizes.push({\n PPx: precinctsSize & 0xF,\n PPy: precinctsSize >> 4\n });\n }\n\n cod.precinctsSizes = precinctsSizes;\n }\n\n var unsupported = [];\n\n if (cod.selectiveArithmeticCodingBypass) {\n unsupported.push('selectiveArithmeticCodingBypass');\n }\n\n if (cod.resetContextProbabilities) {\n unsupported.push('resetContextProbabilities');\n }\n\n if (cod.terminationOnEachCodingPass) {\n unsupported.push('terminationOnEachCodingPass');\n }\n\n if (cod.verticallyStripe) {\n unsupported.push('verticallyStripe');\n }\n\n if (cod.predictableTermination) {\n unsupported.push('predictableTermination');\n }\n\n if (unsupported.length > 0) {\n doNotRecover = true;\n throw new Error('Unsupported COD options (' + unsupported.join(', ') + ')');\n }\n\n if (context.mainHeader) {\n context.COD = cod;\n } else {\n context.currentTile.COD = cod;\n context.currentTile.COC = [];\n }\n\n break;\n\n case 0xFF90:\n length = (0, _util.readUint16)(data, position);\n tile = {};\n tile.index = (0, _util.readUint16)(data, position + 2);\n tile.length = (0, _util.readUint32)(data, position + 4);\n tile.dataEnd = tile.length + position - 2;\n tile.partIndex = data[position + 8];\n tile.partsCount = data[position + 9];\n context.mainHeader = false;\n\n if (tile.partIndex === 0) {\n tile.COD = context.COD;\n tile.COC = context.COC.slice(0);\n tile.QCD = context.QCD;\n tile.QCC = context.QCC.slice(0);\n }\n\n context.currentTile = tile;\n break;\n\n case 0xFF93:\n tile = context.currentTile;\n\n if (tile.partIndex === 0) {\n initializeTile(context, tile.index);\n buildPackets(context);\n }\n\n length = tile.dataEnd - position;\n parseTilePackets(context, data, position, length);\n break;\n\n case 0xFF55:\n case 0xFF57:\n case 0xFF58:\n case 0xFF64:\n length = (0, _util.readUint16)(data, position);\n break;\n\n case 0xFF53:\n throw new Error('Codestream code 0xFF53 (COC) is ' + 'not implemented');\n\n default:\n throw new Error('Unknown codestream code: ' + code.toString(16));\n }\n\n position += length;\n }\n } catch (e) {\n if (doNotRecover || this.failOnCorruptedImage) {\n throw new JpxError(e.message);\n } else {\n (0, _util.warn)('JPX: Trying to recover from: ' + e.message);\n }\n }\n\n this.tiles = transformComponents(context);\n this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n this.componentsCount = context.SIZ.Csiz;\n }\n };\n\n function calculateComponentDimensions(component, siz) {\n component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n component.width = component.x1 - component.x0;\n component.height = component.y1 - component.y0;\n }\n\n function calculateTileGrids(context, components) {\n var siz = context.SIZ;\n var tile,\n tiles = [];\n var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n\n for (var q = 0; q < numYtiles; q++) {\n for (var p = 0; p < numXtiles; p++) {\n tile = {};\n tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n tile.width = tile.tx1 - tile.tx0;\n tile.height = tile.ty1 - tile.ty0;\n tile.components = [];\n tiles.push(tile);\n }\n }\n\n context.tiles = tiles;\n var componentsCount = siz.Csiz;\n\n for (var i = 0, ii = componentsCount; i < ii; i++) {\n var component = components[i];\n\n for (var j = 0, jj = tiles.length; j < jj; j++) {\n var tileComponent = {};\n tile = tiles[j];\n tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n tile.components[i] = tileComponent;\n }\n }\n }\n\n function getBlocksDimensions(context, component, r) {\n var codOrCoc = component.codingStyleParameters;\n var result = {};\n\n if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n result.PPx = 15;\n result.PPy = 15;\n } else {\n result.PPx = codOrCoc.precinctsSizes[r].PPx;\n result.PPy = codOrCoc.precinctsSizes[r].PPy;\n }\n\n result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);\n result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);\n return result;\n }\n\n function buildPrecincts(context, resolution, dimensions) {\n var precinctWidth = 1 << dimensions.PPx;\n var precinctHeight = 1 << dimensions.PPy;\n var isZeroRes = resolution.resLevel === 0;\n var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);\n var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);\n var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;\n var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;\n var numprecincts = numprecinctswide * numprecinctshigh;\n resolution.precinctParameters = {\n precinctWidth: precinctWidth,\n precinctHeight: precinctHeight,\n numprecinctswide: numprecinctswide,\n numprecinctshigh: numprecinctshigh,\n numprecincts: numprecincts,\n precinctWidthInSubband: precinctWidthInSubband,\n precinctHeightInSubband: precinctHeightInSubband\n };\n }\n\n function buildCodeblocks(context, subband, dimensions) {\n var xcb_ = dimensions.xcb_;\n var ycb_ = dimensions.ycb_;\n var codeblockWidth = 1 << xcb_;\n var codeblockHeight = 1 << ycb_;\n var cbx0 = subband.tbx0 >> xcb_;\n var cby0 = subband.tby0 >> ycb_;\n var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;\n var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;\n var precinctParameters = subband.resolution.precinctParameters;\n var codeblocks = [];\n var precincts = [];\n var i, j, codeblock, precinctNumber;\n\n for (j = cby0; j < cby1; j++) {\n for (i = cbx0; i < cbx1; i++) {\n codeblock = {\n cbx: i,\n cby: j,\n tbx0: codeblockWidth * i,\n tby0: codeblockHeight * j,\n tbx1: codeblockWidth * (i + 1),\n tby1: codeblockHeight * (j + 1)\n };\n codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);\n var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);\n precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n codeblock.precinctNumber = precinctNumber;\n codeblock.subbandType = subband.type;\n codeblock.Lblock = 3;\n\n if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {\n continue;\n }\n\n codeblocks.push(codeblock);\n var precinct = precincts[precinctNumber];\n\n if (precinct !== undefined) {\n if (i < precinct.cbxMin) {\n precinct.cbxMin = i;\n } else if (i > precinct.cbxMax) {\n precinct.cbxMax = i;\n }\n\n if (j < precinct.cbyMin) {\n precinct.cbxMin = j;\n } else if (j > precinct.cbyMax) {\n precinct.cbyMax = j;\n }\n } else {\n precincts[precinctNumber] = precinct = {\n cbxMin: i,\n cbyMin: j,\n cbxMax: i,\n cbyMax: j\n };\n }\n\n codeblock.precinct = precinct;\n }\n }\n\n subband.codeblockParameters = {\n codeblockWidth: xcb_,\n codeblockHeight: ycb_,\n numcodeblockwide: cbx1 - cbx0 + 1,\n numcodeblockhigh: cby1 - cby0 + 1\n };\n subband.codeblocks = codeblocks;\n subband.precincts = precincts;\n }\n\n function createPacket(resolution, precinctNumber, layerNumber) {\n var precinctCodeblocks = [];\n var subbands = resolution.subbands;\n\n for (var i = 0, ii = subbands.length; i < ii; i++) {\n var subband = subbands[i];\n var codeblocks = subband.codeblocks;\n\n for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n var codeblock = codeblocks[j];\n\n if (codeblock.precinctNumber !== precinctNumber) {\n continue;\n }\n\n precinctCodeblocks.push(codeblock);\n }\n }\n\n return {\n layerNumber: layerNumber,\n codeblocks: precinctCodeblocks\n };\n }\n\n function LayerResolutionComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var l = 0,\n r = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; l < layersCount; l++) {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n r = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function ResolutionLayerComponentPositionIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var maxDecompositionLevelsCount = 0;\n\n for (var q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n }\n\n var r = 0,\n l = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; l < layersCount; l++) {\n for (; i < componentsCount; i++) {\n var component = tile.components[i];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n for (; k < numprecincts;) {\n var packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n\n k = 0;\n }\n\n i = 0;\n }\n\n l = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function ResolutionPositionComponentLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var l, r, c, p;\n var maxDecompositionLevelsCount = 0;\n\n for (c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);\n }\n\n var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);\n\n for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n var maxNumPrecincts = 0;\n\n for (c = 0; c < componentsCount; ++c) {\n var resolutions = tile.components[c].resolutions;\n\n if (r < resolutions.length) {\n maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);\n }\n }\n\n maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n }\n\n l = 0;\n r = 0;\n c = 0;\n p = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; p < maxNumPrecinctsInLevel[r]; p++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n var resolution = component.resolutions[r];\n var numprecincts = resolution.precinctParameters.numprecincts;\n\n if (p >= numprecincts) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, p, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n c = 0;\n }\n\n p = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function PositionComponentResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var precinctsIterationSizes = precinctsSizes;\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsSizes.components[c].resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n c = 0;\n }\n\n px = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function ComponentPositionResolutionLayerIterator(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var layersCount = tile.codingStyleDefaultParameters.layersCount;\n var componentsCount = siz.Csiz;\n var precinctsSizes = getPrecinctSizesInImageScale(tile);\n var l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n for (; c < componentsCount; ++c) {\n var component = tile.components[c];\n var precinctsIterationSizes = precinctsSizes.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; r <= decompositionLevelsCount; r++) {\n var resolution = component.resolutions[r];\n var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n if (k === null) {\n continue;\n }\n\n for (; l < layersCount;) {\n var packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n\n l = 0;\n }\n\n r = 0;\n }\n\n px = 0;\n }\n\n py = 0;\n }\n\n throw new JpxError('Out of packets');\n };\n }\n\n function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n var posX = pxIndex * precinctIterationSizes.minWidth;\n var posY = pyIndex * precinctIterationSizes.minHeight;\n\n if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {\n return null;\n }\n\n var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;\n return posX / sizeInImageScale.height + startPrecinctRowIndex;\n }\n\n function getPrecinctSizesInImageScale(tile) {\n var componentsCount = tile.components.length;\n var minWidth = Number.MAX_VALUE;\n var minHeight = Number.MAX_VALUE;\n var maxNumWide = 0;\n var maxNumHigh = 0;\n var sizePerComponent = new Array(componentsCount);\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var sizePerResolution = new Array(decompositionLevelsCount + 1);\n var minWidthCurrentComponent = Number.MAX_VALUE;\n var minHeightCurrentComponent = Number.MAX_VALUE;\n var maxNumWideCurrentComponent = 0;\n var maxNumHighCurrentComponent = 0;\n var scale = 1;\n\n for (var r = decompositionLevelsCount; r >= 0; --r) {\n var resolution = component.resolutions[r];\n var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;\n var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;\n minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);\n minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);\n maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);\n maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);\n sizePerResolution[r] = {\n width: widthCurrentResolution,\n height: heightCurrentResolution\n };\n scale <<= 1;\n }\n\n minWidth = Math.min(minWidth, minWidthCurrentComponent);\n minHeight = Math.min(minHeight, minHeightCurrentComponent);\n maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n sizePerComponent[c] = {\n resolutions: sizePerResolution,\n minWidth: minWidthCurrentComponent,\n minHeight: minHeightCurrentComponent,\n maxNumWide: maxNumWideCurrentComponent,\n maxNumHigh: maxNumHighCurrentComponent\n };\n }\n\n return {\n components: sizePerComponent,\n minWidth: minWidth,\n minHeight: minHeight,\n maxNumWide: maxNumWide,\n maxNumHigh: maxNumHigh\n };\n }\n\n function buildPackets(context) {\n var siz = context.SIZ;\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var componentsCount = siz.Csiz;\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n var resolutions = [];\n var subbands = [];\n\n for (var r = 0; r <= decompositionLevelsCount; r++) {\n var blocksDimensions = getBlocksDimensions(context, component, r);\n var resolution = {};\n var scale = 1 << decompositionLevelsCount - r;\n resolution.trx0 = Math.ceil(component.tcx0 / scale);\n resolution.try0 = Math.ceil(component.tcy0 / scale);\n resolution.trx1 = Math.ceil(component.tcx1 / scale);\n resolution.try1 = Math.ceil(component.tcy1 / scale);\n resolution.resLevel = r;\n buildPrecincts(context, resolution, blocksDimensions);\n resolutions.push(resolution);\n var subband;\n\n if (r === 0) {\n subband = {};\n subband.type = 'LL';\n subband.tbx0 = Math.ceil(component.tcx0 / scale);\n subband.tby0 = Math.ceil(component.tcy0 / scale);\n subband.tbx1 = Math.ceil(component.tcx1 / scale);\n subband.tby1 = Math.ceil(component.tcy1 / scale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolution.subbands = [subband];\n } else {\n var bscale = 1 << decompositionLevelsCount - r + 1;\n var resolutionSubbands = [];\n subband = {};\n subband.type = 'HL';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = 'LH';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n subband = {};\n subband.type = 'HH';\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n resolution.subbands = resolutionSubbands;\n }\n }\n\n component.resolutions = resolutions;\n component.subbands = subbands;\n }\n\n var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n\n switch (progressionOrder) {\n case 0:\n tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);\n break;\n\n case 1:\n tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);\n break;\n\n case 2:\n tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);\n break;\n\n case 3:\n tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);\n break;\n\n case 4:\n tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);\n break;\n\n default:\n throw new JpxError(\"Unsupported progression order \".concat(progressionOrder));\n }\n }\n\n function parseTilePackets(context, data, offset, dataLength) {\n var position = 0;\n var buffer,\n bufferSize = 0,\n skipNextBit = false;\n\n function readBits(count) {\n while (bufferSize < count) {\n var b = data[offset + position];\n position++;\n\n if (skipNextBit) {\n buffer = buffer << 7 | b;\n bufferSize += 7;\n skipNextBit = false;\n } else {\n buffer = buffer << 8 | b;\n bufferSize += 8;\n }\n\n if (b === 0xFF) {\n skipNextBit = true;\n }\n }\n\n bufferSize -= count;\n return buffer >>> bufferSize & (1 << count) - 1;\n }\n\n function skipMarkerIfEqual(value) {\n if (data[offset + position - 1] === 0xFF && data[offset + position] === value) {\n skipBytes(1);\n return true;\n } else if (data[offset + position] === 0xFF && data[offset + position + 1] === value) {\n skipBytes(2);\n return true;\n }\n\n return false;\n }\n\n function skipBytes(count) {\n position += count;\n }\n\n function alignToByte() {\n bufferSize = 0;\n\n if (skipNextBit) {\n position++;\n skipNextBit = false;\n }\n }\n\n function readCodingpasses() {\n if (readBits(1) === 0) {\n return 1;\n }\n\n if (readBits(1) === 0) {\n return 2;\n }\n\n var value = readBits(2);\n\n if (value < 3) {\n return value + 3;\n }\n\n value = readBits(5);\n\n if (value < 31) {\n return value + 6;\n }\n\n value = readBits(7);\n return value + 37;\n }\n\n var tileIndex = context.currentTile.index;\n var tile = context.tiles[tileIndex];\n var sopMarkerUsed = context.COD.sopMarkerUsed;\n var ephMarkerUsed = context.COD.ephMarkerUsed;\n var packetsIterator = tile.packetsIterator;\n\n while (position < dataLength) {\n alignToByte();\n\n if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n skipBytes(4);\n }\n\n var packet = packetsIterator.nextPacket();\n\n if (!readBits(1)) {\n continue;\n }\n\n var layerNumber = packet.layerNumber;\n var queue = [],\n codeblock;\n\n for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n codeblock = packet.codeblocks[i];\n var precinct = codeblock.precinct;\n var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n var codeblockRow = codeblock.cby - precinct.cbyMin;\n var codeblockIncluded = false;\n var firstTimeInclusion = false;\n var valueReady;\n\n if (codeblock['included'] !== undefined) {\n codeblockIncluded = !!readBits(1);\n } else {\n precinct = codeblock.precinct;\n var inclusionTree, zeroBitPlanesTree;\n\n if (precinct['inclusionTree'] !== undefined) {\n inclusionTree = precinct.inclusionTree;\n } else {\n var width = precinct.cbxMax - precinct.cbxMin + 1;\n var height = precinct.cbyMax - precinct.cbyMin + 1;\n inclusionTree = new InclusionTree(width, height, layerNumber);\n zeroBitPlanesTree = new TagTree(width, height);\n precinct.inclusionTree = inclusionTree;\n precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n }\n\n if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n while (true) {\n if (readBits(1)) {\n valueReady = !inclusionTree.nextLevel();\n\n if (valueReady) {\n codeblock.included = true;\n codeblockIncluded = firstTimeInclusion = true;\n break;\n }\n } else {\n inclusionTree.incrementValue(layerNumber);\n break;\n }\n }\n }\n }\n\n if (!codeblockIncluded) {\n continue;\n }\n\n if (firstTimeInclusion) {\n zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n\n while (true) {\n if (readBits(1)) {\n valueReady = !zeroBitPlanesTree.nextLevel();\n\n if (valueReady) {\n break;\n }\n } else {\n zeroBitPlanesTree.incrementValue();\n }\n }\n\n codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n }\n\n var codingpasses = readCodingpasses();\n\n while (readBits(1)) {\n codeblock.Lblock++;\n }\n\n var codingpassesLog2 = (0, _util.log2)(codingpasses);\n var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n var codedDataLength = readBits(bits);\n queue.push({\n codeblock: codeblock,\n codingpasses: codingpasses,\n dataLength: codedDataLength\n });\n }\n\n alignToByte();\n\n if (ephMarkerUsed) {\n skipMarkerIfEqual(0x92);\n }\n\n while (queue.length > 0) {\n var packetItem = queue.shift();\n codeblock = packetItem.codeblock;\n\n if (codeblock['data'] === undefined) {\n codeblock.data = [];\n }\n\n codeblock.data.push({\n data: data,\n start: offset + position,\n end: offset + position + packetItem.dataLength,\n codingpasses: packetItem.codingpasses\n });\n position += packetItem.dataLength;\n }\n }\n\n return position;\n }\n\n function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) {\n var x0 = subband.tbx0;\n var y0 = subband.tby0;\n var width = subband.tbx1 - subband.tbx0;\n var codeblocks = subband.codeblocks;\n var right = subband.type.charAt(0) === 'H' ? 1 : 0;\n var bottom = subband.type.charAt(1) === 'H' ? levelWidth : 0;\n\n for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n var codeblock = codeblocks[i];\n var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n\n if (blockWidth === 0 || blockHeight === 0) {\n continue;\n }\n\n if (codeblock['data'] === undefined) {\n continue;\n }\n\n var bitModel, currentCodingpassType;\n bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);\n currentCodingpassType = 2;\n var data = codeblock.data,\n totalLength = 0,\n codingpasses = 0;\n var j, jj, dataItem;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n totalLength += dataItem.end - dataItem.start;\n codingpasses += dataItem.codingpasses;\n }\n\n var encodedData = new Uint8Array(totalLength);\n var position = 0;\n\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n encodedData.set(chunk, position);\n position += chunk.length;\n }\n\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);\n bitModel.setDecoder(decoder);\n\n for (j = 0; j < codingpasses; j++) {\n switch (currentCodingpassType) {\n case 0:\n bitModel.runSignificancePropagationPass();\n break;\n\n case 1:\n bitModel.runMagnitudeRefinementPass();\n break;\n\n case 2:\n bitModel.runCleanupPass();\n\n if (segmentationSymbolUsed) {\n bitModel.checkSegmentationSymbol();\n }\n\n break;\n }\n\n currentCodingpassType = (currentCodingpassType + 1) % 3;\n }\n\n var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n var sign = bitModel.coefficentsSign;\n var magnitude = bitModel.coefficentsMagnitude;\n var bitsDecoded = bitModel.bitsDecoded;\n var magnitudeCorrection = reversible ? 0 : 0.5;\n var k, n, nb;\n position = 0;\n var interleave = subband.type !== 'LL';\n\n for (j = 0; j < blockHeight; j++) {\n var row = offset / width | 0;\n var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n\n for (k = 0; k < blockWidth; k++) {\n n = magnitude[position];\n\n if (n !== 0) {\n n = (n + magnitudeCorrection) * delta;\n\n if (sign[position] !== 0) {\n n = -n;\n }\n\n nb = bitsDecoded[position];\n var pos = interleave ? levelOffset + (offset << 1) : offset;\n\n if (reversible && nb >= mb) {\n coefficients[pos] = n;\n } else {\n coefficients[pos] = n * (1 << mb - nb);\n }\n }\n\n offset++;\n position++;\n }\n\n offset += width - blockWidth;\n }\n }\n }\n\n function transformTile(context, tile, c) {\n var component = tile.components[c];\n var codingStyleParameters = component.codingStyleParameters;\n var quantizationParameters = component.quantizationParameters;\n var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;\n var spqcds = quantizationParameters.SPqcds;\n var scalarExpounded = quantizationParameters.scalarExpounded;\n var guardBits = quantizationParameters.guardBits;\n var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n var precision = context.components[c].precision;\n var reversible = codingStyleParameters.reversibleTransformation;\n var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();\n var subbandCoefficients = [];\n var b = 0;\n\n for (var i = 0; i <= decompositionLevelsCount; i++) {\n var resolution = component.resolutions[i];\n var width = resolution.trx1 - resolution.trx0;\n var height = resolution.try1 - resolution.try0;\n var coefficients = new Float32Array(width * height);\n\n for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n var mu, epsilon;\n\n if (!scalarExpounded) {\n mu = spqcds[0].mu;\n epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n } else {\n mu = spqcds[b].mu;\n epsilon = spqcds[b].epsilon;\n b++;\n }\n\n var subband = resolution.subbands[j];\n var gainLog2 = SubbandsGainLog2[subband.type];\n var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048);\n var mb = guardBits + epsilon - 1;\n copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed);\n }\n\n subbandCoefficients.push({\n width: width,\n height: height,\n items: coefficients\n });\n }\n\n var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);\n return {\n left: component.tcx0,\n top: component.tcy0,\n width: result.width,\n height: result.height,\n items: result.items\n };\n }\n\n function transformComponents(context) {\n var siz = context.SIZ;\n var components = context.components;\n var componentsCount = siz.Csiz;\n var resultImages = [];\n\n for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n var tile = context.tiles[i];\n var transformedTiles = [];\n var c;\n\n for (c = 0; c < componentsCount; c++) {\n transformedTiles[c] = transformTile(context, tile, c);\n }\n\n var tile0 = transformedTiles[0];\n var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n var result = {\n left: tile0.left,\n top: tile0.top,\n width: tile0.width,\n height: tile0.height,\n items: out\n };\n var shift, offset;\n var pos = 0,\n j,\n jj,\n y0,\n y1,\n y2;\n\n if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n var fourComponents = componentsCount === 4;\n var y0items = transformedTiles[0].items;\n var y1items = transformedTiles[1].items;\n var y2items = transformedTiles[2].items;\n var y3items = fourComponents ? transformedTiles[3].items : null;\n shift = components[0].precision - 8;\n offset = (128 << shift) + 0.5;\n var component0 = tile.components[0];\n var alpha01 = componentsCount - 3;\n jj = y0items.length;\n\n if (!component0.codingStyleParameters.reversibleTransformation) {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n out[pos++] = y0 + 1.402 * y2 >> shift;\n out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;\n out[pos++] = y0 + 1.772 * y1 >> shift;\n }\n } else {\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n var g = y0 - (y2 + y1 >> 2);\n out[pos++] = g + y2 >> shift;\n out[pos++] = g >> shift;\n out[pos++] = g + y1 >> shift;\n }\n }\n\n if (fourComponents) {\n for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n out[pos] = y3items[j] + offset >> shift;\n }\n }\n } else {\n for (c = 0; c < componentsCount; c++) {\n var items = transformedTiles[c].items;\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n out[pos] = items[j] + offset >> shift;\n pos += componentsCount;\n }\n }\n }\n\n resultImages.push(result);\n }\n\n return resultImages;\n }\n\n function initializeTile(context, tileIndex) {\n var siz = context.SIZ;\n var componentsCount = siz.Csiz;\n var tile = context.tiles[tileIndex];\n\n for (var c = 0; c < componentsCount; c++) {\n var component = tile.components[c];\n var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;\n component.quantizationParameters = qcdOrQcc;\n var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;\n component.codingStyleParameters = codOrCoc;\n }\n\n tile.codingStyleDefaultParameters = context.currentTile.COD;\n }\n\n var TagTree = function TagTreeClosure() {\n function TagTree(width, height) {\n var levelsLength = (0, _util.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var level = {\n width: width,\n height: height,\n items: []\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n TagTree.prototype = {\n reset: function TagTree_reset(i, j) {\n var currentLevel = 0,\n value = 0,\n level;\n\n while (currentLevel < this.levels.length) {\n level = this.levels[currentLevel];\n var index = i + j * level.width;\n\n if (level.items[index] !== undefined) {\n value = level.items[index];\n break;\n }\n\n level.index = index;\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n currentLevel--;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n this.currentLevel = currentLevel;\n delete this.value;\n },\n incrementValue: function TagTree_incrementValue() {\n var level = this.levels[this.currentLevel];\n level.items[level.index]++;\n },\n nextLevel: function TagTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n currentLevel--;\n\n if (currentLevel < 0) {\n this.value = value;\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return TagTree;\n }();\n\n var InclusionTree = function InclusionTreeClosure() {\n function InclusionTree(width, height, defaultValue) {\n var levelsLength = (0, _util.log2)(Math.max(width, height)) + 1;\n this.levels = [];\n\n for (var i = 0; i < levelsLength; i++) {\n var items = new Uint8Array(width * height);\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n items[j] = defaultValue;\n }\n\n var level = {\n width: width,\n height: height,\n items: items\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n InclusionTree.prototype = {\n reset: function InclusionTree_reset(i, j, stopValue) {\n var currentLevel = 0;\n\n while (currentLevel < this.levels.length) {\n var level = this.levels[currentLevel];\n var index = i + j * level.width;\n level.index = index;\n var value = level.items[index];\n\n if (value === 0xFF) {\n break;\n }\n\n if (value > stopValue) {\n this.currentLevel = currentLevel;\n this.propagateValues();\n return false;\n }\n\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n\n this.currentLevel = currentLevel - 1;\n return true;\n },\n incrementValue: function InclusionTree_incrementValue(stopValue) {\n var level = this.levels[this.currentLevel];\n level.items[level.index] = stopValue + 1;\n this.propagateValues();\n },\n propagateValues: function InclusionTree_propagateValues() {\n var levelIndex = this.currentLevel;\n var level = this.levels[levelIndex];\n var currentValue = level.items[level.index];\n\n while (--levelIndex >= 0) {\n level = this.levels[levelIndex];\n level.items[level.index] = currentValue;\n }\n },\n nextLevel: function InclusionTree_nextLevel() {\n var currentLevel = this.currentLevel;\n var level = this.levels[currentLevel];\n var value = level.items[level.index];\n level.items[level.index] = 0xFF;\n currentLevel--;\n\n if (currentLevel < 0) {\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n };\n return InclusionTree;\n }();\n\n var BitModel = function BitModelClosure() {\n var UNIFORM_CONTEXT = 17;\n var RUNLENGTH_CONTEXT = 18;\n var LLAndLHContextsLabel = 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]);\n var HLContextLabel = 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]);\n var HHContextLabel = 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]);\n\n function BitModel(width, height, subband, zeroBitPlanes, mb) {\n this.width = width;\n this.height = height;\n this.contextLabelTable = subband === 'HH' ? HHContextLabel : subband === 'HL' ? HLContextLabel : LLAndLHContextsLabel;\n var coefficientCount = width * height;\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n this.coefficentsMagnitude = mb > 14 ? new Uint32Array(coefficientCount) : mb > 6 ? new Uint16Array(coefficientCount) : new Uint8Array(coefficientCount);\n this.processingFlags = new Uint8Array(coefficientCount);\n var bitsDecoded = new Uint8Array(coefficientCount);\n\n if (zeroBitPlanes !== 0) {\n for (var i = 0; i < coefficientCount; i++) {\n bitsDecoded[i] = zeroBitPlanes;\n }\n }\n\n this.bitsDecoded = bitsDecoded;\n this.reset();\n }\n\n BitModel.prototype = {\n setDecoder: function BitModel_setDecoder(decoder) {\n this.decoder = decoder;\n },\n reset: function BitModel_reset() {\n this.contexts = new Int8Array(19);\n this.contexts[0] = 4 << 1 | 0;\n this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0;\n this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0;\n },\n setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) {\n var neighborsSignificance = this.neighborsSignificance;\n var width = this.width,\n height = this.height;\n var left = column > 0;\n var right = column + 1 < width;\n var i;\n\n if (row > 0) {\n i = index - width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (row + 1 < height) {\n i = index + width;\n\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n\n neighborsSignificance[i] += 0x04;\n }\n\n if (left) {\n neighborsSignificance[index - 1] += 0x01;\n }\n\n if (right) {\n neighborsSignificance[index + 1] += 0x01;\n }\n\n neighborsSignificance[index] |= 0x80;\n },\n runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var neighborsSignificance = this.neighborsSignificance;\n var processingFlags = this.processingFlags;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processedInverseMask = ~1;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n\n for (var i0 = 0; i0 < height; i0 += 4) {\n for (var j = 0; j < width; j++) {\n var index = i0 * width + j;\n\n for (var i1 = 0; i1 < 4; i1++, index += width) {\n var i = i0 + i1;\n\n if (i >= height) {\n break;\n }\n\n processingFlags[index] &= processedInverseMask;\n\n if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision) {\n var sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contribution, sign0, sign1, significance1;\n var contextLabel, decoded;\n significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n\n if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n sign1 = coefficentsSign[index + 1];\n\n if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign1 - sign0;\n } else {\n contribution = 1 - sign1 - sign1;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign0 - sign0;\n } else {\n contribution = 0;\n }\n\n var horizontalContribution = 3 * contribution;\n significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n\n if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n sign1 = coefficentsSign[index + width];\n\n if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign1 - sign0 + horizontalContribution;\n } else {\n contribution = 1 - sign1 - sign1 + horizontalContribution;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign0 - sign0 + horizontalContribution;\n } else {\n contribution = horizontalContribution;\n }\n\n if (contribution >= 0) {\n contextLabel = 9 + contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel);\n } else {\n contextLabel = 9 - contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n }\n\n return decoded;\n },\n runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var neighborsSignificance = this.neighborsSignificance;\n var contexts = this.contexts;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var length = width * height;\n var width4 = width * 4;\n\n for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n indexNext = Math.min(length, index0 + width4);\n\n for (var j = 0; j < width; j++) {\n for (var index = index0 + j; index < indexNext; index += width) {\n if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = 16;\n\n if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n processingFlags[index] ^= firstMagnitudeBitMask;\n var significance = neighborsSignificance[index] & 127;\n contextLabel = significance === 0 ? 15 : 14;\n }\n\n var bit = decoder.readBit(contexts, contextLabel);\n coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n },\n runCleanupPass: function BitModel_runCleanupPass() {\n var decoder = this.decoder;\n var width = this.width,\n height = this.height;\n var neighborsSignificance = this.neighborsSignificance;\n var coefficentsMagnitude = this.coefficentsMagnitude;\n var coefficentsSign = this.coefficentsSign;\n var contexts = this.contexts;\n var labels = this.contextLabelTable;\n var bitsDecoded = this.bitsDecoded;\n var processingFlags = this.processingFlags;\n var processedMask = 1;\n var firstMagnitudeBitMask = 2;\n var oneRowDown = width;\n var twoRowsDown = width * 2;\n var threeRowsDown = width * 3;\n var iNext;\n\n for (var i0 = 0; i0 < height; i0 = iNext) {\n iNext = Math.min(i0 + 4, height);\n var indexBase = i0 * width;\n var checkAllEmpty = i0 + 3 < height;\n\n for (var j = 0; j < width; j++) {\n var index0 = indexBase + j;\n var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;\n var i1 = 0,\n index = index0;\n var i = i0,\n sign;\n\n if (allEmpty) {\n var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT);\n\n if (!hasSignificantCoefficent) {\n bitsDecoded[index0]++;\n bitsDecoded[index0 + oneRowDown]++;\n bitsDecoded[index0 + twoRowsDown]++;\n bitsDecoded[index0 + threeRowsDown]++;\n continue;\n }\n\n i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (i1 !== 0) {\n i = i0 + i1;\n index += i1 * width;\n }\n\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n index = index0;\n\n for (var i2 = i0; i2 <= i; i2++, index += width) {\n bitsDecoded[index]++;\n }\n\n i1++;\n }\n\n for (i = i0 + i1; i < iNext; i++, index += width) {\n if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n continue;\n }\n\n var contextLabel = labels[neighborsSignificance[index]];\n var decision = decoder.readBit(contexts, contextLabel);\n\n if (decision === 1) {\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n\n bitsDecoded[index]++;\n }\n }\n }\n },\n checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n var decoder = this.decoder;\n var contexts = this.contexts;\n var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n if (symbol !== 0xA) {\n throw new JpxError('Invalid segmentation symbol');\n }\n }\n };\n return BitModel;\n }();\n\n var Transform = function TransformClosure() {\n function Transform() {}\n\n Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) {\n var ll = subbands[0];\n\n for (var i = 1, ii = subbands.length; i < ii; i++) {\n ll = this.iterate(ll, subbands[i], u0, v0);\n }\n\n return ll;\n };\n\n Transform.prototype.extend = function extend(buffer, offset, size) {\n var i1 = offset - 1,\n j1 = offset + 1;\n var i2 = offset + size - 2,\n j2 = offset + size;\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1] = buffer[j1];\n buffer[j2] = buffer[i2];\n };\n\n Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) {\n var llWidth = ll.width,\n llHeight = ll.height,\n llItems = ll.items;\n var width = hl_lh_hh.width;\n var height = hl_lh_hh.height;\n var items = hl_lh_hh.items;\n var i, j, k, l, u, v;\n\n for (k = 0, i = 0; i < llHeight; i++) {\n l = i * 2 * width;\n\n for (j = 0; j < llWidth; j++, k++, l += 2) {\n items[l] = llItems[k];\n }\n }\n\n llItems = ll.items = null;\n var bufferPadding = 4;\n var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n if (width === 1) {\n if ((u0 & 1) !== 0) {\n for (v = 0, k = 0; v < height; v++, k += width) {\n items[k] *= 0.5;\n }\n }\n } else {\n for (v = 0, k = 0; v < height; v++, k += width) {\n rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n this.extend(rowBuffer, bufferPadding, width);\n this.filter(rowBuffer, bufferPadding, width);\n items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n }\n }\n\n var numBuffers = 16;\n var colBuffers = [];\n\n for (i = 0; i < numBuffers; i++) {\n colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n }\n\n var b,\n currentBuffer = 0;\n ll = bufferPadding + height;\n\n if (height === 1) {\n if ((v0 & 1) !== 0) {\n for (u = 0; u < width; u++) {\n items[u] *= 0.5;\n }\n }\n } else {\n for (u = 0; u < width; u++) {\n if (currentBuffer === 0) {\n numBuffers = Math.min(width - u, numBuffers);\n\n for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n colBuffers[b][l] = items[k + b];\n }\n }\n\n currentBuffer = numBuffers;\n }\n\n currentBuffer--;\n var buffer = colBuffers[currentBuffer];\n this.extend(buffer, bufferPadding, height);\n this.filter(buffer, bufferPadding, height);\n\n if (currentBuffer === 0) {\n k = u - numBuffers + 1;\n\n for (l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n items[k + b] = colBuffers[b][l];\n }\n }\n }\n }\n }\n\n return {\n width: width,\n height: height,\n items: items\n };\n };\n\n return Transform;\n }();\n\n var IrreversibleTransform = function IrreversibleTransformClosure() {\n function IrreversibleTransform() {\n Transform.call(this);\n }\n\n IrreversibleTransform.prototype = Object.create(Transform.prototype);\n\n IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n, current, next;\n var alpha = -1.586134342059924;\n var beta = -0.052980118572961;\n var gamma = 0.882911075530934;\n var delta = 0.443506852043971;\n var K = 1.230174104914001;\n var K_ = 1 / K;\n j = offset - 3;\n\n for (n = len + 4; n--; j += 2) {\n x[j] *= K_;\n }\n\n j = offset - 2;\n current = delta * x[j - 1];\n\n for (n = len + 3; n--; j += 2) {\n next = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n\n if (n--) {\n j += 2;\n current = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n } else {\n break;\n }\n }\n\n j = offset - 1;\n current = gamma * x[j - 1];\n\n for (n = len + 2; n--; j += 2) {\n next = gamma * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = gamma * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n j = offset;\n current = beta * x[j - 1];\n\n for (n = len + 1; n--; j += 2) {\n next = beta * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = beta * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n if (len !== 0) {\n j = offset + 1;\n current = alpha * x[j - 1];\n\n for (n = len; n--; j += 2) {\n next = alpha * x[j + 1];\n x[j] -= current + next;\n\n if (n--) {\n j += 2;\n current = alpha * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n }\n };\n\n return IrreversibleTransform;\n }();\n\n var ReversibleTransform = function ReversibleTransformClosure() {\n function ReversibleTransform() {\n Transform.call(this);\n }\n\n ReversibleTransform.prototype = Object.create(Transform.prototype);\n\n ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) {\n var len = length >> 1;\n offset = offset | 0;\n var j, n;\n\n for (j = offset, n = len + 1; n--; j += 2) {\n x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;\n }\n\n for (j = offset + 1, n = len; n--; j += 2) {\n x[j] += x[j - 1] + x[j + 1] >> 1;\n }\n };\n\n return ReversibleTransform;\n }();\n\n return JpxImage;\n}();\n\nexports.JpxImage = JpxImage;\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _stream = __w_pdfjs_require__(157);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ARCFourCipher = function ARCFourCipherClosure() {\n function ARCFourCipher(key) {\n this.a = 0;\n this.b = 0;\n var s = new Uint8Array(256);\n var i,\n j = 0,\n tmp,\n keyLength = key.length;\n\n for (i = 0; i < 256; ++i) {\n s[i] = i;\n }\n\n for (i = 0; i < 256; ++i) {\n tmp = s[i];\n j = j + tmp + key[i % keyLength] & 0xFF;\n s[i] = s[j];\n s[j] = tmp;\n }\n\n this.s = s;\n }\n\n ARCFourCipher.prototype = {\n encryptBlock: function ARCFourCipher_encryptBlock(data) {\n var i,\n n = data.length,\n tmp,\n tmp2;\n var a = this.a,\n b = this.b,\n s = this.s;\n var output = new Uint8Array(n);\n\n for (i = 0; i < n; ++i) {\n a = a + 1 & 0xFF;\n tmp = s[a];\n b = b + tmp & 0xFF;\n tmp2 = s[b];\n s[a] = tmp2;\n s[b] = tmp;\n output[i] = data[i] ^ s[tmp + tmp2 & 0xFF];\n }\n\n this.a = a;\n this.b = b;\n return output;\n }\n };\n ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n return ARCFourCipher;\n}();\n\nexports.ARCFourCipher = ARCFourCipher;\n\nvar calculateMD5 = function calculateMD5Closure() {\n var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n\n function hash(data, offset, length) {\n var h0 = 1732584193,\n h1 = -271733879,\n h2 = -1732584194,\n h3 = 271733878;\n var paddedLength = length + 72 & ~63;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = length << 3 & 0xFF;\n padded[i++] = length >> 5 & 0xFF;\n padded[i++] = length >> 13 & 0xFF;\n padded[i++] = length >> 21 & 0xFF;\n padded[i++] = length >>> 29 & 0xFF;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n var w = new Int32Array(16);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j, i += 4) {\n w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n f,\n g;\n\n for (j = 0; j < 64; ++j) {\n if (j < 16) {\n f = b & c | ~b & d;\n g = j;\n } else if (j < 32) {\n f = d & b | ~d & c;\n g = 5 * j + 1 & 15;\n } else if (j < 48) {\n f = b ^ c ^ d;\n g = 3 * j + 5 & 15;\n } else {\n f = c ^ (b | ~d);\n g = 7 * j & 15;\n }\n\n var tmp = d,\n rotateArg = a + f + k[j] + w[g] | 0,\n rotate = r[j];\n d = c;\n c = b;\n b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n a = tmp;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n }\n\n return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateMD5 = calculateMD5;\n\nvar Word64 = function Word64Closure() {\n function Word64(highInteger, lowInteger) {\n this.high = highInteger | 0;\n this.low = lowInteger | 0;\n }\n\n Word64.prototype = {\n and: function Word64_and(word) {\n this.high &= word.high;\n this.low &= word.low;\n },\n xor: function Word64_xor(word) {\n this.high ^= word.high;\n this.low ^= word.low;\n },\n or: function Word64_or(word) {\n this.high |= word.high;\n this.low |= word.low;\n },\n shiftRight: function Word64_shiftRight(places) {\n if (places >= 32) {\n this.low = this.high >>> places - 32 | 0;\n this.high = 0;\n } else {\n this.low = this.low >>> places | this.high << 32 - places;\n this.high = this.high >>> places | 0;\n }\n },\n shiftLeft: function Word64_shiftLeft(places) {\n if (places >= 32) {\n this.high = this.low << places - 32;\n this.low = 0;\n } else {\n this.high = this.high << places | this.low >>> 32 - places;\n this.low = this.low << places;\n }\n },\n rotateRight: function Word64_rotateRight(places) {\n var low, high;\n\n if (places & 32) {\n high = this.low;\n low = this.high;\n } else {\n low = this.low;\n high = this.high;\n }\n\n places &= 31;\n this.low = low >>> places | high << 32 - places;\n this.high = high >>> places | low << 32 - places;\n },\n not: function Word64_not() {\n this.high = ~this.high;\n this.low = ~this.low;\n },\n add: function Word64_add(word) {\n var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n var highAdd = (this.high >>> 0) + (word.high >>> 0);\n\n if (lowAdd > 0xFFFFFFFF) {\n highAdd += 1;\n }\n\n this.low = lowAdd | 0;\n this.high = highAdd | 0;\n },\n copyTo: function Word64_copyTo(bytes, offset) {\n bytes[offset] = this.high >>> 24 & 0xFF;\n bytes[offset + 1] = this.high >> 16 & 0xFF;\n bytes[offset + 2] = this.high >> 8 & 0xFF;\n bytes[offset + 3] = this.high & 0xFF;\n bytes[offset + 4] = this.low >>> 24 & 0xFF;\n bytes[offset + 5] = this.low >> 16 & 0xFF;\n bytes[offset + 6] = this.low >> 8 & 0xFF;\n bytes[offset + 7] = this.low & 0xFF;\n },\n assign: function Word64_assign(word) {\n this.high = word.high;\n this.low = word.low;\n }\n };\n return Word64;\n}();\n\nvar calculateSHA256 = function calculateSHA256Closure() {\n function rotr(x, n) {\n return x >>> n | x << 32 - n;\n }\n\n function ch(x, y, z) {\n return x & y ^ ~x & z;\n }\n\n function maj(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n\n function sigma(x) {\n return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n }\n\n function sigmaPrime(x) {\n return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n }\n\n function littleSigma(x) {\n return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n }\n\n function littleSigmaPrime(x) {\n return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n }\n\n var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n\n function hash(data, offset, length) {\n var h0 = 0x6a09e667,\n h1 = 0xbb67ae85,\n h2 = 0x3c6ef372,\n h3 = 0xa54ff53a,\n h4 = 0x510e527f,\n h5 = 0x9b05688c,\n h6 = 0x1f83d9ab,\n h7 = 0x5be0cd19;\n var paddedLength = Math.ceil((length + 9) / 64) * 64;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xFF;\n padded[i++] = length >> 21 & 0xFF;\n padded[i++] = length >> 13 & 0xFF;\n padded[i++] = length >> 5 & 0xFF;\n padded[i++] = length << 3 & 0xFF;\n var w = new Uint32Array(64);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n i += 4;\n }\n\n for (j = 16; j < 64; ++j) {\n w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n e = h4,\n f = h5,\n g = h6,\n h = h7,\n t1,\n t2;\n\n for (j = 0; j < 64; ++j) {\n t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n t2 = sigma(a) + maj(a, b, c);\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n h4 = h4 + e | 0;\n h5 = h5 + f | 0;\n h6 = h6 + g | 0;\n h7 = h7 + h | 0;\n }\n\n return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateSHA256 = calculateSHA256;\n\nvar calculateSHA512 = function calculateSHA512Closure() {\n function ch(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.not();\n tmp.and(z);\n result.xor(tmp);\n }\n\n function maj(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.and(z);\n result.xor(tmp);\n tmp.assign(y);\n tmp.and(z);\n result.xor(tmp);\n }\n\n function sigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(28);\n tmp.assign(x);\n tmp.rotateRight(34);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(39);\n result.xor(tmp);\n }\n\n function sigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(14);\n tmp.assign(x);\n tmp.rotateRight(18);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(41);\n result.xor(tmp);\n }\n\n function littleSigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(1);\n tmp.assign(x);\n tmp.rotateRight(8);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(7);\n result.xor(tmp);\n }\n\n function littleSigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(19);\n tmp.assign(x);\n tmp.rotateRight(61);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(6);\n result.xor(tmp);\n }\n\n var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n\n function hash(data, offset, length, mode384) {\n mode384 = !!mode384;\n var h0, h1, h2, h3, h4, h5, h6, h7;\n\n if (!mode384) {\n h0 = new Word64(0x6a09e667, 0xf3bcc908);\n h1 = new Word64(0xbb67ae85, 0x84caa73b);\n h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n h4 = new Word64(0x510e527f, 0xade682d1);\n h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n h7 = new Word64(0x5be0cd19, 0x137e2179);\n } else {\n h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n h1 = new Word64(0x629a292a, 0x367cd507);\n h2 = new Word64(0x9159015a, 0x3070dd17);\n h3 = new Word64(0x152fecd8, 0xf70e5939);\n h4 = new Word64(0x67332667, 0xffc00b31);\n h5 = new Word64(0x8eb44a87, 0x68581511);\n h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n }\n\n var paddedLength = Math.ceil((length + 17) / 128) * 128;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 16;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xFF;\n padded[i++] = length >> 21 & 0xFF;\n padded[i++] = length >> 13 & 0xFF;\n padded[i++] = length >> 5 & 0xFF;\n padded[i++] = length << 3 & 0xFF;\n var w = new Array(80);\n\n for (i = 0; i < 80; i++) {\n w[i] = new Word64(0, 0);\n }\n\n var a = new Word64(0, 0),\n b = new Word64(0, 0),\n c = new Word64(0, 0);\n var d = new Word64(0, 0),\n e = new Word64(0, 0),\n f = new Word64(0, 0);\n var g = new Word64(0, 0),\n h = new Word64(0, 0);\n var t1 = new Word64(0, 0),\n t2 = new Word64(0, 0);\n var tmp1 = new Word64(0, 0),\n tmp2 = new Word64(0, 0),\n tmp3;\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n i += 8;\n }\n\n for (j = 16; j < 80; ++j) {\n tmp3 = w[j];\n littleSigmaPrime(tmp3, w[j - 2], tmp2);\n tmp3.add(w[j - 7]);\n littleSigma(tmp1, w[j - 15], tmp2);\n tmp3.add(tmp1);\n tmp3.add(w[j - 16]);\n }\n\n a.assign(h0);\n b.assign(h1);\n c.assign(h2);\n d.assign(h3);\n e.assign(h4);\n f.assign(h5);\n g.assign(h6);\n h.assign(h7);\n\n for (j = 0; j < 80; ++j) {\n t1.assign(h);\n sigmaPrime(tmp1, e, tmp2);\n t1.add(tmp1);\n ch(tmp1, e, f, g, tmp2);\n t1.add(tmp1);\n t1.add(k[j]);\n t1.add(w[j]);\n sigma(t2, a, tmp2);\n maj(tmp1, a, b, c, tmp2);\n t2.add(tmp1);\n tmp3 = h;\n h = g;\n g = f;\n f = e;\n d.add(t1);\n e = d;\n d = c;\n c = b;\n b = a;\n tmp3.assign(t1);\n tmp3.add(t2);\n a = tmp3;\n }\n\n h0.add(a);\n h1.add(b);\n h2.add(c);\n h3.add(d);\n h4.add(e);\n h5.add(f);\n h6.add(g);\n h7.add(h);\n }\n\n var result;\n\n if (!mode384) {\n result = new Uint8Array(64);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n h6.copyTo(result, 48);\n h7.copyTo(result, 56);\n } else {\n result = new Uint8Array(48);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n }\n\n return result;\n }\n\n return hash;\n}();\n\nexports.calculateSHA512 = calculateSHA512;\n\nvar calculateSHA384 = function calculateSHA384Closure() {\n function hash(data, offset, length) {\n return calculateSHA512(data, offset, length, true);\n }\n\n return hash;\n}();\n\nexports.calculateSHA384 = calculateSHA384;\n\nvar NullCipher = function NullCipherClosure() {\n function NullCipher() {}\n\n NullCipher.prototype = {\n decryptBlock: function NullCipher_decryptBlock(data) {\n return data;\n }\n };\n return NullCipher;\n}();\n\nvar AESBaseCipher =\n/*#__PURE__*/\nfunction () {\n function AESBaseCipher() {\n _classCallCheck(this, AESBaseCipher);\n\n if (this.constructor === AESBaseCipher) {\n (0, _util.unreachable)('Cannot initialize AESBaseCipher.');\n }\n\n this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n this._mixCol = new Uint8Array(256);\n\n for (var i = 0; i < 256; i++) {\n if (i < 128) {\n this._mixCol[i] = i << 1;\n } else {\n this._mixCol[i] = i << 1 ^ 0x1b;\n }\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferPosition = 0;\n }\n\n _createClass(AESBaseCipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n (0, _util.unreachable)('Cannot call `_expandKey` on the base class');\n }\n }, {\n key: \"_decrypt\",\n value: function _decrypt(input, key) {\n var t, u, v;\n var state = new Uint8Array(16);\n state.set(input);\n\n for (var j = 0, k = this._keySize; j < 16; ++j, ++k) {\n state[j] ^= key[k];\n }\n\n for (var i = this._cyclesOfRepetition - 1; i >= 1; --i) {\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (var _j = 0; _j < 16; ++_j) {\n state[_j] = this._inv_s[state[_j]];\n }\n\n for (var _j2 = 0, _k = i * 16; _j2 < 16; ++_j2, ++_k) {\n state[_j2] ^= key[_k];\n }\n\n for (var _j3 = 0; _j3 < 16; _j3 += 4) {\n var s0 = this._mix[state[_j3]];\n var s1 = this._mix[state[_j3 + 1]];\n var s2 = this._mix[state[_j3 + 2]];\n var s3 = this._mix[state[_j3 + 3]];\n t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n state[_j3] = t >>> 24 & 0xFF;\n state[_j3 + 1] = t >> 16 & 0xFF;\n state[_j3 + 2] = t >> 8 & 0xFF;\n state[_j3 + 3] = t & 0xFF;\n }\n }\n\n t = state[13];\n state[13] = state[9];\n state[9] = state[5];\n state[5] = state[1];\n state[1] = t;\n t = state[14];\n u = state[10];\n state[14] = state[6];\n state[10] = state[2];\n state[6] = t;\n state[2] = u;\n t = state[15];\n u = state[11];\n v = state[7];\n state[15] = state[3];\n state[11] = t;\n state[7] = u;\n state[3] = v;\n\n for (var _j4 = 0; _j4 < 16; ++_j4) {\n state[_j4] = this._inv_s[state[_j4]];\n state[_j4] ^= key[_j4];\n }\n\n return state;\n }\n }, {\n key: \"_encrypt\",\n value: function _encrypt(input, key) {\n var s = this._s;\n var t, u, v;\n var state = new Uint8Array(16);\n state.set(input);\n\n for (var j = 0; j < 16; ++j) {\n state[j] ^= key[j];\n }\n\n for (var i = 1; i < this._cyclesOfRepetition; i++) {\n for (var _j5 = 0; _j5 < 16; ++_j5) {\n state[_j5] = s[state[_j5]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (var _j6 = 0; _j6 < 16; _j6 += 4) {\n var s0 = state[_j6 + 0];\n var s1 = state[_j6 + 1];\n var s2 = state[_j6 + 2];\n var s3 = state[_j6 + 3];\n t = s0 ^ s1 ^ s2 ^ s3;\n state[_j6 + 0] ^= t ^ this._mixCol[s0 ^ s1];\n state[_j6 + 1] ^= t ^ this._mixCol[s1 ^ s2];\n state[_j6 + 2] ^= t ^ this._mixCol[s2 ^ s3];\n state[_j6 + 3] ^= t ^ this._mixCol[s3 ^ s0];\n }\n\n for (var _j7 = 0, k = i * 16; _j7 < 16; ++_j7, ++k) {\n state[_j7] ^= key[k];\n }\n }\n\n for (var _j8 = 0; _j8 < 16; ++_j8) {\n state[_j8] = s[state[_j8]];\n }\n\n v = state[1];\n state[1] = state[5];\n state[5] = state[9];\n state[9] = state[13];\n state[13] = v;\n v = state[2];\n u = state[6];\n state[2] = state[10];\n state[6] = state[14];\n state[10] = v;\n state[14] = u;\n v = state[3];\n u = state[7];\n t = state[11];\n state[3] = state[15];\n state[7] = v;\n state[11] = u;\n state[15] = t;\n\n for (var _j9 = 0, _k2 = this._keySize; _j9 < 16; ++_j9, ++_k2) {\n state[_j9] ^= key[_k2];\n }\n\n return state;\n }\n }, {\n key: \"_decryptBlock2\",\n value: function _decryptBlock2(data, finalize) {\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n var result = [],\n iv = this.iv;\n\n for (var i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n var plain = this._decrypt(buffer, this._key);\n\n for (var j = 0; j < 16; ++j) {\n plain[j] ^= iv[j];\n }\n\n iv = buffer;\n result.push(plain);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n var outputLength = 16 * result.length;\n\n if (finalize) {\n var lastBlock = result[result.length - 1];\n var psLen = lastBlock[15];\n\n if (psLen <= 16) {\n for (var _i = 15, ii = 16 - psLen; _i >= ii; --_i) {\n if (lastBlock[_i] !== psLen) {\n psLen = 0;\n break;\n }\n }\n\n outputLength -= psLen;\n result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n }\n }\n\n var output = new Uint8Array(outputLength);\n\n for (var _i2 = 0, _j10 = 0, _ii = result.length; _i2 < _ii; ++_i2, _j10 += 16) {\n output.set(result[_i2], _j10);\n }\n\n return output;\n }\n }, {\n key: \"decryptBlock\",\n value: function decryptBlock(data, finalize) {\n var iv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n\n if (iv) {\n this.iv = iv;\n } else {\n for (var i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n buffer[bufferLength] = data[i];\n }\n\n if (bufferLength < 16) {\n this.bufferLength = bufferLength;\n return new Uint8Array(0);\n }\n\n this.iv = buffer;\n data = data.subarray(16);\n }\n\n this.buffer = new Uint8Array(16);\n this.bufferLength = 0;\n this.decryptBlock = this._decryptBlock2;\n return this.decryptBlock(data, finalize);\n }\n }, {\n key: \"encrypt\",\n value: function encrypt(data, iv) {\n var sourceLength = data.length;\n var buffer = this.buffer,\n bufferLength = this.bufferPosition;\n var result = [];\n\n if (!iv) {\n iv = new Uint8Array(16);\n }\n\n for (var i = 0; i < sourceLength; ++i) {\n buffer[bufferLength] = data[i];\n ++bufferLength;\n\n if (bufferLength < 16) {\n continue;\n }\n\n for (var j = 0; j < 16; ++j) {\n buffer[j] ^= iv[j];\n }\n\n var cipher = this._encrypt(buffer, this._key);\n\n iv = cipher;\n result.push(cipher);\n buffer = new Uint8Array(16);\n bufferLength = 0;\n }\n\n this.buffer = buffer;\n this.bufferLength = bufferLength;\n this.iv = iv;\n\n if (result.length === 0) {\n return new Uint8Array(0);\n }\n\n var outputLength = 16 * result.length;\n var output = new Uint8Array(outputLength);\n\n for (var _i3 = 0, _j11 = 0, ii = result.length; _i3 < ii; ++_i3, _j11 += 16) {\n output.set(result[_i3], _j11);\n }\n\n return output;\n }\n }]);\n\n return AESBaseCipher;\n}();\n\nvar AES128Cipher =\n/*#__PURE__*/\nfunction (_AESBaseCipher) {\n _inherits(AES128Cipher, _AESBaseCipher);\n\n function AES128Cipher(key) {\n var _this;\n\n _classCallCheck(this, AES128Cipher);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AES128Cipher).call(this));\n _this._cyclesOfRepetition = 10;\n _this._keySize = 160;\n _this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);\n _this._key = _this._expandKey(key);\n return _this;\n }\n\n _createClass(AES128Cipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n var b = 176;\n var s = this._s;\n var rcon = this._rcon;\n var result = new Uint8Array(b);\n result.set(cipherKey);\n\n for (var j = 16, i = 1; j < b; ++i) {\n var t1 = result[j - 3];\n var t2 = result[j - 2];\n var t3 = result[j - 1];\n var t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ rcon[i];\n\n for (var n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 16];\n j++;\n result[j] = t2 ^= result[j - 16];\n j++;\n result[j] = t3 ^= result[j - 16];\n j++;\n result[j] = t4 ^= result[j - 16];\n j++;\n }\n }\n\n return result;\n }\n }]);\n\n return AES128Cipher;\n}(AESBaseCipher);\n\nexports.AES128Cipher = AES128Cipher;\n\nvar AES256Cipher =\n/*#__PURE__*/\nfunction (_AESBaseCipher2) {\n _inherits(AES256Cipher, _AESBaseCipher2);\n\n function AES256Cipher(key) {\n var _this2;\n\n _classCallCheck(this, AES256Cipher);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(AES256Cipher).call(this));\n _this2._cyclesOfRepetition = 14;\n _this2._keySize = 224;\n _this2._key = _this2._expandKey(key);\n return _this2;\n }\n\n _createClass(AES256Cipher, [{\n key: \"_expandKey\",\n value: function _expandKey(cipherKey) {\n var b = 240;\n var s = this._s;\n var result = new Uint8Array(b);\n result.set(cipherKey);\n var r = 1;\n var t1, t2, t3, t4;\n\n for (var j = 32, i = 1; j < b; ++i) {\n if (j % 32 === 16) {\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n } else if (j % 32 === 0) {\n t1 = result[j - 3];\n t2 = result[j - 2];\n t3 = result[j - 1];\n t4 = result[j - 4];\n t1 = s[t1];\n t2 = s[t2];\n t3 = s[t3];\n t4 = s[t4];\n t1 = t1 ^ r;\n\n if ((r <<= 1) >= 256) {\n r = (r ^ 0x1b) & 0xFF;\n }\n }\n\n for (var n = 0; n < 4; ++n) {\n result[j] = t1 ^= result[j - 32];\n j++;\n result[j] = t2 ^= result[j - 32];\n j++;\n result[j] = t3 ^= result[j - 32];\n j++;\n result[j] = t4 ^= result[j - 32];\n j++;\n }\n }\n\n return result;\n }\n }]);\n\n return AES256Cipher;\n}(AESBaseCipher);\n\nexports.AES256Cipher = AES256Cipher;\n\nvar PDF17 = function PDF17Closure() {\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function PDF17() {}\n\n PDF17.prototype = {\n checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF17;\n}();\n\nexports.PDF17 = PDF17;\n\nvar PDF20 = function PDF20Closure() {\n function concatArrays(array1, array2) {\n var t = new Uint8Array(array1.length + array2.length);\n t.set(array1, 0);\n t.set(array2, array1.length);\n return t;\n }\n\n function calculatePDF20Hash(password, input, userBytes) {\n var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n var e = [0];\n var i = 0;\n\n while (i < 64 || e[e.length - 1] > i - 32) {\n var arrayLength = password.length + k.length + userBytes.length;\n var k1 = new Uint8Array(arrayLength * 64);\n var array = concatArrays(password, k);\n array = concatArrays(array, userBytes);\n\n for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n k1.set(array, pos);\n }\n\n var cipher = new AES128Cipher(k.subarray(0, 16));\n e = cipher.encrypt(k1, k.subarray(16, 32));\n var remainder = 0;\n\n for (var z = 0; z < 16; z++) {\n remainder *= 256 % 3;\n remainder %= 3;\n remainder += (e[z] >>> 0) % 3;\n remainder %= 3;\n }\n\n if (remainder === 0) {\n k = calculateSHA256(e, 0, e.length);\n } else if (remainder === 1) {\n k = calculateSHA384(e, 0, e.length);\n } else if (remainder === 2) {\n k = calculateSHA512(e, 0, e.length);\n }\n\n i++;\n }\n\n return k.subarray(0, 32);\n }\n\n function PDF20() {}\n\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n PDF20.prototype = {\n hash: function PDF20_hash(password, concatBytes, userBytes) {\n return calculatePDF20Hash(password, concatBytes, userBytes);\n },\n checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculatePDF20Hash(password, hashData, userBytes);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculatePDF20Hash(password, hashData, []);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculatePDF20Hash(password, hashData, userBytes);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculatePDF20Hash(password, hashData, []);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF20;\n}();\n\nexports.PDF20 = PDF20;\n\nvar CipherTransform = function CipherTransformClosure() {\n function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n this.StringCipherConstructor = stringCipherConstructor;\n this.StreamCipherConstructor = streamCipherConstructor;\n }\n\n CipherTransform.prototype = {\n createStream: function CipherTransform_createStream(stream, length) {\n var cipher = new this.StreamCipherConstructor();\n return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n return cipher.decryptBlock(data, finalize);\n });\n },\n decryptString: function CipherTransform_decryptString(s) {\n var cipher = new this.StringCipherConstructor();\n var data = (0, _util.stringToBytes)(s);\n data = cipher.decryptBlock(data, true);\n return (0, _util.bytesToString)(data);\n }\n };\n return CipherTransform;\n}();\n\nvar CipherTransformFactory = function CipherTransformFactoryClosure() {\n var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n\n function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n if (password) {\n var passwordLength = Math.min(127, password.length);\n password = password.subarray(0, passwordLength);\n } else {\n password = [];\n }\n\n var pdfAlgorithm;\n\n if (revision === 6) {\n pdfAlgorithm = new PDF20();\n } else {\n pdfAlgorithm = new PDF17();\n }\n\n if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n }\n\n return null;\n }\n\n function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n var hashDataSize = 40 + ownerPassword.length + fileId.length;\n var hashData = new Uint8Array(hashDataSize),\n i = 0,\n j,\n n;\n\n if (password) {\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n for (j = 0, n = ownerPassword.length; j < n; ++j) {\n hashData[i++] = ownerPassword[j];\n }\n\n hashData[i++] = flags & 0xFF;\n hashData[i++] = flags >> 8 & 0xFF;\n hashData[i++] = flags >> 16 & 0xFF;\n hashData[i++] = flags >>> 24 & 0xFF;\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n if (revision >= 4 && !encryptMetadata) {\n hashData[i++] = 0xFF;\n hashData[i++] = 0xFF;\n hashData[i++] = 0xFF;\n hashData[i++] = 0xFF;\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, keyLengthInBytes);\n }\n }\n\n var encryptionKey = hash.subarray(0, keyLengthInBytes);\n var cipher, checkData;\n\n if (revision >= 3) {\n for (i = 0; i < 32; ++i) {\n hashData[i] = defaultPasswordBytes[i];\n }\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n n = encryptionKey.length;\n var derivedKey = new Uint8Array(n),\n k;\n\n for (j = 1; j <= 19; ++j) {\n for (k = 0; k < n; ++k) {\n derivedKey[k] = encryptionKey[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n checkData = cipher.encryptBlock(checkData);\n }\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n } else {\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(defaultPasswordBytes);\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n }\n\n return encryptionKey;\n }\n\n function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n var hashData = new Uint8Array(32),\n i = 0,\n j,\n n;\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, hash.length);\n }\n }\n\n var cipher, userPassword;\n\n if (revision >= 3) {\n userPassword = ownerPassword;\n var derivedKey = new Uint8Array(keyLengthInBytes),\n k;\n\n for (j = 19; j >= 0; j--) {\n for (k = 0; k < keyLengthInBytes; ++k) {\n derivedKey[k] = hash[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n userPassword = cipher.encryptBlock(userPassword);\n }\n } else {\n cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n userPassword = cipher.encryptBlock(ownerPassword);\n }\n\n return userPassword;\n }\n\n var identityName = _primitives.Name.get('Identity');\n\n function CipherTransformFactory(dict, fileId, password) {\n var filter = dict.get('Filter');\n\n if (!(0, _primitives.isName)(filter, 'Standard')) {\n throw new _util.FormatError('unknown encryption method');\n }\n\n this.dict = dict;\n var algorithm = dict.get('V');\n\n if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n throw new _util.FormatError('unsupported encryption algorithm');\n }\n\n this.algorithm = algorithm;\n var keyLength = dict.get('Length');\n\n if (!keyLength) {\n if (algorithm <= 3) {\n keyLength = 40;\n } else {\n var cfDict = dict.get('CF');\n var streamCryptoName = dict.get('StmF');\n\n if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {\n cfDict.suppressEncryption = true;\n var handlerDict = cfDict.get(streamCryptoName.name);\n keyLength = handlerDict && handlerDict.get('Length') || 128;\n\n if (keyLength < 40) {\n keyLength <<= 3;\n }\n }\n }\n }\n\n if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n throw new _util.FormatError('invalid key length');\n }\n\n var ownerPassword = (0, _util.stringToBytes)(dict.get('O')).subarray(0, 32);\n var userPassword = (0, _util.stringToBytes)(dict.get('U')).subarray(0, 32);\n var flags = dict.get('P');\n var revision = dict.get('R');\n var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get('EncryptMetadata') !== false;\n this.encryptMetadata = encryptMetadata;\n var fileIdBytes = (0, _util.stringToBytes)(fileId);\n var passwordBytes;\n\n if (password) {\n if (revision === 6) {\n try {\n password = (0, _util.utf8StringToString)(password);\n } catch (ex) {\n (0, _util.warn)('CipherTransformFactory: ' + 'Unable to convert UTF8 encoded password.');\n }\n }\n\n passwordBytes = (0, _util.stringToBytes)(password);\n }\n\n var encryptionKey;\n\n if (algorithm !== 5) {\n encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n } else {\n var ownerValidationSalt = (0, _util.stringToBytes)(dict.get('O')).subarray(32, 40);\n var ownerKeySalt = (0, _util.stringToBytes)(dict.get('O')).subarray(40, 48);\n var uBytes = (0, _util.stringToBytes)(dict.get('U')).subarray(0, 48);\n var userValidationSalt = (0, _util.stringToBytes)(dict.get('U')).subarray(32, 40);\n var userKeySalt = (0, _util.stringToBytes)(dict.get('U')).subarray(40, 48);\n var ownerEncryption = (0, _util.stringToBytes)(dict.get('OE'));\n var userEncryption = (0, _util.stringToBytes)(dict.get('UE'));\n var perms = (0, _util.stringToBytes)(dict.get('Perms'));\n encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n }\n\n if (!encryptionKey && !password) {\n throw new _util.PasswordException('No password given', _util.PasswordResponses.NEED_PASSWORD);\n } else if (!encryptionKey && password) {\n var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n }\n\n if (!encryptionKey) {\n throw new _util.PasswordException('Incorrect Password', _util.PasswordResponses.INCORRECT_PASSWORD);\n }\n\n this.encryptionKey = encryptionKey;\n\n if (algorithm >= 4) {\n var cf = dict.get('CF');\n\n if ((0, _primitives.isDict)(cf)) {\n cf.suppressEncryption = true;\n }\n\n this.cf = cf;\n this.stmf = dict.get('StmF') || identityName;\n this.strf = dict.get('StrF') || identityName;\n this.eff = dict.get('EFF') || this.stmf;\n }\n }\n\n function buildObjectKey(num, gen, encryptionKey, isAes) {\n var key = new Uint8Array(encryptionKey.length + 9),\n i,\n n;\n\n for (i = 0, n = encryptionKey.length; i < n; ++i) {\n key[i] = encryptionKey[i];\n }\n\n key[i++] = num & 0xFF;\n key[i++] = num >> 8 & 0xFF;\n key[i++] = num >> 16 & 0xFF;\n key[i++] = gen & 0xFF;\n key[i++] = gen >> 8 & 0xFF;\n\n if (isAes) {\n key[i++] = 0x73;\n key[i++] = 0x41;\n key[i++] = 0x6C;\n key[i++] = 0x54;\n }\n\n var hash = calculateMD5(key, 0, i);\n return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n }\n\n function buildCipherConstructor(cf, name, num, gen, key) {\n if (!(0, _primitives.isName)(name)) {\n throw new _util.FormatError('Invalid crypt filter name.');\n }\n\n var cryptFilter = cf.get(name.name);\n var cfm;\n\n if (cryptFilter !== null && cryptFilter !== undefined) {\n cfm = cryptFilter.get('CFM');\n }\n\n if (!cfm || cfm.name === 'None') {\n return function cipherTransformFactoryBuildCipherConstructorNone() {\n return new NullCipher();\n };\n }\n\n if (cfm.name === 'V2') {\n return function cipherTransformFactoryBuildCipherConstructorV2() {\n return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n };\n }\n\n if (cfm.name === 'AESV2') {\n return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n return new AES128Cipher(buildObjectKey(num, gen, key, true));\n };\n }\n\n if (cfm.name === 'AESV3') {\n return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n return new AES256Cipher(key);\n };\n }\n\n throw new _util.FormatError('Unknown crypto method');\n }\n\n CipherTransformFactory.prototype = {\n createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {\n if (this.algorithm === 4 || this.algorithm === 5) {\n return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));\n }\n\n var key = buildObjectKey(num, gen, this.encryptionKey, false);\n\n var cipherConstructor = function buildCipherCipherConstructor() {\n return new ARCFourCipher(key);\n };\n\n return new CipherTransform(cipherConstructor, cipherConstructor);\n }\n };\n return CipherTransformFactory;\n}();\n\nexports.CipherTransformFactory = CipherTransformFactory;\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorSpace = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n var COMPONENTS = 3;\n alpha01 = alpha01 !== 1 ? 0 : alpha01;\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1 * COMPONENTS;\n\n for (var i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n }\n\n for (var _i = 0; _i < h2; _i++) {\n var py = Math.floor(_i * yRatio) * w1Scanline;\n\n for (var j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n newIndex += alpha01;\n }\n }\n}\n\nvar ColorSpace =\n/*#__PURE__*/\nfunction () {\n function ColorSpace(name, numComps) {\n _classCallCheck(this, ColorSpace);\n\n if (this.constructor === ColorSpace) {\n (0, _util.unreachable)('Cannot initialize ColorSpace.');\n }\n\n this.name = name;\n this.numComps = numComps;\n }\n\n _createClass(ColorSpace, [{\n key: \"getRgb\",\n value: function getRgb(src, srcOffset) {\n var rgb = new Uint8ClampedArray(3);\n this.getRgbItem(src, srcOffset, rgb, 0);\n return rgb;\n }\n }, {\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n (0, _util.unreachable)('Should not call ColorSpace.getRgbItem');\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n (0, _util.unreachable)('Should not call ColorSpace.getRgbBuffer');\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n (0, _util.unreachable)('Should not call ColorSpace.getOutputLength');\n }\n }, {\n key: \"isPassthrough\",\n value: function isPassthrough(bits) {\n return false;\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n }\n }, {\n key: \"fillRgb\",\n value: function fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {\n var count = originalWidth * originalHeight;\n var rgbBuf = null;\n var numComponentColors = 1 << bpc;\n var needsResizing = originalHeight !== height || originalWidth !== width;\n\n if (this.isPassthrough(bpc)) {\n rgbBuf = comps;\n } else if (this.numComps === 1 && count > numComponentColors && this.name !== 'DeviceGray' && this.name !== 'DeviceRGB') {\n var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);\n\n for (var i = 0; i < numComponentColors; i++) {\n allColors[i] = i;\n }\n\n var colorMap = new Uint8ClampedArray(numComponentColors * 3);\n this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);\n\n if (!needsResizing) {\n var destPos = 0;\n\n for (var _i2 = 0; _i2 < count; ++_i2) {\n var key = comps[_i2] * 3;\n dest[destPos++] = colorMap[key];\n dest[destPos++] = colorMap[key + 1];\n dest[destPos++] = colorMap[key + 2];\n destPos += alpha01;\n }\n } else {\n rgbBuf = new Uint8Array(count * 3);\n var rgbPos = 0;\n\n for (var _i3 = 0; _i3 < count; ++_i3) {\n var _key = comps[_i3] * 3;\n\n rgbBuf[rgbPos++] = colorMap[_key];\n rgbBuf[rgbPos++] = colorMap[_key + 1];\n rgbBuf[rgbPos++] = colorMap[_key + 2];\n }\n }\n } else {\n if (!needsResizing) {\n this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);\n } else {\n rgbBuf = new Uint8ClampedArray(count * 3);\n this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);\n }\n }\n\n if (rgbBuf) {\n if (needsResizing) {\n resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);\n } else {\n var _destPos = 0,\n _rgbPos = 0;\n\n for (var _i4 = 0, ii = width * actualHeight; _i4 < ii; _i4++) {\n dest[_destPos++] = rgbBuf[_rgbPos++];\n dest[_destPos++] = rgbBuf[_rgbPos++];\n dest[_destPos++] = rgbBuf[_rgbPos++];\n _destPos += alpha01;\n }\n }\n }\n }\n }, {\n key: \"usesZeroToOneRange\",\n get: function get() {\n return (0, _util.shadow)(this, 'usesZeroToOneRange', true);\n }\n }], [{\n key: \"parse\",\n value: function parse(cs, xref, res, pdfFunctionFactory) {\n var IR = this.parseToIR(cs, xref, res, pdfFunctionFactory);\n return this.fromIR(IR);\n }\n }, {\n key: \"fromIR\",\n value: function fromIR(IR) {\n var name = Array.isArray(IR) ? IR[0] : IR;\n var whitePoint, blackPoint, gamma;\n\n switch (name) {\n case 'DeviceGrayCS':\n return this.singletons.gray;\n\n case 'DeviceRgbCS':\n return this.singletons.rgb;\n\n case 'DeviceCmykCS':\n return this.singletons.cmyk;\n\n case 'CalGrayCS':\n whitePoint = IR[1];\n blackPoint = IR[2];\n gamma = IR[3];\n return new CalGrayCS(whitePoint, blackPoint, gamma);\n\n case 'CalRGBCS':\n whitePoint = IR[1];\n blackPoint = IR[2];\n gamma = IR[3];\n var matrix = IR[4];\n return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n\n case 'PatternCS':\n var basePatternCS = IR[1];\n\n if (basePatternCS) {\n basePatternCS = this.fromIR(basePatternCS);\n }\n\n return new PatternCS(basePatternCS);\n\n case 'IndexedCS':\n var baseIndexedCS = IR[1];\n var hiVal = IR[2];\n var lookup = IR[3];\n return new IndexedCS(this.fromIR(baseIndexedCS), hiVal, lookup);\n\n case 'AlternateCS':\n var numComps = IR[1];\n var alt = IR[2];\n var tintFn = IR[3];\n return new AlternateCS(numComps, this.fromIR(alt), tintFn);\n\n case 'LabCS':\n whitePoint = IR[1];\n blackPoint = IR[2];\n var range = IR[3];\n return new LabCS(whitePoint, blackPoint, range);\n\n default:\n throw new _util.FormatError(\"Unknown colorspace name: \".concat(name));\n }\n }\n }, {\n key: \"parseToIR\",\n value: function parseToIR(cs, xref) {\n var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var pdfFunctionFactory = arguments.length > 3 ? arguments[3] : undefined;\n cs = xref.fetchIfRef(cs);\n\n if ((0, _primitives.isName)(cs)) {\n switch (cs.name) {\n case 'DeviceGray':\n case 'G':\n return 'DeviceGrayCS';\n\n case 'DeviceRGB':\n case 'RGB':\n return 'DeviceRgbCS';\n\n case 'DeviceCMYK':\n case 'CMYK':\n return 'DeviceCmykCS';\n\n case 'Pattern':\n return ['PatternCS', null];\n\n default:\n if ((0, _primitives.isDict)(res)) {\n var colorSpaces = res.get('ColorSpace');\n\n if ((0, _primitives.isDict)(colorSpaces)) {\n var resCS = colorSpaces.get(cs.name);\n\n if (resCS) {\n if ((0, _primitives.isName)(resCS)) {\n return this.parseToIR(resCS, xref, res, pdfFunctionFactory);\n }\n\n cs = resCS;\n break;\n }\n }\n }\n\n throw new _util.FormatError(\"unrecognized colorspace \".concat(cs.name));\n }\n }\n\n if (Array.isArray(cs)) {\n var mode = xref.fetchIfRef(cs[0]).name;\n var numComps, params, alt, whitePoint, blackPoint, gamma;\n\n switch (mode) {\n case 'DeviceGray':\n case 'G':\n return 'DeviceGrayCS';\n\n case 'DeviceRGB':\n case 'RGB':\n return 'DeviceRgbCS';\n\n case 'DeviceCMYK':\n case 'CMYK':\n return 'DeviceCmykCS';\n\n case 'CalGray':\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray('WhitePoint');\n blackPoint = params.getArray('BlackPoint');\n gamma = params.get('Gamma');\n return ['CalGrayCS', whitePoint, blackPoint, gamma];\n\n case 'CalRGB':\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray('WhitePoint');\n blackPoint = params.getArray('BlackPoint');\n gamma = params.getArray('Gamma');\n var matrix = params.getArray('Matrix');\n return ['CalRGBCS', whitePoint, blackPoint, gamma, matrix];\n\n case 'ICCBased':\n var stream = xref.fetchIfRef(cs[1]);\n var dict = stream.dict;\n numComps = dict.get('N');\n alt = dict.get('Alternate');\n\n if (alt) {\n var altIR = this.parseToIR(alt, xref, res, pdfFunctionFactory);\n var altCS = this.fromIR(altIR, pdfFunctionFactory);\n\n if (altCS.numComps === numComps) {\n return altIR;\n }\n\n (0, _util.warn)('ICCBased color space: Ignoring incorrect /Alternate entry.');\n }\n\n if (numComps === 1) {\n return 'DeviceGrayCS';\n } else if (numComps === 3) {\n return 'DeviceRgbCS';\n } else if (numComps === 4) {\n return 'DeviceCmykCS';\n }\n\n break;\n\n case 'Pattern':\n var basePatternCS = cs[1] || null;\n\n if (basePatternCS) {\n basePatternCS = this.parseToIR(basePatternCS, xref, res, pdfFunctionFactory);\n }\n\n return ['PatternCS', basePatternCS];\n\n case 'Indexed':\n case 'I':\n var baseIndexedCS = this.parseToIR(cs[1], xref, res, pdfFunctionFactory);\n var hiVal = xref.fetchIfRef(cs[2]) + 1;\n var lookup = xref.fetchIfRef(cs[3]);\n\n if ((0, _primitives.isStream)(lookup)) {\n lookup = lookup.getBytes();\n }\n\n return ['IndexedCS', baseIndexedCS, hiVal, lookup];\n\n case 'Separation':\n case 'DeviceN':\n var name = xref.fetchIfRef(cs[1]);\n numComps = Array.isArray(name) ? name.length : 1;\n alt = this.parseToIR(cs[2], xref, res, pdfFunctionFactory);\n var tintFn = pdfFunctionFactory.create(xref.fetchIfRef(cs[3]));\n return ['AlternateCS', numComps, alt, tintFn];\n\n case 'Lab':\n params = xref.fetchIfRef(cs[1]);\n whitePoint = params.getArray('WhitePoint');\n blackPoint = params.getArray('BlackPoint');\n var range = params.getArray('Range');\n return ['LabCS', whitePoint, blackPoint, range];\n\n default:\n throw new _util.FormatError(\"unimplemented color space object \\\"\".concat(mode, \"\\\"\"));\n }\n }\n\n throw new _util.FormatError(\"unrecognized color space object: \\\"\".concat(cs, \"\\\"\"));\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decode, numComps) {\n if (!Array.isArray(decode)) {\n return true;\n }\n\n if (numComps * 2 !== decode.length) {\n (0, _util.warn)('The decode map is not the correct length');\n return true;\n }\n\n for (var i = 0, ii = decode.length; i < ii; i += 2) {\n if (decode[i] !== 0 || decode[i + 1] !== 1) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: \"singletons\",\n get: function get() {\n return (0, _util.shadow)(this, 'singletons', {\n get gray() {\n return (0, _util.shadow)(this, 'gray', new DeviceGrayCS());\n },\n\n get rgb() {\n return (0, _util.shadow)(this, 'rgb', new DeviceRgbCS());\n },\n\n get cmyk() {\n return (0, _util.shadow)(this, 'cmyk', new DeviceCmykCS());\n }\n\n });\n }\n }]);\n\n return ColorSpace;\n}();\n\nexports.ColorSpace = ColorSpace;\n\nvar AlternateCS =\n/*#__PURE__*/\nfunction (_ColorSpace) {\n _inherits(AlternateCS, _ColorSpace);\n\n function AlternateCS(numComps, base, tintFn) {\n var _this;\n\n _classCallCheck(this, AlternateCS);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AlternateCS).call(this, 'Alternate', numComps));\n _this.base = base;\n _this.tintFn = tintFn;\n _this.tmpBuf = new Float32Array(base.numComps);\n return _this;\n }\n\n _createClass(AlternateCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var tmpBuf = this.tmpBuf;\n this.tintFn(src, srcOffset, tmpBuf, 0);\n this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var tintFn = this.tintFn;\n var base = this.base;\n var scale = 1 / ((1 << bits) - 1);\n var baseNumComps = base.numComps;\n var usesZeroToOneRange = base.usesZeroToOneRange;\n var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n var pos = isPassthrough ? destOffset : 0;\n var baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);\n var numComps = this.numComps;\n var scaled = new Float32Array(numComps);\n var tinted = new Float32Array(baseNumComps);\n var i, j;\n\n for (i = 0; i < count; i++) {\n for (j = 0; j < numComps; j++) {\n scaled[j] = src[srcOffset++] * scale;\n }\n\n tintFn(scaled, 0, tinted, 0);\n\n if (usesZeroToOneRange) {\n for (j = 0; j < baseNumComps; j++) {\n baseBuf[pos++] = tinted[j] * 255;\n }\n } else {\n base.getRgbItem(tinted, 0, baseBuf, pos);\n pos += baseNumComps;\n }\n }\n\n if (!isPassthrough) {\n base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);\n }\n }]);\n\n return AlternateCS;\n}(ColorSpace);\n\nvar PatternCS =\n/*#__PURE__*/\nfunction (_ColorSpace2) {\n _inherits(PatternCS, _ColorSpace2);\n\n function PatternCS(baseCS) {\n var _this2;\n\n _classCallCheck(this, PatternCS);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(PatternCS).call(this, 'Pattern', null));\n _this2.base = baseCS;\n return _this2;\n }\n\n _createClass(PatternCS, [{\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n (0, _util.unreachable)('Should not call PatternCS.isDefaultDecode');\n }\n }]);\n\n return PatternCS;\n}(ColorSpace);\n\nvar IndexedCS =\n/*#__PURE__*/\nfunction (_ColorSpace3) {\n _inherits(IndexedCS, _ColorSpace3);\n\n function IndexedCS(base, highVal, lookup) {\n var _this3;\n\n _classCallCheck(this, IndexedCS);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(IndexedCS).call(this, 'Indexed', 1));\n _this3.base = base;\n _this3.highVal = highVal;\n var baseNumComps = base.numComps;\n var length = baseNumComps * highVal;\n\n if ((0, _primitives.isStream)(lookup)) {\n _this3.lookup = new Uint8Array(length);\n var bytes = lookup.getBytes(length);\n\n _this3.lookup.set(bytes);\n } else if ((0, _util.isString)(lookup)) {\n _this3.lookup = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n _this3.lookup[i] = lookup.charCodeAt(i);\n }\n } else if (lookup instanceof Uint8Array) {\n _this3.lookup = lookup;\n } else {\n throw new _util.FormatError(\"Unrecognized lookup table: \".concat(lookup));\n }\n\n return _this3;\n }\n\n _createClass(IndexedCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var numComps = this.base.numComps;\n var start = src[srcOffset] * numComps;\n this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var base = this.base;\n var numComps = base.numComps;\n var outputDelta = base.getOutputLength(numComps, alpha01);\n var lookup = this.lookup;\n\n for (var i = 0; i < count; ++i) {\n var lookupPos = src[srcOffset++] * numComps;\n base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n destOffset += outputDelta;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n if (!Array.isArray(decodeMap)) {\n return true;\n }\n\n if (decodeMap.length !== 2) {\n (0, _util.warn)('Decode map length is not correct');\n return true;\n }\n\n if (!Number.isInteger(bpc) || bpc < 1) {\n (0, _util.warn)('Bits per component is not correct');\n return true;\n }\n\n return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;\n }\n }]);\n\n return IndexedCS;\n}(ColorSpace);\n\nvar DeviceGrayCS =\n/*#__PURE__*/\nfunction (_ColorSpace4) {\n _inherits(DeviceGrayCS, _ColorSpace4);\n\n function DeviceGrayCS() {\n _classCallCheck(this, DeviceGrayCS);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeviceGrayCS).call(this, 'DeviceGray', 1));\n }\n\n _createClass(DeviceGrayCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n var c = src[srcOffset] * 255;\n dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 255 / ((1 << bits) - 1);\n var j = srcOffset,\n q = destOffset;\n\n for (var i = 0; i < count; ++i) {\n var c = scale * src[j++];\n dest[q++] = c;\n dest[q++] = c;\n dest[q++] = c;\n q += alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n }]);\n\n return DeviceGrayCS;\n}(ColorSpace);\n\nvar DeviceRgbCS =\n/*#__PURE__*/\nfunction (_ColorSpace5) {\n _inherits(DeviceRgbCS, _ColorSpace5);\n\n function DeviceRgbCS() {\n _classCallCheck(this, DeviceRgbCS);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeviceRgbCS).call(this, 'DeviceRGB', 3));\n }\n\n _createClass(DeviceRgbCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n dest[destOffset] = src[srcOffset] * 255;\n dest[destOffset + 1] = src[srcOffset + 1] * 255;\n dest[destOffset + 2] = src[srcOffset + 2] * 255;\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n if (bits === 8 && alpha01 === 0) {\n dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n return;\n }\n\n var scale = 255 / ((1 << bits) - 1);\n var j = srcOffset,\n q = destOffset;\n\n for (var i = 0; i < count; ++i) {\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n dest[q++] = scale * src[j++];\n q += alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }, {\n key: \"isPassthrough\",\n value: function isPassthrough(bits) {\n return bits === 8;\n }\n }]);\n\n return DeviceRgbCS;\n}(ColorSpace);\n\nvar DeviceCmykCS = function DeviceCmykCSClosure() {\n function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n var c = src[srcOffset] * srcScale;\n var m = src[srcOffset + 1] * srcScale;\n var y = src[srcOffset + 2] * srcScale;\n var k = src[srcOffset + 3] * srcScale;\n dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);\n dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);\n dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);\n }\n\n var DeviceCmykCS =\n /*#__PURE__*/\n function (_ColorSpace6) {\n _inherits(DeviceCmykCS, _ColorSpace6);\n\n function DeviceCmykCS() {\n _classCallCheck(this, DeviceCmykCS);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DeviceCmykCS).call(this, 'DeviceCMYK', 4));\n }\n\n _createClass(DeviceCmykCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(src, srcOffset, 1, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; i++) {\n convertToRgb(src, srcOffset, scale, dest, destOffset);\n srcOffset += 4;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength / 4 * (3 + alpha01) | 0;\n }\n }]);\n\n return DeviceCmykCS;\n }(ColorSpace);\n\n return DeviceCmykCS;\n}();\n\nvar CalGrayCS = function CalGrayCSClosure() {\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = src[srcOffset] * scale;\n var AG = Math.pow(A, cs.G);\n var L = cs.YW * AG;\n var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0);\n dest[destOffset] = val;\n dest[destOffset + 1] = val;\n dest[destOffset + 2] = val;\n }\n\n var CalGrayCS =\n /*#__PURE__*/\n function (_ColorSpace7) {\n _inherits(CalGrayCS, _ColorSpace7);\n\n function CalGrayCS(whitePoint, blackPoint, gamma) {\n var _this4;\n\n _classCallCheck(this, CalGrayCS);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(CalGrayCS).call(this, 'CalGray', 1));\n\n if (!whitePoint) {\n throw new _util.FormatError('WhitePoint missing - required for color space CalGray');\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n gamma = gamma || 1;\n _this4.XW = whitePoint[0];\n _this4.YW = whitePoint[1];\n _this4.ZW = whitePoint[2];\n _this4.XB = blackPoint[0];\n _this4.YB = blackPoint[1];\n _this4.ZB = blackPoint[2];\n _this4.G = gamma;\n\n if (_this4.XW < 0 || _this4.ZW < 0 || _this4.YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this4.name) + ', no fallback available');\n }\n\n if (_this4.XB < 0 || _this4.YB < 0 || _this4.ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint for \".concat(_this4.name, \", falling back to default.\"));\n _this4.XB = _this4.YB = _this4.ZB = 0;\n }\n\n if (_this4.XB !== 0 || _this4.YB !== 0 || _this4.ZB !== 0) {\n (0, _util.warn)(\"\".concat(_this4.name, \", BlackPoint: XB: \").concat(_this4.XB, \", YB: \").concat(_this4.YB, \", \") + \"ZB: \".concat(_this4.ZB, \", only default values are supported.\"));\n }\n\n if (_this4.G < 1) {\n (0, _util.info)(\"Invalid Gamma: \".concat(_this4.G, \" for \").concat(_this4.name, \", \") + 'falling back to default.');\n _this4.G = 1;\n }\n\n return _this4;\n }\n\n _createClass(CalGrayCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 1;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01);\n }\n }]);\n\n return CalGrayCS;\n }(ColorSpace);\n\n return CalGrayCS;\n}();\n\nvar CalRGBCS = function CalRGBCSClosure() {\n var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n var tempNormalizeMatrix = new Float32Array(3);\n var tempConvertMatrix1 = new Float32Array(3);\n var tempConvertMatrix2 = new Float32Array(3);\n var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;\n\n function matrixProduct(a, b, result) {\n result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n }\n\n function convertToFlat(sourceWhitePoint, LMS, result) {\n result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n }\n\n function convertToD65(sourceWhitePoint, LMS, result) {\n var D65X = 0.95047;\n var D65Y = 1;\n var D65Z = 1.08883;\n result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n }\n\n function sRGBTransferFunction(color) {\n if (color <= 0.0031308) {\n return adjustToRange(0, 1, 12.92 * color);\n }\n\n return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055);\n }\n\n function adjustToRange(min, max, value) {\n return Math.max(min, Math.min(max, value));\n }\n\n function decodeL(L) {\n if (L < 0) {\n return -decodeL(-L);\n }\n\n if (L > 8.0) {\n return Math.pow((L + 16) / 116, 3);\n }\n\n return L * DECODE_L_CONSTANT;\n }\n\n function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {\n result[0] = XYZ_Flat[0];\n result[1] = XYZ_Flat[1];\n result[2] = XYZ_Flat[2];\n return;\n }\n\n var zeroDecodeL = decodeL(0);\n var X_DST = zeroDecodeL;\n var X_SRC = decodeL(sourceBlackPoint[0]);\n var Y_DST = zeroDecodeL;\n var Y_SRC = decodeL(sourceBlackPoint[1]);\n var Z_DST = zeroDecodeL;\n var Z_SRC = decodeL(sourceBlackPoint[2]);\n var X_Scale = (1 - X_DST) / (1 - X_SRC);\n var X_Offset = 1 - X_Scale;\n var Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n var Y_Offset = 1 - Y_Scale;\n var Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n var Z_Offset = 1 - Z_Scale;\n result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n }\n\n function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n result[0] = XYZ_In[0];\n result[1] = XYZ_In[1];\n result[2] = XYZ_In[2];\n return;\n }\n\n var LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n var LMS_Flat = tempNormalizeMatrix;\n convertToFlat(sourceWhitePoint, LMS, LMS_Flat);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n }\n\n function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n var LMS = result;\n matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n var LMS_D65 = tempNormalizeMatrix;\n convertToD65(sourceWhitePoint, LMS, LMS_D65);\n matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n }\n\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = adjustToRange(0, 1, src[srcOffset] * scale);\n var B = adjustToRange(0, 1, src[srcOffset + 1] * scale);\n var C = adjustToRange(0, 1, src[srcOffset + 2] * scale);\n var AGR = Math.pow(A, cs.GR);\n var BGG = Math.pow(B, cs.GG);\n var CGB = Math.pow(C, cs.GB);\n var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;\n var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;\n var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;\n var XYZ = tempConvertMatrix1;\n XYZ[0] = X;\n XYZ[1] = Y;\n XYZ[2] = Z;\n var XYZ_Flat = tempConvertMatrix2;\n normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);\n var XYZ_Black = tempConvertMatrix1;\n compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);\n var XYZ_D65 = tempConvertMatrix2;\n normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n var SRGB = tempConvertMatrix1;\n matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;\n dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;\n dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;\n }\n\n var CalRGBCS =\n /*#__PURE__*/\n function (_ColorSpace8) {\n _inherits(CalRGBCS, _ColorSpace8);\n\n function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {\n var _this5;\n\n _classCallCheck(this, CalRGBCS);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(CalRGBCS).call(this, 'CalRGB', 3));\n\n if (!whitePoint) {\n throw new _util.FormatError('WhitePoint missing - required for color space CalRGB');\n }\n\n blackPoint = blackPoint || new Float32Array(3);\n gamma = gamma || new Float32Array([1, 1, 1]);\n matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n var XW = whitePoint[0];\n var YW = whitePoint[1];\n var ZW = whitePoint[2];\n _this5.whitePoint = whitePoint;\n var XB = blackPoint[0];\n var YB = blackPoint[1];\n var ZB = blackPoint[2];\n _this5.blackPoint = blackPoint;\n _this5.GR = gamma[0];\n _this5.GG = gamma[1];\n _this5.GB = gamma[2];\n _this5.MXA = matrix[0];\n _this5.MYA = matrix[1];\n _this5.MZA = matrix[2];\n _this5.MXB = matrix[3];\n _this5.MYB = matrix[4];\n _this5.MZB = matrix[5];\n _this5.MXC = matrix[6];\n _this5.MYC = matrix[7];\n _this5.MZC = matrix[8];\n\n if (XW < 0 || ZW < 0 || YW !== 1) {\n throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this5.name) + ', no fallback available');\n }\n\n if (XB < 0 || YB < 0 || ZB < 0) {\n (0, _util.info)(\"Invalid BlackPoint for \".concat(_this5.name, \" [\").concat(XB, \", \").concat(YB, \", \").concat(ZB, \"], \") + 'falling back to default.');\n _this5.blackPoint = new Float32Array(3);\n }\n\n if (_this5.GR < 0 || _this5.GG < 0 || _this5.GB < 0) {\n (0, _util.info)(\"Invalid Gamma [\".concat(_this5.GR, \", \").concat(_this5.GG, \", \").concat(_this5.GB, \"] for \") + \"\".concat(_this5.name, \", falling back to default.\"));\n _this5.GR = _this5.GG = _this5.GB = 1;\n }\n\n return _this5;\n }\n\n _createClass(CalRGBCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var scale = 1 / ((1 << bits) - 1);\n\n for (var i = 0; i < count; ++i) {\n convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }]);\n\n return CalRGBCS;\n }(ColorSpace);\n\n return CalRGBCS;\n}();\n\nvar LabCS = function LabCSClosure() {\n function fn_g(x) {\n var result;\n\n if (x >= 6 / 29) {\n result = x * x * x;\n } else {\n result = 108 / 841 * (x - 4 / 29);\n }\n\n return result;\n }\n\n function decode(value, high1, low2, high2) {\n return low2 + value * (high2 - low2) / high1;\n }\n\n function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n var Ls = src[srcOffset];\n var as = src[srcOffset + 1];\n var bs = src[srcOffset + 2];\n\n if (maxVal !== false) {\n Ls = decode(Ls, maxVal, 0, 100);\n as = decode(as, maxVal, cs.amin, cs.amax);\n bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n }\n\n as = as > cs.amax ? cs.amax : as < cs.amin ? cs.amin : as;\n bs = bs > cs.bmax ? cs.bmax : bs < cs.bmin ? cs.bmin : bs;\n var M = (Ls + 16) / 116;\n var L = M + as / 500;\n var N = M - bs / 200;\n var X = cs.XW * fn_g(L);\n var Y = cs.YW * fn_g(M);\n var Z = cs.ZW * fn_g(N);\n var r, g, b;\n\n if (cs.ZW < 1) {\n r = X * 3.1339 + Y * -1.6170 + Z * -0.4906;\n g = X * -0.9785 + Y * 1.9160 + Z * 0.0333;\n b = X * 0.0720 + Y * -0.2290 + Z * 1.4057;\n } else {\n r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n b = X * 0.0557 + Y * -0.2040 + Z * 1.0570;\n }\n\n dest[destOffset] = Math.sqrt(r) * 255;\n dest[destOffset + 1] = Math.sqrt(g) * 255;\n dest[destOffset + 2] = Math.sqrt(b) * 255;\n }\n\n var LabCS =\n /*#__PURE__*/\n function (_ColorSpace9) {\n _inherits(LabCS, _ColorSpace9);\n\n function LabCS(whitePoint, blackPoint, range) {\n var _this6;\n\n _classCallCheck(this, LabCS);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(LabCS).call(this, 'Lab', 3));\n\n if (!whitePoint) {\n throw new _util.FormatError('WhitePoint missing - required for color space Lab');\n }\n\n blackPoint = blackPoint || [0, 0, 0];\n range = range || [-100, 100, -100, 100];\n _this6.XW = whitePoint[0];\n _this6.YW = whitePoint[1];\n _this6.ZW = whitePoint[2];\n _this6.amin = range[0];\n _this6.amax = range[1];\n _this6.bmin = range[2];\n _this6.bmax = range[3];\n _this6.XB = blackPoint[0];\n _this6.YB = blackPoint[1];\n _this6.ZB = blackPoint[2];\n\n if (_this6.XW < 0 || _this6.ZW < 0 || _this6.YW !== 1) {\n throw new _util.FormatError('Invalid WhitePoint components, no fallback available');\n }\n\n if (_this6.XB < 0 || _this6.YB < 0 || _this6.ZB < 0) {\n (0, _util.info)('Invalid BlackPoint, falling back to default');\n _this6.XB = _this6.YB = _this6.ZB = 0;\n }\n\n if (_this6.amin > _this6.amax || _this6.bmin > _this6.bmax) {\n (0, _util.info)('Invalid Range, falling back to defaults');\n _this6.amin = -100;\n _this6.amax = 100;\n _this6.bmin = -100;\n _this6.bmax = 100;\n }\n\n return _this6;\n }\n\n _createClass(LabCS, [{\n key: \"getRgbItem\",\n value: function getRgbItem(src, srcOffset, dest, destOffset) {\n convertToRgb(this, src, srcOffset, false, dest, destOffset);\n }\n }, {\n key: \"getRgbBuffer\",\n value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n var maxVal = (1 << bits) - 1;\n\n for (var i = 0; i < count; i++) {\n convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);\n srcOffset += 3;\n destOffset += 3 + alpha01;\n }\n }\n }, {\n key: \"getOutputLength\",\n value: function getOutputLength(inputLength, alpha01) {\n return inputLength * (3 + alpha01) / 3 | 0;\n }\n }, {\n key: \"isDefaultDecode\",\n value: function isDefaultDecode(decodeMap, bpc) {\n return true;\n }\n }, {\n key: \"usesZeroToOneRange\",\n get: function get() {\n return (0, _util.shadow)(this, 'usesZeroToOneRange', false);\n }\n }]);\n\n return LabCS;\n }(ColorSpace);\n\n return LabCS;\n}();\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _obj = __w_pdfjs_require__(154);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _colorspace = __w_pdfjs_require__(168);\n\nvar _operator_list = __w_pdfjs_require__(170);\n\nvar _stream = __w_pdfjs_require__(157);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationFactory =\n/*#__PURE__*/\nfunction () {\n function AnnotationFactory() {\n _classCallCheck(this, AnnotationFactory);\n }\n\n _createClass(AnnotationFactory, null, [{\n key: \"create\",\n value: function create(xref, ref, pdfManager, idFactory) {\n return pdfManager.ensure(this, '_create', [xref, ref, pdfManager, idFactory]);\n }\n }, {\n key: \"_create\",\n value: function _create(xref, ref, pdfManager, idFactory) {\n var dict = xref.fetchIfRef(ref);\n\n if (!(0, _primitives.isDict)(dict)) {\n return;\n }\n\n var id = (0, _primitives.isRef)(ref) ? ref.toString() : 'annot_' + idFactory.createObjId();\n var subtype = dict.get('Subtype');\n subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;\n var parameters = {\n xref: xref,\n dict: dict,\n ref: (0, _primitives.isRef)(ref) ? ref : null,\n subtype: subtype,\n id: id,\n pdfManager: pdfManager\n };\n\n switch (subtype) {\n case 'Link':\n return new LinkAnnotation(parameters);\n\n case 'Text':\n return new TextAnnotation(parameters);\n\n case 'Widget':\n var fieldType = (0, _util.getInheritableProperty)({\n dict: dict,\n key: 'FT'\n });\n fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n\n switch (fieldType) {\n case 'Tx':\n return new TextWidgetAnnotation(parameters);\n\n case 'Btn':\n return new ButtonWidgetAnnotation(parameters);\n\n case 'Ch':\n return new ChoiceWidgetAnnotation(parameters);\n }\n\n (0, _util.warn)('Unimplemented widget field type \"' + fieldType + '\", ' + 'falling back to base field type.');\n return new WidgetAnnotation(parameters);\n\n case 'Popup':\n return new PopupAnnotation(parameters);\n\n case 'Line':\n return new LineAnnotation(parameters);\n\n case 'Square':\n return new SquareAnnotation(parameters);\n\n case 'Circle':\n return new CircleAnnotation(parameters);\n\n case 'PolyLine':\n return new PolylineAnnotation(parameters);\n\n case 'Polygon':\n return new PolygonAnnotation(parameters);\n\n case 'Ink':\n return new InkAnnotation(parameters);\n\n case 'Highlight':\n return new HighlightAnnotation(parameters);\n\n case 'Underline':\n return new UnderlineAnnotation(parameters);\n\n case 'Squiggly':\n return new SquigglyAnnotation(parameters);\n\n case 'StrikeOut':\n return new StrikeOutAnnotation(parameters);\n\n case 'Stamp':\n return new StampAnnotation(parameters);\n\n case 'FileAttachment':\n return new FileAttachmentAnnotation(parameters);\n\n default:\n if (!subtype) {\n (0, _util.warn)('Annotation is missing the required /Subtype.');\n } else {\n (0, _util.warn)('Unimplemented annotation type \"' + subtype + '\", ' + 'falling back to base annotation.');\n }\n\n return new Annotation(parameters);\n }\n }\n }]);\n\n return AnnotationFactory;\n}();\n\nexports.AnnotationFactory = AnnotationFactory;\n\nfunction getTransformMatrix(rect, bbox, matrix) {\n var bounds = _util.Util.getAxialAlignedBoundingBox(bbox, matrix);\n\n var minX = bounds[0];\n var minY = bounds[1];\n var maxX = bounds[2];\n var maxY = bounds[3];\n\n if (minX === maxX || minY === maxY) {\n return [1, 0, 0, 1, rect[0], rect[1]];\n }\n\n var xRatio = (rect[2] - rect[0]) / (maxX - minX);\n var yRatio = (rect[3] - rect[1]) / (maxY - minY);\n return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];\n}\n\nvar Annotation =\n/*#__PURE__*/\nfunction () {\n function Annotation(params) {\n _classCallCheck(this, Annotation);\n\n var dict = params.dict;\n this.setFlags(dict.get('F'));\n this.setRectangle(dict.getArray('Rect'));\n this.setColor(dict.getArray('C'));\n this.setBorderStyle(dict);\n this.setAppearance(dict);\n this.data = {\n annotationFlags: this.flags,\n borderStyle: this.borderStyle,\n color: this.color,\n hasAppearance: !!this.appearance,\n id: params.id,\n rect: this.rectangle,\n subtype: params.subtype\n };\n }\n\n _createClass(Annotation, [{\n key: \"_hasFlag\",\n value: function _hasFlag(flags, flag) {\n return !!(flags & flag);\n }\n }, {\n key: \"_isViewable\",\n value: function _isViewable(flags) {\n return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);\n }\n }, {\n key: \"_isPrintable\",\n value: function _isPrintable(flags) {\n return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.HIDDEN);\n }\n }, {\n key: \"setFlags\",\n value: function setFlags(flags) {\n this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n }\n }, {\n key: \"hasFlag\",\n value: function hasFlag(flag) {\n return this._hasFlag(this.flags, flag);\n }\n }, {\n key: \"setRectangle\",\n value: function setRectangle(rectangle) {\n if (Array.isArray(rectangle) && rectangle.length === 4) {\n this.rectangle = _util.Util.normalizeRect(rectangle);\n } else {\n this.rectangle = [0, 0, 0, 0];\n }\n }\n }, {\n key: \"setColor\",\n value: function setColor(color) {\n var rgbColor = new Uint8ClampedArray(3);\n\n if (!Array.isArray(color)) {\n this.color = rgbColor;\n return;\n }\n\n switch (color.length) {\n case 0:\n this.color = null;\n break;\n\n case 1:\n _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 3:\n _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n case 4:\n _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n\n this.color = rgbColor;\n break;\n\n default:\n this.color = rgbColor;\n break;\n }\n }\n }, {\n key: \"setBorderStyle\",\n value: function setBorderStyle(borderStyle) {\n this.borderStyle = new AnnotationBorderStyle();\n\n if (!(0, _primitives.isDict)(borderStyle)) {\n return;\n }\n\n if (borderStyle.has('BS')) {\n var dict = borderStyle.get('BS');\n var dictType = dict.get('Type');\n\n if (!dictType || (0, _primitives.isName)(dictType, 'Border')) {\n this.borderStyle.setWidth(dict.get('W'));\n this.borderStyle.setStyle(dict.get('S'));\n this.borderStyle.setDashArray(dict.getArray('D'));\n }\n } else if (borderStyle.has('Border')) {\n var array = borderStyle.getArray('Border');\n\n if (Array.isArray(array) && array.length >= 3) {\n this.borderStyle.setHorizontalCornerRadius(array[0]);\n this.borderStyle.setVerticalCornerRadius(array[1]);\n this.borderStyle.setWidth(array[2]);\n\n if (array.length === 4) {\n this.borderStyle.setDashArray(array[3]);\n }\n }\n } else {\n this.borderStyle.setWidth(0);\n }\n }\n }, {\n key: \"setAppearance\",\n value: function setAppearance(dict) {\n this.appearance = null;\n var appearanceStates = dict.get('AP');\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearanceState = appearanceStates.get('N');\n\n if ((0, _primitives.isStream)(normalAppearanceState)) {\n this.appearance = normalAppearanceState;\n return;\n }\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n var as = dict.get('AS');\n\n if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {\n return;\n }\n\n this.appearance = normalAppearanceState.get(as.name);\n }\n }, {\n key: \"_preparePopup\",\n value: function _preparePopup(dict) {\n if (!dict.has('C')) {\n this.data.color = null;\n }\n\n this.data.hasPopup = dict.has('Popup');\n this.data.title = (0, _util.stringToPDFString)(dict.get('T') || '');\n this.data.contents = (0, _util.stringToPDFString)(dict.get('Contents') || '');\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(keys) {\n return this.appearance.dict.getAsync('Resources').then(function (resources) {\n if (!resources) {\n return;\n }\n\n var objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);\n return objectLoader.load().then(function () {\n return resources;\n });\n });\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n var _this = this;\n\n if (!this.appearance) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n var data = this.data;\n var appearanceDict = this.appearance.dict;\n var resourcesPromise = this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 'Font']);\n var bbox = appearanceDict.getArray('BBox') || [0, 0, 1, 1];\n var matrix = appearanceDict.getArray('Matrix') || [1, 0, 0, 1, 0, 0];\n var transform = getTransformMatrix(data.rect, bbox, matrix);\n return resourcesPromise.then(function (resources) {\n var opList = new _operator_list.OperatorList();\n opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);\n return evaluator.getOperatorList({\n stream: _this.appearance,\n task: task,\n resources: resources,\n operatorList: opList\n }).then(function () {\n opList.addOp(_util.OPS.endAnnotation, []);\n\n _this.appearance.reset();\n\n return opList;\n });\n });\n }\n }, {\n key: \"viewable\",\n get: function get() {\n if (this.flags === 0) {\n return true;\n }\n\n return this._isViewable(this.flags);\n }\n }, {\n key: \"printable\",\n get: function get() {\n if (this.flags === 0) {\n return false;\n }\n\n return this._isPrintable(this.flags);\n }\n }]);\n\n return Annotation;\n}();\n\nexports.Annotation = Annotation;\n\nvar AnnotationBorderStyle =\n/*#__PURE__*/\nfunction () {\n function AnnotationBorderStyle() {\n _classCallCheck(this, AnnotationBorderStyle);\n\n this.width = 1;\n this.style = _util.AnnotationBorderStyleType.SOLID;\n this.dashArray = [3];\n this.horizontalCornerRadius = 0;\n this.verticalCornerRadius = 0;\n }\n\n _createClass(AnnotationBorderStyle, [{\n key: \"setWidth\",\n value: function setWidth(width) {\n if ((0, _primitives.isName)(width)) {\n this.width = 0;\n return;\n }\n\n if (Number.isInteger(width)) {\n this.width = width;\n }\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(style) {\n if (!(0, _primitives.isName)(style)) {\n return;\n }\n\n switch (style.name) {\n case 'S':\n this.style = _util.AnnotationBorderStyleType.SOLID;\n break;\n\n case 'D':\n this.style = _util.AnnotationBorderStyleType.DASHED;\n break;\n\n case 'B':\n this.style = _util.AnnotationBorderStyleType.BEVELED;\n break;\n\n case 'I':\n this.style = _util.AnnotationBorderStyleType.INSET;\n break;\n\n case 'U':\n this.style = _util.AnnotationBorderStyleType.UNDERLINE;\n break;\n\n default:\n break;\n }\n }\n }, {\n key: \"setDashArray\",\n value: function setDashArray(dashArray) {\n if (Array.isArray(dashArray) && dashArray.length > 0) {\n var isValid = true;\n var allZeros = true;\n\n for (var i = 0, len = dashArray.length; i < len; i++) {\n var element = dashArray[i];\n var validNumber = +element >= 0;\n\n if (!validNumber) {\n isValid = false;\n break;\n } else if (element > 0) {\n allZeros = false;\n }\n }\n\n if (isValid && !allZeros) {\n this.dashArray = dashArray;\n } else {\n this.width = 0;\n }\n } else if (dashArray) {\n this.width = 0;\n }\n }\n }, {\n key: \"setHorizontalCornerRadius\",\n value: function setHorizontalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.horizontalCornerRadius = radius;\n }\n }\n }, {\n key: \"setVerticalCornerRadius\",\n value: function setVerticalCornerRadius(radius) {\n if (Number.isInteger(radius)) {\n this.verticalCornerRadius = radius;\n }\n }\n }]);\n\n return AnnotationBorderStyle;\n}();\n\nexports.AnnotationBorderStyle = AnnotationBorderStyle;\n\nvar WidgetAnnotation =\n/*#__PURE__*/\nfunction (_Annotation) {\n _inherits(WidgetAnnotation, _Annotation);\n\n function WidgetAnnotation(params) {\n var _this2;\n\n _classCallCheck(this, WidgetAnnotation);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotation).call(this, params));\n var dict = params.dict;\n var data = _this2.data;\n data.annotationType = _util.AnnotationType.WIDGET;\n data.fieldName = _this2._constructFieldName(dict);\n data.fieldValue = (0, _util.getInheritableProperty)({\n dict: dict,\n key: 'V',\n getArray: true\n });\n data.alternativeText = (0, _util.stringToPDFString)(dict.get('TU') || '');\n data.defaultAppearance = (0, _util.getInheritableProperty)({\n dict: dict,\n key: 'DA'\n }) || '';\n var fieldType = (0, _util.getInheritableProperty)({\n dict: dict,\n key: 'FT'\n });\n data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n _this2.fieldResources = (0, _util.getInheritableProperty)({\n dict: dict,\n key: 'DR'\n }) || _primitives.Dict.empty;\n data.fieldFlags = (0, _util.getInheritableProperty)({\n dict: dict,\n key: 'Ff'\n });\n\n if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n data.fieldFlags = 0;\n }\n\n data.readOnly = _this2.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n\n if (data.fieldType === 'Sig') {\n data.fieldValue = null;\n\n _this2.setFlags(_util.AnnotationFlag.HIDDEN);\n }\n\n return _this2;\n }\n\n _createClass(WidgetAnnotation, [{\n key: \"_constructFieldName\",\n value: function _constructFieldName(dict) {\n if (!dict.has('T') && !dict.has('Parent')) {\n (0, _util.warn)('Unknown field name, falling back to empty field name.');\n return '';\n }\n\n if (!dict.has('Parent')) {\n return (0, _util.stringToPDFString)(dict.get('T'));\n }\n\n var fieldName = [];\n\n if (dict.has('T')) {\n fieldName.unshift((0, _util.stringToPDFString)(dict.get('T')));\n }\n\n var loopDict = dict;\n\n while (loopDict.has('Parent')) {\n loopDict = loopDict.get('Parent');\n\n if (!(0, _primitives.isDict)(loopDict)) {\n break;\n }\n\n if (loopDict.has('T')) {\n fieldName.unshift((0, _util.stringToPDFString)(loopDict.get('T')));\n }\n }\n\n return fieldName.join('.');\n }\n }, {\n key: \"hasFieldFlag\",\n value: function hasFieldFlag(flag) {\n return !!(this.data.fieldFlags & flag);\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n if (renderForms) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms);\n }\n }]);\n\n return WidgetAnnotation;\n}(Annotation);\n\nvar TextWidgetAnnotation =\n/*#__PURE__*/\nfunction (_WidgetAnnotation) {\n _inherits(TextWidgetAnnotation, _WidgetAnnotation);\n\n function TextWidgetAnnotation(params) {\n var _this3;\n\n _classCallCheck(this, TextWidgetAnnotation);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotation).call(this, params));\n var dict = params.dict;\n _this3.data.fieldValue = (0, _util.stringToPDFString)(_this3.data.fieldValue || '');\n var alignment = (0, _util.getInheritableProperty)({\n dict: dict,\n key: 'Q'\n });\n\n if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n alignment = null;\n }\n\n _this3.data.textAlignment = alignment;\n var maximumLength = (0, _util.getInheritableProperty)({\n dict: dict,\n key: 'MaxLen'\n });\n\n if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n maximumLength = null;\n }\n\n _this3.data.maxLen = maximumLength;\n _this3.data.multiLine = _this3.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n _this3.data.comb = _this3.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this3.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this3.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this3.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this3.data.maxLen !== null;\n return _this3;\n }\n\n _createClass(TextWidgetAnnotation, [{\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms) {\n if (renderForms || this.appearance) {\n return _get(_getPrototypeOf(TextWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms);\n }\n\n var operatorList = new _operator_list.OperatorList();\n\n if (!this.data.defaultAppearance) {\n return Promise.resolve(operatorList);\n }\n\n var stream = new _stream.Stream((0, _util.stringToBytes)(this.data.defaultAppearance));\n return evaluator.getOperatorList({\n stream: stream,\n task: task,\n resources: this.fieldResources,\n operatorList: operatorList\n }).then(function () {\n return operatorList;\n });\n }\n }]);\n\n return TextWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ButtonWidgetAnnotation =\n/*#__PURE__*/\nfunction (_WidgetAnnotation2) {\n _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);\n\n function ButtonWidgetAnnotation(params) {\n var _this4;\n\n _classCallCheck(this, ButtonWidgetAnnotation);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(ButtonWidgetAnnotation).call(this, params));\n _this4.data.checkBox = !_this4.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this4.data.radioButton = _this4.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this4.data.pushButton = _this4.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n\n if (_this4.data.checkBox) {\n _this4._processCheckBox(params);\n } else if (_this4.data.radioButton) {\n _this4._processRadioButton(params);\n } else if (_this4.data.pushButton) {\n _this4._processPushButton(params);\n } else {\n (0, _util.warn)('Invalid field flags for button widget annotation');\n }\n\n return _this4;\n }\n\n _createClass(ButtonWidgetAnnotation, [{\n key: \"_processCheckBox\",\n value: function _processCheckBox(params) {\n if ((0, _primitives.isName)(this.data.fieldValue)) {\n this.data.fieldValue = this.data.fieldValue.name;\n }\n\n var customAppearance = params.dict.get('AP');\n\n if (!(0, _primitives.isDict)(customAppearance)) {\n return;\n }\n\n var exportValueOptionsDict = customAppearance.get('D');\n\n if (!(0, _primitives.isDict)(exportValueOptionsDict)) {\n return;\n }\n\n var exportValues = exportValueOptionsDict.getKeys();\n var hasCorrectOptionCount = exportValues.length === 2;\n\n if (!hasCorrectOptionCount) {\n return;\n }\n\n this.data.exportValue = exportValues[0] === 'Off' ? exportValues[1] : exportValues[0];\n }\n }, {\n key: \"_processRadioButton\",\n value: function _processRadioButton(params) {\n this.data.fieldValue = this.data.buttonValue = null;\n var fieldParent = params.dict.get('Parent');\n\n if ((0, _primitives.isDict)(fieldParent) && fieldParent.has('V')) {\n var fieldParentValue = fieldParent.get('V');\n\n if ((0, _primitives.isName)(fieldParentValue)) {\n this.data.fieldValue = fieldParentValue.name;\n }\n }\n\n var appearanceStates = params.dict.get('AP');\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearanceState = appearanceStates.get('N');\n\n if (!(0, _primitives.isDict)(normalAppearanceState)) {\n return;\n }\n\n var keys = normalAppearanceState.getKeys();\n\n for (var i = 0, ii = keys.length; i < ii; i++) {\n if (keys[i] !== 'Off') {\n this.data.buttonValue = keys[i];\n break;\n }\n }\n }\n }, {\n key: \"_processPushButton\",\n value: function _processPushButton(params) {\n if (!params.dict.has('A')) {\n (0, _util.warn)('Push buttons without action dictionaries are not supported');\n return;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: this.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n }\n }]);\n\n return ButtonWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ChoiceWidgetAnnotation =\n/*#__PURE__*/\nfunction (_WidgetAnnotation3) {\n _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);\n\n function ChoiceWidgetAnnotation(params) {\n var _this5;\n\n _classCallCheck(this, ChoiceWidgetAnnotation);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotation).call(this, params));\n _this5.data.options = [];\n var options = (0, _util.getInheritableProperty)({\n dict: params.dict,\n key: 'Opt'\n });\n\n if (Array.isArray(options)) {\n var xref = params.xref;\n\n for (var i = 0, ii = options.length; i < ii; i++) {\n var option = xref.fetchIfRef(options[i]);\n var isOptionArray = Array.isArray(option);\n _this5.data.options[i] = {\n exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option,\n displayValue: (0, _util.stringToPDFString)(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n };\n }\n }\n\n if (!Array.isArray(_this5.data.fieldValue)) {\n _this5.data.fieldValue = [_this5.data.fieldValue];\n }\n\n _this5.data.combo = _this5.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n _this5.data.multiSelect = _this5.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n return _this5;\n }\n\n return ChoiceWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar TextAnnotation =\n/*#__PURE__*/\nfunction (_Annotation2) {\n _inherits(TextAnnotation, _Annotation2);\n\n function TextAnnotation(parameters) {\n var _this6;\n\n _classCallCheck(this, TextAnnotation);\n\n var DEFAULT_ICON_SIZE = 22;\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotation).call(this, parameters));\n _this6.data.annotationType = _util.AnnotationType.TEXT;\n\n if (_this6.data.hasAppearance) {\n _this6.data.name = 'NoIcon';\n } else {\n _this6.data.rect[1] = _this6.data.rect[3] - DEFAULT_ICON_SIZE;\n _this6.data.rect[2] = _this6.data.rect[0] + DEFAULT_ICON_SIZE;\n _this6.data.name = parameters.dict.has('Name') ? parameters.dict.get('Name').name : 'Note';\n }\n\n _this6._preparePopup(parameters.dict);\n\n return _this6;\n }\n\n return TextAnnotation;\n}(Annotation);\n\nvar LinkAnnotation =\n/*#__PURE__*/\nfunction (_Annotation3) {\n _inherits(LinkAnnotation, _Annotation3);\n\n function LinkAnnotation(params) {\n var _this7;\n\n _classCallCheck(this, LinkAnnotation);\n\n _this7 = _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotation).call(this, params));\n _this7.data.annotationType = _util.AnnotationType.LINK;\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: _this7.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n\n return _this7;\n }\n\n return LinkAnnotation;\n}(Annotation);\n\nvar PopupAnnotation =\n/*#__PURE__*/\nfunction (_Annotation4) {\n _inherits(PopupAnnotation, _Annotation4);\n\n function PopupAnnotation(parameters) {\n var _this8;\n\n _classCallCheck(this, PopupAnnotation);\n\n _this8 = _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotation).call(this, parameters));\n _this8.data.annotationType = _util.AnnotationType.POPUP;\n var dict = parameters.dict;\n var parentItem = dict.get('Parent');\n\n if (!parentItem) {\n (0, _util.warn)('Popup annotation has a missing or invalid parent annotation.');\n return _possibleConstructorReturn(_this8);\n }\n\n var parentSubtype = parentItem.get('Subtype');\n _this8.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n _this8.data.parentId = dict.getRaw('Parent').toString();\n _this8.data.title = (0, _util.stringToPDFString)(parentItem.get('T') || '');\n _this8.data.contents = (0, _util.stringToPDFString)(parentItem.get('Contents') || '');\n\n if (!parentItem.has('C')) {\n _this8.data.color = null;\n } else {\n _this8.setColor(parentItem.getArray('C'));\n\n _this8.data.color = _this8.color;\n }\n\n if (!_this8.viewable) {\n var parentFlags = parentItem.get('F');\n\n if (_this8._isViewable(parentFlags)) {\n _this8.setFlags(parentFlags);\n }\n }\n\n return _this8;\n }\n\n return PopupAnnotation;\n}(Annotation);\n\nvar LineAnnotation =\n/*#__PURE__*/\nfunction (_Annotation5) {\n _inherits(LineAnnotation, _Annotation5);\n\n function LineAnnotation(parameters) {\n var _this9;\n\n _classCallCheck(this, LineAnnotation);\n\n _this9 = _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotation).call(this, parameters));\n _this9.data.annotationType = _util.AnnotationType.LINE;\n var dict = parameters.dict;\n _this9.data.lineCoordinates = _util.Util.normalizeRect(dict.getArray('L'));\n\n _this9._preparePopup(dict);\n\n return _this9;\n }\n\n return LineAnnotation;\n}(Annotation);\n\nvar SquareAnnotation =\n/*#__PURE__*/\nfunction (_Annotation6) {\n _inherits(SquareAnnotation, _Annotation6);\n\n function SquareAnnotation(parameters) {\n var _this10;\n\n _classCallCheck(this, SquareAnnotation);\n\n _this10 = _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotation).call(this, parameters));\n _this10.data.annotationType = _util.AnnotationType.SQUARE;\n\n _this10._preparePopup(parameters.dict);\n\n return _this10;\n }\n\n return SquareAnnotation;\n}(Annotation);\n\nvar CircleAnnotation =\n/*#__PURE__*/\nfunction (_Annotation7) {\n _inherits(CircleAnnotation, _Annotation7);\n\n function CircleAnnotation(parameters) {\n var _this11;\n\n _classCallCheck(this, CircleAnnotation);\n\n _this11 = _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotation).call(this, parameters));\n _this11.data.annotationType = _util.AnnotationType.CIRCLE;\n\n _this11._preparePopup(parameters.dict);\n\n return _this11;\n }\n\n return CircleAnnotation;\n}(Annotation);\n\nvar PolylineAnnotation =\n/*#__PURE__*/\nfunction (_Annotation8) {\n _inherits(PolylineAnnotation, _Annotation8);\n\n function PolylineAnnotation(parameters) {\n var _this12;\n\n _classCallCheck(this, PolylineAnnotation);\n\n _this12 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotation).call(this, parameters));\n _this12.data.annotationType = _util.AnnotationType.POLYLINE;\n var dict = parameters.dict;\n var rawVertices = dict.getArray('Vertices');\n _this12.data.vertices = [];\n\n for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n _this12.data.vertices.push({\n x: rawVertices[i],\n y: rawVertices[i + 1]\n });\n }\n\n _this12._preparePopup(dict);\n\n return _this12;\n }\n\n return PolylineAnnotation;\n}(Annotation);\n\nvar PolygonAnnotation =\n/*#__PURE__*/\nfunction (_PolylineAnnotation) {\n _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n function PolygonAnnotation(parameters) {\n var _this13;\n\n _classCallCheck(this, PolygonAnnotation);\n\n _this13 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotation).call(this, parameters));\n _this13.data.annotationType = _util.AnnotationType.POLYGON;\n return _this13;\n }\n\n return PolygonAnnotation;\n}(PolylineAnnotation);\n\nvar InkAnnotation =\n/*#__PURE__*/\nfunction (_Annotation9) {\n _inherits(InkAnnotation, _Annotation9);\n\n function InkAnnotation(parameters) {\n var _this14;\n\n _classCallCheck(this, InkAnnotation);\n\n _this14 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotation).call(this, parameters));\n _this14.data.annotationType = _util.AnnotationType.INK;\n var dict = parameters.dict;\n var xref = parameters.xref;\n var originalInkLists = dict.getArray('InkList');\n _this14.data.inkLists = [];\n\n for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {\n _this14.data.inkLists.push([]);\n\n for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n _this14.data.inkLists[i].push({\n x: xref.fetchIfRef(originalInkLists[i][j]),\n y: xref.fetchIfRef(originalInkLists[i][j + 1])\n });\n }\n }\n\n _this14._preparePopup(dict);\n\n return _this14;\n }\n\n return InkAnnotation;\n}(Annotation);\n\nvar HighlightAnnotation =\n/*#__PURE__*/\nfunction (_Annotation10) {\n _inherits(HighlightAnnotation, _Annotation10);\n\n function HighlightAnnotation(parameters) {\n var _this15;\n\n _classCallCheck(this, HighlightAnnotation);\n\n _this15 = _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotation).call(this, parameters));\n _this15.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n\n _this15._preparePopup(parameters.dict);\n\n return _this15;\n }\n\n return HighlightAnnotation;\n}(Annotation);\n\nvar UnderlineAnnotation =\n/*#__PURE__*/\nfunction (_Annotation11) {\n _inherits(UnderlineAnnotation, _Annotation11);\n\n function UnderlineAnnotation(parameters) {\n var _this16;\n\n _classCallCheck(this, UnderlineAnnotation);\n\n _this16 = _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotation).call(this, parameters));\n _this16.data.annotationType = _util.AnnotationType.UNDERLINE;\n\n _this16._preparePopup(parameters.dict);\n\n return _this16;\n }\n\n return UnderlineAnnotation;\n}(Annotation);\n\nvar SquigglyAnnotation =\n/*#__PURE__*/\nfunction (_Annotation12) {\n _inherits(SquigglyAnnotation, _Annotation12);\n\n function SquigglyAnnotation(parameters) {\n var _this17;\n\n _classCallCheck(this, SquigglyAnnotation);\n\n _this17 = _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotation).call(this, parameters));\n _this17.data.annotationType = _util.AnnotationType.SQUIGGLY;\n\n _this17._preparePopup(parameters.dict);\n\n return _this17;\n }\n\n return SquigglyAnnotation;\n}(Annotation);\n\nvar StrikeOutAnnotation =\n/*#__PURE__*/\nfunction (_Annotation13) {\n _inherits(StrikeOutAnnotation, _Annotation13);\n\n function StrikeOutAnnotation(parameters) {\n var _this18;\n\n _classCallCheck(this, StrikeOutAnnotation);\n\n _this18 = _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotation).call(this, parameters));\n _this18.data.annotationType = _util.AnnotationType.STRIKEOUT;\n\n _this18._preparePopup(parameters.dict);\n\n return _this18;\n }\n\n return StrikeOutAnnotation;\n}(Annotation);\n\nvar StampAnnotation =\n/*#__PURE__*/\nfunction (_Annotation14) {\n _inherits(StampAnnotation, _Annotation14);\n\n function StampAnnotation(parameters) {\n var _this19;\n\n _classCallCheck(this, StampAnnotation);\n\n _this19 = _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotation).call(this, parameters));\n _this19.data.annotationType = _util.AnnotationType.STAMP;\n\n _this19._preparePopup(parameters.dict);\n\n return _this19;\n }\n\n return StampAnnotation;\n}(Annotation);\n\nvar FileAttachmentAnnotation =\n/*#__PURE__*/\nfunction (_Annotation15) {\n _inherits(FileAttachmentAnnotation, _Annotation15);\n\n function FileAttachmentAnnotation(parameters) {\n var _this20;\n\n _classCallCheck(this, FileAttachmentAnnotation);\n\n _this20 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotation).call(this, parameters));\n var file = new _obj.FileSpec(parameters.dict.get('FS'), parameters.xref);\n _this20.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n _this20.data.file = file.serializable;\n\n _this20._preparePopup(parameters.dict);\n\n return _this20;\n }\n\n return FileAttachmentAnnotation;\n}(Annotation);\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OperatorList = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar QueueOptimizer = function QueueOptimizerClosure() {\n function addState(parentState, pattern, checkFn, iterateFn, processFn) {\n var state = parentState;\n\n for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n var item = pattern[i];\n state = state[item] || (state[item] = []);\n }\n\n state[pattern[pattern.length - 1]] = {\n checkFn: checkFn,\n iterateFn: iterateFn,\n processFn: processFn\n };\n }\n\n function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {\n var iFirstPIMXO = iFirstSave + 2;\n\n for (var i = 0; i < count; i++) {\n var arg = argsArray[iFirstPIMXO + 4 * i];\n var imageMask = arg.length === 1 && arg[0];\n\n if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {\n fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;\n continue;\n }\n\n break;\n }\n\n return count - i;\n }\n\n var InitialState = [];\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintInlineImageXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n }, function foundInlineImageGroup(context, i) {\n var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n var MAX_WIDTH = 1000;\n var IMAGE_PADDING = 1;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIIXO = curr - 1;\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n\n if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var maxX = 0;\n var map = [],\n maxLineHeight = 0;\n var currentX = IMAGE_PADDING,\n currentY = IMAGE_PADDING;\n var q;\n\n for (q = 0; q < count; q++) {\n var transform = argsArray[iFirstTransform + (q << 2)];\n var img = argsArray[iFirstPIIXO + (q << 2)][0];\n\n if (currentX + img.width > MAX_WIDTH) {\n maxX = Math.max(maxX, currentX);\n currentY += maxLineHeight + 2 * IMAGE_PADDING;\n currentX = 0;\n maxLineHeight = 0;\n }\n\n map.push({\n transform: transform,\n x: currentX,\n y: currentY,\n w: img.width,\n h: img.height\n });\n currentX += img.width + 2 * IMAGE_PADDING;\n maxLineHeight = Math.max(maxLineHeight, img.height);\n }\n\n var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);\n var imgRowSize = imgWidth << 2;\n\n for (q = 0; q < count; q++) {\n var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n var rowSize = map[q].w << 2;\n var dataOffset = 0;\n var offset = map[q].x + map[q].y * imgWidth << 2;\n imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n\n for (var k = 0, kk = map[q].h; k < kk; k++) {\n imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n dataOffset += rowSize;\n offset += imgRowSize;\n }\n\n imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n\n while (offset >= 0) {\n data[offset - 4] = data[offset];\n data[offset - 3] = data[offset + 1];\n data[offset - 2] = data[offset + 2];\n data[offset - 1] = data[offset + 3];\n data[offset + rowSize] = data[offset + rowSize - 4];\n data[offset + rowSize + 1] = data[offset + rowSize - 3];\n data[offset + rowSize + 2] = data[offset + rowSize - 2];\n data[offset + rowSize + 3] = data[offset + rowSize - 1];\n offset -= imgRowSize;\n }\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [{\n width: imgWidth,\n height: imgHeight,\n kind: _util.ImageKind.RGBA_32BPP,\n data: imgData\n }, map]);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintImageMaskXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n }, function foundImageMaskGroup(context, i) {\n var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIMXO = curr - 1;\n var count = Math.floor((i - iFirstSave) / 4);\n count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);\n\n if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var q;\n var isSameImage = false;\n var iTransform, transformArgs;\n var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n\n if (argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0) {\n isSameImage = true;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n iTransform = iFirstTransform + 4;\n var iPIMXO = iFirstPIMXO + 4;\n\n for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n transformArgs = argsArray[iTransform];\n\n if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== 0 || transformArgs[2] !== 0 || transformArgs[3] !== firstTransformArg3) {\n if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n isSameImage = false;\n } else {\n count = q;\n }\n\n break;\n }\n }\n }\n\n if (isSameImage) {\n count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n var positions = new Float32Array(count * 2);\n iTransform = iFirstTransform;\n\n for (q = 0; q < count; q++, iTransform += 4) {\n transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg3, positions]);\n } else {\n count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n var images = [];\n\n for (q = 0; q < count; q++) {\n transformArgs = argsArray[iFirstTransform + (q << 2)];\n var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n images.push({\n data: maskParams.data,\n width: maskParams.width,\n height: maskParams.height,\n transform: transformArgs\n });\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [images]);\n }\n\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {\n var argsArray = context.argsArray;\n var iFirstTransform = context.iCurr - 2;\n return argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0;\n }, function (context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n if (fnArray[i] !== _util.OPS.transform) {\n return false;\n }\n\n var iFirstTransform = context.iCurr - 2;\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n\n if (argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || argsArray[i][2] !== 0 || argsArray[i][3] !== firstTransformArg3) {\n return false;\n }\n\n return true;\n\n case 2:\n if (fnArray[i] !== _util.OPS.paintImageXObject) {\n return false;\n }\n\n var iFirstPIXO = context.iCurr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n\n if (argsArray[i][0] !== firstPIXOArg0) {\n return false;\n }\n\n return true;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n }, function (context, i) {\n var MIN_IMAGES_IN_BLOCK = 3;\n var MAX_IMAGES_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIXO = curr - 1;\n var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n var firstTransformArg0 = argsArray[iFirstTransform][0];\n var firstTransformArg3 = argsArray[iFirstTransform][3];\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_BLOCK);\n\n if (count < MIN_IMAGES_IN_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var positions = new Float32Array(count * 2);\n var iTransform = iFirstTransform;\n\n for (var q = 0; q < count; q++, iTransform += 4) {\n var transformArgs = argsArray[iTransform];\n positions[q << 1] = transformArgs[4];\n positions[(q << 1) + 1] = transformArgs[5];\n }\n\n var args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);\n argsArray.splice(iFirstSave, count * 4, args);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], null, function (context, i) {\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var iFirstSave = context.iCurr - 4;\n var pos = (i - iFirstSave) % 5;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.beginText;\n\n case 1:\n return fnArray[i] === _util.OPS.setFont;\n\n case 2:\n return fnArray[i] === _util.OPS.setTextMatrix;\n\n case 3:\n if (fnArray[i] !== _util.OPS.showText) {\n return false;\n }\n\n var iFirstSetFont = context.iCurr - 3;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n\n if (argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1) {\n return false;\n }\n\n return true;\n\n case 4:\n return fnArray[i] === _util.OPS.endText;\n }\n }, function (context, i) {\n var MIN_CHARS_IN_BLOCK = 3;\n var MAX_CHARS_IN_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstBeginText = curr - 4;\n var iFirstSetFont = curr - 3;\n var iFirstSetTextMatrix = curr - 2;\n var iFirstShowText = curr - 1;\n var iFirstEndText = curr;\n var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n var count = Math.min(Math.floor((i - iFirstBeginText) / 5), MAX_CHARS_IN_BLOCK);\n\n if (count < MIN_CHARS_IN_BLOCK) {\n return i - (i - iFirstBeginText) % 5;\n }\n\n var iFirst = iFirstBeginText;\n\n if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {\n count++;\n iFirst -= 5;\n }\n\n var iEndText = iFirst + 4;\n\n for (var q = 1; q < count; q++) {\n fnArray.splice(iEndText, 3);\n argsArray.splice(iEndText, 3);\n iEndText += 2;\n }\n\n return iEndText + 1;\n });\n\n function QueueOptimizer(queue) {\n this.queue = queue;\n this.state = null;\n this.context = {\n iCurr: 0,\n fnArray: queue.fnArray,\n argsArray: queue.argsArray\n };\n this.match = null;\n this.lastProcessed = 0;\n }\n\n QueueOptimizer.prototype = {\n _optimize: function _optimize() {\n var fnArray = this.queue.fnArray;\n var i = this.lastProcessed,\n ii = fnArray.length;\n var state = this.state;\n var match = this.match;\n\n if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {\n this.lastProcessed = ii;\n return;\n }\n\n var context = this.context;\n\n while (i < ii) {\n if (match) {\n var iterate = (0, match.iterateFn)(context, i);\n\n if (iterate) {\n i++;\n continue;\n }\n\n i = (0, match.processFn)(context, i + 1);\n ii = fnArray.length;\n match = null;\n state = null;\n\n if (i >= ii) {\n break;\n }\n }\n\n state = (state || InitialState)[fnArray[i]];\n\n if (!state || Array.isArray(state)) {\n i++;\n continue;\n }\n\n context.iCurr = i;\n i++;\n\n if (state.checkFn && !(0, state.checkFn)(context)) {\n state = null;\n continue;\n }\n\n match = state;\n state = null;\n }\n\n this.state = state;\n this.match = match;\n this.lastProcessed = i;\n },\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n\n this._optimize();\n },\n flush: function flush() {\n while (this.match) {\n var length = this.queue.fnArray.length;\n this.lastProcessed = (0, this.match.processFn)(this.context, length);\n this.match = null;\n this.state = null;\n\n this._optimize();\n }\n },\n reset: function reset() {\n this.state = null;\n this.match = null;\n this.lastProcessed = 0;\n }\n };\n return QueueOptimizer;\n}();\n\nvar NullOptimizer = function NullOptimizerClosure() {\n function NullOptimizer(queue) {\n this.queue = queue;\n }\n\n NullOptimizer.prototype = {\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n },\n flush: function flush() {}\n };\n return NullOptimizer;\n}();\n\nvar OperatorList = function OperatorListClosure() {\n var CHUNK_SIZE = 1000;\n var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n\n function getTransfers(queue) {\n var transfers = [];\n var fnArray = queue.fnArray,\n argsArray = queue.argsArray;\n\n for (var i = 0, ii = queue.length; i < ii; i++) {\n switch (fnArray[i]) {\n case _util.OPS.paintInlineImageXObject:\n case _util.OPS.paintInlineImageXObjectGroup:\n case _util.OPS.paintImageMaskXObject:\n var arg = argsArray[i][0];\n ;\n\n if (!arg.cached) {\n transfers.push(arg.data.buffer);\n }\n\n break;\n }\n }\n\n return transfers;\n }\n\n function OperatorList(intent, messageHandler, pageIndex) {\n this.messageHandler = messageHandler;\n this.fnArray = [];\n this.argsArray = [];\n\n if (messageHandler && this.intent !== 'oplist') {\n this.optimizer = new QueueOptimizer(this);\n } else {\n this.optimizer = new NullOptimizer(this);\n }\n\n this.dependencies = Object.create(null);\n this._totalLength = 0;\n this.pageIndex = pageIndex;\n this.intent = intent;\n this.weight = 0;\n }\n\n OperatorList.prototype = {\n get length() {\n return this.argsArray.length;\n },\n\n get totalLength() {\n return this._totalLength + this.length;\n },\n\n addOp: function addOp(fn, args) {\n this.optimizer.push(fn, args);\n this.weight++;\n\n if (this.messageHandler) {\n if (this.weight >= CHUNK_SIZE) {\n this.flush();\n } else if (this.weight >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {\n this.flush();\n }\n }\n },\n addDependency: function addDependency(dependency) {\n if (dependency in this.dependencies) {\n return;\n }\n\n this.dependencies[dependency] = true;\n this.addOp(_util.OPS.dependency, [dependency]);\n },\n addDependencies: function addDependencies(dependencies) {\n for (var key in dependencies) {\n this.addDependency(key);\n }\n },\n addOpList: function addOpList(opList) {\n Object.assign(this.dependencies, opList.dependencies);\n\n for (var i = 0, ii = opList.length; i < ii; i++) {\n this.addOp(opList.fnArray[i], opList.argsArray[i]);\n }\n },\n getIR: function getIR() {\n return {\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n length: this.length\n };\n },\n flush: function flush(lastChunk) {\n this.optimizer.flush();\n var transfers = getTransfers(this);\n var length = this.length;\n this._totalLength += length;\n this.messageHandler.send('RenderPageChunk', {\n operatorList: {\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n lastChunk: lastChunk,\n length: length\n },\n pageIndex: this.pageIndex,\n intent: this.intent\n }, transfers);\n this.dependencies = Object.create(null);\n this.fnArray.length = 0;\n this.argsArray.length = 0;\n this.weight = 0;\n this.optimizer.reset();\n }\n };\n return OperatorList;\n}();\n\nexports.OperatorList = OperatorList;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PartialEvaluator = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _cmap = __w_pdfjs_require__(172);\n\nvar _stream = __w_pdfjs_require__(157);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _fonts = __w_pdfjs_require__(173);\n\nvar _encodings = __w_pdfjs_require__(176);\n\nvar _unicode = __w_pdfjs_require__(179);\n\nvar _standard_fonts = __w_pdfjs_require__(178);\n\nvar _pattern = __w_pdfjs_require__(182);\n\nvar _parser = __w_pdfjs_require__(156);\n\nvar _bidi = __w_pdfjs_require__(183);\n\nvar _colorspace = __w_pdfjs_require__(168);\n\nvar _glyphlist = __w_pdfjs_require__(177);\n\nvar _metrics = __w_pdfjs_require__(184);\n\nvar _function = __w_pdfjs_require__(185);\n\nvar _jpeg_stream = __w_pdfjs_require__(163);\n\nvar _murmurhash = __w_pdfjs_require__(187);\n\nvar _operator_list = __w_pdfjs_require__(170);\n\nvar _image = __w_pdfjs_require__(188);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar PartialEvaluator = function PartialEvaluatorClosure() {\n var DefaultPartialEvaluatorOptions = {\n forceDataSchema: false,\n maxImageSize: -1,\n disableFontFace: false,\n nativeImageDecoderSupport: _util.NativeImageDecoding.DECODE,\n ignoreErrors: false,\n isEvalSupported: true\n };\n\n function NativeImageDecoder(_ref) {\n var xref = _ref.xref,\n resources = _ref.resources,\n handler = _ref.handler,\n _ref$forceDataSchema = _ref.forceDataSchema,\n forceDataSchema = _ref$forceDataSchema === void 0 ? false : _ref$forceDataSchema,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n this.xref = xref;\n this.resources = resources;\n this.handler = handler;\n this.forceDataSchema = forceDataSchema;\n this.pdfFunctionFactory = pdfFunctionFactory;\n }\n\n NativeImageDecoder.prototype = {\n canDecode: function canDecode(image) {\n return image instanceof _jpeg_stream.JpegStream && NativeImageDecoder.isDecodable(image, this.xref, this.resources, this.pdfFunctionFactory);\n },\n decode: function decode(image) {\n var dict = image.dict;\n var colorSpace = dict.get('ColorSpace', 'CS');\n colorSpace = _colorspace.ColorSpace.parse(colorSpace, this.xref, this.resources, this.pdfFunctionFactory);\n return this.handler.sendWithPromise('JpegDecode', [image.getIR(this.forceDataSchema), colorSpace.numComps]).then(function (_ref2) {\n var data = _ref2.data,\n width = _ref2.width,\n height = _ref2.height;\n return new _stream.Stream(data, 0, data.length, image.dict);\n });\n }\n };\n\n NativeImageDecoder.isSupported = function (image, xref, res, pdfFunctionFactory) {\n var dict = image.dict;\n\n if (dict.has('DecodeParms') || dict.has('DP')) {\n return false;\n }\n\n var cs = _colorspace.ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res, pdfFunctionFactory);\n\n return (cs.name === 'DeviceGray' || cs.name === 'DeviceRGB') && cs.isDefaultDecode(dict.getArray('Decode', 'D'));\n };\n\n NativeImageDecoder.isDecodable = function (image, xref, res, pdfFunctionFactory) {\n var dict = image.dict;\n\n if (dict.has('DecodeParms') || dict.has('DP')) {\n return false;\n }\n\n var cs = _colorspace.ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res, pdfFunctionFactory);\n\n var bpc = dict.get('BitsPerComponent', 'BPC') || 1;\n return (cs.numComps === 1 || cs.numComps === 3) && cs.isDefaultDecode(dict.getArray('Decode', 'D'), bpc);\n };\n\n function PartialEvaluator(_ref3) {\n var _this = this;\n\n var pdfManager = _ref3.pdfManager,\n xref = _ref3.xref,\n handler = _ref3.handler,\n pageIndex = _ref3.pageIndex,\n idFactory = _ref3.idFactory,\n fontCache = _ref3.fontCache,\n builtInCMapCache = _ref3.builtInCMapCache,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? null : _ref3$options,\n pdfFunctionFactory = _ref3.pdfFunctionFactory;\n this.pdfManager = pdfManager;\n this.xref = xref;\n this.handler = handler;\n this.pageIndex = pageIndex;\n this.idFactory = idFactory;\n this.fontCache = fontCache;\n this.builtInCMapCache = builtInCMapCache;\n this.options = options || DefaultPartialEvaluatorOptions;\n this.pdfFunctionFactory = pdfFunctionFactory;\n\n this.fetchBuiltInCMap =\n /*#__PURE__*/\n function () {\n var _ref4 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee(name) {\n var data;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!_this.builtInCMapCache.has(name)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", _this.builtInCMapCache.get(name));\n\n case 2:\n _context.next = 4;\n return _this.handler.sendWithPromise('FetchBuiltInCMap', {\n name: name\n });\n\n case 4:\n data = _context.sent;\n\n if (data.compressionType !== _util.CMapCompressionType.NONE) {\n _this.builtInCMapCache.set(name, data);\n }\n\n return _context.abrupt(\"return\", data);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function (_x) {\n return _ref4.apply(this, arguments);\n };\n }();\n }\n\n var TIME_SLOT_DURATION_MS = 20;\n var CHECK_TIME_EVERY = 100;\n\n function TimeSlotManager() {\n this.reset();\n }\n\n TimeSlotManager.prototype = {\n check: function TimeSlotManager_check() {\n if (++this.checked < CHECK_TIME_EVERY) {\n return false;\n }\n\n this.checked = 0;\n return this.endTime <= Date.now();\n },\n reset: function TimeSlotManager_reset() {\n this.endTime = Date.now() + TIME_SLOT_DURATION_MS;\n this.checked = 0;\n }\n };\n\n function normalizeBlendMode(value) {\n if (!(0, _primitives.isName)(value)) {\n return 'source-over';\n }\n\n switch (value.name) {\n case 'Normal':\n case 'Compatible':\n return 'source-over';\n\n case 'Multiply':\n return 'multiply';\n\n case 'Screen':\n return 'screen';\n\n case 'Overlay':\n return 'overlay';\n\n case 'Darken':\n return 'darken';\n\n case 'Lighten':\n return 'lighten';\n\n case 'ColorDodge':\n return 'color-dodge';\n\n case 'ColorBurn':\n return 'color-burn';\n\n case 'HardLight':\n return 'hard-light';\n\n case 'SoftLight':\n return 'soft-light';\n\n case 'Difference':\n return 'difference';\n\n case 'Exclusion':\n return 'exclusion';\n\n case 'Hue':\n return 'hue';\n\n case 'Saturation':\n return 'saturation';\n\n case 'Color':\n return 'color';\n\n case 'Luminosity':\n return 'luminosity';\n }\n\n (0, _util.warn)('Unsupported blend mode: ' + value.name);\n return 'source-over';\n }\n\n var deferred = Promise.resolve();\n var TILING_PATTERN = 1,\n SHADING_PATTERN = 2;\n PartialEvaluator.prototype = {\n clone: function clone() {\n var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DefaultPartialEvaluatorOptions;\n var newEvaluator = Object.create(this);\n newEvaluator.options = newOptions;\n return newEvaluator;\n },\n hasBlendModes: function PartialEvaluator_hasBlendModes(resources) {\n if (!(0, _primitives.isDict)(resources)) {\n return false;\n }\n\n var processed = Object.create(null);\n\n if (resources.objId) {\n processed[resources.objId] = true;\n }\n\n var nodes = [resources],\n xref = this.xref;\n\n while (nodes.length) {\n var key, i, ii;\n var node = nodes.shift();\n var graphicStates = node.get('ExtGState');\n\n if ((0, _primitives.isDict)(graphicStates)) {\n var graphicStatesKeys = graphicStates.getKeys();\n\n for (i = 0, ii = graphicStatesKeys.length; i < ii; i++) {\n key = graphicStatesKeys[i];\n var graphicState = graphicStates.get(key);\n var bm = graphicState.get('BM');\n\n if ((0, _primitives.isName)(bm) && bm.name !== 'Normal') {\n return true;\n }\n }\n }\n\n var xObjects = node.get('XObject');\n\n if (!(0, _primitives.isDict)(xObjects)) {\n continue;\n }\n\n var xObjectsKeys = xObjects.getKeys();\n\n for (i = 0, ii = xObjectsKeys.length; i < ii; i++) {\n key = xObjectsKeys[i];\n var xObject = xObjects.getRaw(key);\n\n if ((0, _primitives.isRef)(xObject)) {\n if (processed[xObject.toString()]) {\n continue;\n }\n\n xObject = xref.fetch(xObject);\n }\n\n if (!(0, _primitives.isStream)(xObject)) {\n continue;\n }\n\n if (xObject.dict.objId) {\n if (processed[xObject.dict.objId]) {\n continue;\n }\n\n processed[xObject.dict.objId] = true;\n }\n\n var xResources = xObject.dict.get('Resources');\n\n if ((0, _primitives.isDict)(xResources) && (!xResources.objId || !processed[xResources.objId])) {\n nodes.push(xResources);\n\n if (xResources.objId) {\n processed[xResources.objId] = true;\n }\n }\n }\n }\n\n return false;\n },\n buildFormXObject: function PartialEvaluator_buildFormXObject(resources, xobj, smask, operatorList, task, initialState) {\n var dict = xobj.dict;\n var matrix = dict.getArray('Matrix');\n var bbox = dict.getArray('BBox');\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n bbox = _util.Util.normalizeRect(bbox);\n } else {\n bbox = null;\n }\n\n var group = dict.get('Group');\n\n if (group) {\n var groupOptions = {\n matrix: matrix,\n bbox: bbox,\n smask: smask,\n isolated: false,\n knockout: false\n };\n var groupSubtype = group.get('S');\n var colorSpace = null;\n\n if ((0, _primitives.isName)(groupSubtype, 'Transparency')) {\n groupOptions.isolated = group.get('I') || false;\n groupOptions.knockout = group.get('K') || false;\n\n if (group.has('CS')) {\n colorSpace = _colorspace.ColorSpace.parse(group.get('CS'), this.xref, resources, this.pdfFunctionFactory);\n }\n }\n\n if (smask && smask.backdrop) {\n colorSpace = colorSpace || _colorspace.ColorSpace.singletons.rgb;\n smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n }\n\n operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);\n }\n\n operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n return this.getOperatorList({\n stream: xobj,\n task: task,\n resources: dict.get('Resources') || resources,\n operatorList: operatorList,\n initialState: initialState\n }).then(function () {\n operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);\n\n if (group) {\n operatorList.addOp(_util.OPS.endGroup, [groupOptions]);\n }\n });\n },\n buildPaintImageXObject: function buildPaintImageXObject(_ref5) {\n var _this2 = this;\n\n var resources = _ref5.resources,\n image = _ref5.image,\n _ref5$isInline = _ref5.isInline,\n isInline = _ref5$isInline === void 0 ? false : _ref5$isInline,\n operatorList = _ref5.operatorList,\n cacheKey = _ref5.cacheKey,\n imageCache = _ref5.imageCache,\n _ref5$forceDisableNat = _ref5.forceDisableNativeImageDecoder,\n forceDisableNativeImageDecoder = _ref5$forceDisableNat === void 0 ? false : _ref5$forceDisableNat;\n var dict = image.dict;\n var w = dict.get('Width', 'W');\n var h = dict.get('Height', 'H');\n\n if (!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h))) {\n (0, _util.warn)('Image dimensions are missing, or not numbers.');\n return Promise.resolve();\n }\n\n var maxImageSize = this.options.maxImageSize;\n\n if (maxImageSize !== -1 && w * h > maxImageSize) {\n (0, _util.warn)('Image exceeded maximum allowed size and was removed.');\n return Promise.resolve();\n }\n\n var imageMask = dict.get('ImageMask', 'IM') || false;\n var imgData, args;\n\n if (imageMask) {\n var width = dict.get('Width', 'W');\n var height = dict.get('Height', 'H');\n var bitStrideLength = width + 7 >> 3;\n var imgArray = image.getBytes(bitStrideLength * height, true);\n var decode = dict.getArray('Decode', 'D');\n imgData = _image.PDFImage.createMask({\n imgArray: imgArray,\n width: width,\n height: height,\n imageIsFromDecodeStream: image instanceof _stream.DecodeStream,\n inverseDecode: !!decode && decode[0] > 0\n });\n imgData.cached = true;\n args = [imgData];\n operatorList.addOp(_util.OPS.paintImageMaskXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintImageMaskXObject,\n args: args\n };\n }\n\n return Promise.resolve();\n }\n\n var softMask = dict.get('SMask', 'SM') || false;\n var mask = dict.get('Mask') || false;\n var SMALL_IMAGE_DIMENSIONS = 200;\n\n if (isInline && !softMask && !mask && !(image instanceof _jpeg_stream.JpegStream) && w + h < SMALL_IMAGE_DIMENSIONS) {\n var imageObj = new _image.PDFImage({\n xref: this.xref,\n res: resources,\n image: image,\n isInline: isInline,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n imgData = imageObj.createImageData(true);\n operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n return Promise.resolve();\n }\n\n var nativeImageDecoderSupport = forceDisableNativeImageDecoder ? _util.NativeImageDecoding.NONE : this.options.nativeImageDecoderSupport;\n var objId = 'img_' + this.idFactory.createObjId();\n\n if (nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && !softMask && !mask && image instanceof _jpeg_stream.JpegStream && NativeImageDecoder.isSupported(image, this.xref, resources, this.pdfFunctionFactory)) {\n return this.handler.sendWithPromise('obj', [objId, this.pageIndex, 'JpegStream', image.getIR(this.options.forceDataSchema)]).then(function () {\n operatorList.addDependency(objId);\n args = [objId, w, h];\n operatorList.addOp(_util.OPS.paintJpegXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintJpegXObject,\n args: args\n };\n }\n }, function (reason) {\n (0, _util.warn)('Native JPEG decoding failed -- trying to recover: ' + (reason && reason.message));\n return _this2.buildPaintImageXObject({\n resources: resources,\n image: image,\n isInline: isInline,\n operatorList: operatorList,\n cacheKey: cacheKey,\n imageCache: imageCache,\n forceDisableNativeImageDecoder: true\n });\n });\n }\n\n var nativeImageDecoder = null;\n\n if (nativeImageDecoderSupport === _util.NativeImageDecoding.DECODE && (image instanceof _jpeg_stream.JpegStream || mask instanceof _jpeg_stream.JpegStream || softMask instanceof _jpeg_stream.JpegStream)) {\n nativeImageDecoder = new NativeImageDecoder({\n xref: this.xref,\n resources: resources,\n handler: this.handler,\n forceDataSchema: this.options.forceDataSchema,\n pdfFunctionFactory: this.pdfFunctionFactory\n });\n }\n\n operatorList.addDependency(objId);\n args = [objId, w, h];\n\n _image.PDFImage.buildImage({\n handler: this.handler,\n xref: this.xref,\n res: resources,\n image: image,\n isInline: isInline,\n nativeDecoder: nativeImageDecoder,\n pdfFunctionFactory: this.pdfFunctionFactory\n }).then(function (imageObj) {\n var imgData = imageObj.createImageData(false);\n\n _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', imgData], [imgData.data.buffer]);\n }).catch(function (reason) {\n (0, _util.warn)('Unable to decode image: ' + reason);\n\n _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', null]);\n });\n\n operatorList.addOp(_util.OPS.paintImageXObject, args);\n\n if (cacheKey) {\n imageCache[cacheKey] = {\n fn: _util.OPS.paintImageXObject,\n args: args\n };\n }\n\n return Promise.resolve();\n },\n handleSMask: function PartialEvaluator_handleSmask(smask, resources, operatorList, task, stateManager) {\n var smaskContent = smask.get('G');\n var smaskOptions = {\n subtype: smask.get('S').name,\n backdrop: smask.get('BC')\n };\n var transferObj = smask.get('TR');\n\n if ((0, _function.isPDFFunction)(transferObj)) {\n var transferFn = this.pdfFunctionFactory.create(transferObj);\n var transferMap = new Uint8Array(256);\n var tmp = new Float32Array(1);\n\n for (var i = 0; i < 256; i++) {\n tmp[0] = i / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[i] = tmp[0] * 255 | 0;\n }\n\n smaskOptions.transferMap = transferMap;\n }\n\n return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone());\n },\n handleTilingType: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {\n var _this3 = this;\n\n var tilingOpList = new _operator_list.OperatorList();\n var resourcesArray = [patternDict.get('Resources'), resources];\n\n var patternResources = _primitives.Dict.merge(this.xref, resourcesArray);\n\n return this.getOperatorList({\n stream: pattern,\n task: task,\n resources: patternResources,\n operatorList: tilingOpList\n }).then(function () {\n return (0, _pattern.getTilingPatternIR)({\n fnArray: tilingOpList.fnArray,\n argsArray: tilingOpList.argsArray\n }, patternDict, args);\n }).then(function (tilingPatternIR) {\n operatorList.addDependencies(tilingOpList.dependencies);\n operatorList.addOp(fn, tilingPatternIR);\n }, function (reason) {\n if (_this3.options.ignoreErrors) {\n _this3.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n\n (0, _util.warn)(\"handleTilingType - ignoring pattern: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n });\n },\n handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n var _this4 = this;\n\n var fontName;\n\n if (fontArgs) {\n fontArgs = fontArgs.slice();\n fontName = fontArgs[0].name;\n }\n\n return this.loadFont(fontName, fontRef, resources).then(function (translated) {\n if (!translated.font.isType3Font) {\n return translated;\n }\n\n return translated.loadType3Data(_this4, resources, operatorList, task).then(function () {\n return translated;\n }).catch(function (reason) {\n _this4.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n return new TranslatedFont('g_font_error', new _fonts.ErrorFont('Type3 font load error: ' + reason), translated.font);\n });\n }).then(function (translated) {\n state.font = translated.font;\n translated.send(_this4.handler);\n return translated.loadedName;\n });\n },\n handleText: function handleText(chars, state) {\n var font = state.font;\n var glyphs = font.charsToGlyphs(chars);\n\n if (font.data) {\n var isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n\n if (isAddToPathSet || state.fillColorSpace.name === 'Pattern' || font.disableFontFace || this.options.disableFontFace) {\n PartialEvaluator.buildFontPaths(font, glyphs, this.handler);\n }\n }\n\n return glyphs;\n },\n setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, stateManager) {\n var _this5 = this;\n\n var gStateObj = [];\n var gStateKeys = gState.getKeys();\n var promise = Promise.resolve();\n\n var _loop = function _loop() {\n var key = gStateKeys[i];\n var value = gState.get(key);\n\n switch (key) {\n case 'Type':\n break;\n\n case 'LW':\n case 'LC':\n case 'LJ':\n case 'ML':\n case 'D':\n case 'RI':\n case 'FL':\n case 'CA':\n case 'ca':\n gStateObj.push([key, value]);\n break;\n\n case 'Font':\n promise = promise.then(function () {\n return _this5.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n gStateObj.push([key, [loadedName, value[1]]]);\n });\n });\n break;\n\n case 'BM':\n gStateObj.push([key, normalizeBlendMode(value)]);\n break;\n\n case 'SMask':\n if ((0, _primitives.isName)(value, 'None')) {\n gStateObj.push([key, false]);\n break;\n }\n\n if ((0, _primitives.isDict)(value)) {\n promise = promise.then(function () {\n return _this5.handleSMask(value, resources, operatorList, task, stateManager);\n });\n gStateObj.push([key, true]);\n } else {\n (0, _util.warn)('Unsupported SMask type');\n }\n\n break;\n\n case 'OP':\n case 'op':\n case 'OPM':\n case 'BG':\n case 'BG2':\n case 'UCR':\n case 'UCR2':\n case 'TR':\n case 'TR2':\n case 'HT':\n case 'SM':\n case 'SA':\n case 'AIS':\n case 'TK':\n (0, _util.info)('graphic state operator ' + key);\n break;\n\n default:\n (0, _util.info)('Unknown graphic state operator ' + key);\n break;\n }\n };\n\n for (var i = 0, ii = gStateKeys.length; i < ii; i++) {\n _loop();\n }\n\n return promise.then(function () {\n if (gStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n }\n });\n },\n loadFont: function PartialEvaluator_loadFont(fontName, font, resources) {\n var _this6 = this;\n\n function errorFont() {\n return Promise.resolve(new TranslatedFont('g_font_error', new _fonts.ErrorFont('Font ' + fontName + ' is not available'), font));\n }\n\n var fontRef,\n xref = this.xref;\n\n if (font) {\n if (!(0, _primitives.isRef)(font)) {\n throw new Error('The \"font\" object should be a reference.');\n }\n\n fontRef = font;\n } else {\n var fontRes = resources.get('Font');\n\n if (fontRes) {\n fontRef = fontRes.getRaw(fontName);\n } else {\n (0, _util.warn)('fontRes not available');\n return errorFont();\n }\n }\n\n if (!fontRef) {\n (0, _util.warn)('fontRef not available');\n return errorFont();\n }\n\n if (this.fontCache.has(fontRef)) {\n return this.fontCache.get(fontRef);\n }\n\n font = xref.fetchIfRef(fontRef);\n\n if (!(0, _primitives.isDict)(font)) {\n return errorFont();\n }\n\n if (font.translated) {\n return font.translated;\n }\n\n var fontCapability = (0, _util.createPromiseCapability)();\n var preEvaluatedFont = this.preEvaluateFont(font);\n var descriptor = preEvaluatedFont.descriptor;\n var fontRefIsRef = (0, _primitives.isRef)(fontRef),\n fontID;\n\n if (fontRefIsRef) {\n fontID = fontRef.toString();\n }\n\n if ((0, _primitives.isDict)(descriptor)) {\n if (!descriptor.fontAliases) {\n descriptor.fontAliases = Object.create(null);\n }\n\n var fontAliases = descriptor.fontAliases;\n var hash = preEvaluatedFont.hash;\n\n if (fontAliases[hash]) {\n var aliasFontRef = fontAliases[hash].aliasRef;\n\n if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {\n this.fontCache.putAlias(fontRef, aliasFontRef);\n return this.fontCache.get(fontRef);\n }\n } else {\n fontAliases[hash] = {\n fontID: _fonts.Font.getFontID()\n };\n }\n\n if (fontRefIsRef) {\n fontAliases[hash].aliasRef = fontRef;\n }\n\n fontID = fontAliases[hash].fontID;\n }\n\n if (fontRefIsRef) {\n this.fontCache.put(fontRef, fontCapability.promise);\n } else {\n if (!fontID) {\n fontID = this.idFactory.createObjId();\n }\n\n this.fontCache.put('id_' + fontID, fontCapability.promise);\n }\n\n (0, _util.assert)(fontID, 'The \"fontID\" must be defined.');\n font.loadedName = 'g_' + this.pdfManager.docId + '_f' + fontID;\n font.translated = fontCapability.promise;\n var translatedPromise;\n\n try {\n translatedPromise = this.translateFont(preEvaluatedFont);\n } catch (e) {\n translatedPromise = Promise.reject(e);\n }\n\n translatedPromise.then(function (translatedFont) {\n if (translatedFont.fontType !== undefined) {\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[translatedFont.fontType] = true;\n }\n\n fontCapability.resolve(new TranslatedFont(font.loadedName, translatedFont, font));\n }).catch(function (reason) {\n _this6.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n try {\n var descriptor = preEvaluatedFont.descriptor;\n var fontFile3 = descriptor && descriptor.get('FontFile3');\n var subtype = fontFile3 && fontFile3.get('Subtype');\n var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);\n var xrefFontStats = xref.stats.fontTypes;\n xrefFontStats[fontType] = true;\n } catch (ex) {}\n\n fontCapability.resolve(new TranslatedFont(font.loadedName, new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason), font));\n });\n return fontCapability.promise;\n },\n buildPath: function PartialEvaluator_buildPath(operatorList, fn, args) {\n var lastIndex = operatorList.length - 1;\n\n if (!args) {\n args = [];\n }\n\n if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {\n operatorList.addOp(_util.OPS.constructPath, [[fn], args]);\n } else {\n var opArgs = operatorList.argsArray[lastIndex];\n opArgs[0].push(fn);\n Array.prototype.push.apply(opArgs[1], args);\n }\n },\n handleColorN: function PartialEvaluator_handleColorN(operatorList, fn, args, cs, patterns, resources, task) {\n var patternName = args[args.length - 1];\n var pattern;\n\n if ((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name))) {\n var dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n var typeNum = dict.get('PatternType');\n\n if (typeNum === TILING_PATTERN) {\n var color = cs.base ? cs.base.getRgb(args, 0) : null;\n return this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task);\n } else if (typeNum === SHADING_PATTERN) {\n var shading = dict.get('Shading');\n var matrix = dict.getArray('Matrix');\n pattern = _pattern.Pattern.parseShading(shading, matrix, this.xref, resources, this.handler, this.pdfFunctionFactory);\n operatorList.addOp(fn, pattern.getIR());\n return Promise.resolve();\n }\n\n return Promise.reject(new Error('Unknown PatternType: ' + typeNum));\n }\n\n operatorList.addOp(fn, args);\n return Promise.resolve();\n },\n getOperatorList: function getOperatorList(_ref6) {\n var _this7 = this;\n\n var stream = _ref6.stream,\n task = _ref6.task,\n resources = _ref6.resources,\n operatorList = _ref6.operatorList,\n _ref6$initialState = _ref6.initialState,\n initialState = _ref6$initialState === void 0 ? null : _ref6$initialState;\n resources = resources || _primitives.Dict.empty;\n initialState = initialState || new EvalState();\n\n if (!operatorList) {\n throw new Error('getOperatorList: missing \"operatorList\" parameter');\n }\n\n var self = this;\n var xref = this.xref;\n var imageCache = Object.create(null);\n\n var xobjs = resources.get('XObject') || _primitives.Dict.empty;\n\n var patterns = resources.get('Pattern') || _primitives.Dict.empty;\n\n var stateManager = new StateManager(initialState);\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var timeSlotManager = new TimeSlotManager();\n\n function closePendingRestoreOPS(argument) {\n for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n operatorList.addOp(_util.OPS.restore, []);\n }\n }\n\n return new Promise(function promiseBody(resolve, reject) {\n var next = function next(promise) {\n promise.then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n i,\n ii,\n cs;\n\n while (!(stop = timeSlotManager.check())) {\n operation.args = null;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n var args = operation.args;\n var fn = operation.fn;\n\n switch (fn | 0) {\n case _util.OPS.paintXObject:\n var name = args[0].name;\n\n if (name && imageCache[name] !== undefined) {\n operatorList.addOp(imageCache[name].fn, imageCache[name].args);\n args = null;\n continue;\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError('XObject must be referred to by name.');\n }\n\n var xobj = xobjs.get(name);\n\n if (!xobj) {\n operatorList.addOp(fn, args);\n resolveXObject();\n return;\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError('XObject should be a stream');\n }\n\n var type = xobj.dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('XObject should have a Name subtype');\n }\n\n if (type.name === 'Form') {\n stateManager.save();\n self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () {\n stateManager.restore();\n resolveXObject();\n }, rejectXObject);\n return;\n } else if (type.name === 'Image') {\n self.buildPaintImageXObject({\n resources: resources,\n image: xobj,\n operatorList: operatorList,\n cacheKey: name,\n imageCache: imageCache\n }).then(resolveXObject, rejectXObject);\n return;\n } else if (type.name === 'PS') {\n (0, _util.info)('Ignored XObject subtype PS');\n } else {\n throw new _util.FormatError(\"Unhandled XObject subtype \".concat(type.name));\n }\n\n resolveXObject();\n }).catch(function (reason) {\n if (self.options.ignoreErrors) {\n self.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n (0, _util.warn)(\"getOperatorList - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setFont:\n var fontSize = args[1];\n next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) {\n operatorList.addDependency(loadedName);\n operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);\n }));\n return;\n\n case _util.OPS.endInlineImage:\n var cacheKey = args[0].cacheKey;\n\n if (cacheKey) {\n var cacheEntry = imageCache[cacheKey];\n\n if (cacheEntry !== undefined) {\n operatorList.addOp(cacheEntry.fn, cacheEntry.args);\n args = null;\n continue;\n }\n }\n\n next(self.buildPaintImageXObject({\n resources: resources,\n image: args[0],\n isInline: true,\n operatorList: operatorList,\n cacheKey: cacheKey,\n imageCache: imageCache\n }));\n return;\n\n case _util.OPS.showText:\n args[0] = self.handleText(args[0], stateManager.state);\n break;\n\n case _util.OPS.showSpacedText:\n var arr = args[0];\n var combinedGlyphs = [];\n var arrLength = arr.length;\n var state = stateManager.state;\n\n for (i = 0; i < arrLength; ++i) {\n var arrItem = arr[i];\n\n if ((0, _util.isString)(arrItem)) {\n Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state));\n } else if ((0, _util.isNum)(arrItem)) {\n combinedGlyphs.push(arrItem);\n }\n }\n\n args[0] = combinedGlyphs;\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineShowText:\n operatorList.addOp(_util.OPS.nextLine);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n operatorList.addOp(_util.OPS.nextLine);\n operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);\n operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);\n args[0] = self.handleText(args[0], stateManager.state);\n fn = _util.OPS.showText;\n break;\n\n case _util.OPS.setTextRenderingMode:\n stateManager.state.textRenderingMode = args[0];\n break;\n\n case _util.OPS.setFillColorSpace:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.parse(args[0], xref, resources, self.pdfFunctionFactory);\n continue;\n\n case _util.OPS.setStrokeColorSpace:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.parse(args[0], xref, resources, self.pdfFunctionFactory);\n continue;\n\n case _util.OPS.setFillColor:\n cs = stateManager.state.fillColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColor:\n cs = stateManager.state.strokeColorSpace;\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillGray:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeGray:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillCMYKColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeCMYKColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.setFillRGBColor:\n stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;\n args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n break;\n\n case _util.OPS.setFillColorN:\n cs = stateManager.state.fillColorSpace;\n\n if (cs.name === 'Pattern') {\n next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setFillRGBColor;\n break;\n\n case _util.OPS.setStrokeColorN:\n cs = stateManager.state.strokeColorSpace;\n\n if (cs.name === 'Pattern') {\n next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task));\n return;\n }\n\n args = cs.getRgb(args, 0);\n fn = _util.OPS.setStrokeRGBColor;\n break;\n\n case _util.OPS.shadingFill:\n var shadingRes = resources.get('Shading');\n\n if (!shadingRes) {\n throw new _util.FormatError('No shading resource found');\n }\n\n var shading = shadingRes.get(args[0].name);\n\n if (!shading) {\n throw new _util.FormatError('No shading object found');\n }\n\n var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, self.pdfFunctionFactory);\n\n var patternIR = shadingFill.getIR();\n args = [patternIR];\n fn = _util.OPS.shadingFill;\n break;\n\n case _util.OPS.setGState:\n var dictName = args[0];\n var extGState = resources.get('ExtGState');\n\n if (!(0, _primitives.isDict)(extGState) || !extGState.has(dictName.name)) {\n break;\n }\n\n var gState = extGState.get(dictName.name);\n next(self.setGState(resources, gState, operatorList, task, stateManager));\n return;\n\n case _util.OPS.moveTo:\n case _util.OPS.lineTo:\n case _util.OPS.curveTo:\n case _util.OPS.curveTo2:\n case _util.OPS.curveTo3:\n case _util.OPS.closePath:\n self.buildPath(operatorList, fn, args);\n continue;\n\n case _util.OPS.rectangle:\n self.buildPath(operatorList, fn, args);\n continue;\n\n case _util.OPS.markPoint:\n case _util.OPS.markPointProps:\n case _util.OPS.beginMarkedContent:\n case _util.OPS.beginMarkedContentProps:\n case _util.OPS.endMarkedContent:\n case _util.OPS.beginCompat:\n case _util.OPS.endCompat:\n continue;\n\n default:\n if (args !== null) {\n for (i = 0, ii = args.length; i < ii; i++) {\n if (args[i] instanceof _primitives.Dict) {\n break;\n }\n }\n\n if (i < ii) {\n (0, _util.warn)('getOperatorList - ignoring operator: ' + fn);\n continue;\n }\n }\n\n }\n\n operatorList.addOp(fn, args);\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n closePendingRestoreOPS();\n resolve();\n }).catch(function (reason) {\n if (_this7.options.ignoreErrors) {\n _this7.handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.unknown\n });\n\n (0, _util.warn)(\"getOperatorList - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n closePendingRestoreOPS();\n return;\n }\n\n throw reason;\n });\n },\n getTextContent: function getTextContent(_ref7) {\n var _this8 = this;\n\n var stream = _ref7.stream,\n task = _ref7.task,\n resources = _ref7.resources,\n _ref7$stateManager = _ref7.stateManager,\n stateManager = _ref7$stateManager === void 0 ? null : _ref7$stateManager,\n _ref7$normalizeWhites = _ref7.normalizeWhitespace,\n normalizeWhitespace = _ref7$normalizeWhites === void 0 ? false : _ref7$normalizeWhites,\n _ref7$combineTextItem = _ref7.combineTextItems,\n combineTextItems = _ref7$combineTextItem === void 0 ? false : _ref7$combineTextItem,\n sink = _ref7.sink,\n _ref7$seenStyles = _ref7.seenStyles,\n seenStyles = _ref7$seenStyles === void 0 ? Object.create(null) : _ref7$seenStyles;\n resources = resources || _primitives.Dict.empty;\n stateManager = stateManager || new StateManager(new TextState());\n var WhitespaceRegexp = /\\s/g;\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n var textContentItem = {\n initialized: false,\n str: [],\n width: 0,\n height: 0,\n vertical: false,\n lastAdvanceWidth: 0,\n lastAdvanceHeight: 0,\n textAdvanceScale: 0,\n spaceWidth: 0,\n fakeSpaceMin: Infinity,\n fakeMultiSpaceMin: Infinity,\n fakeMultiSpaceMax: -0,\n textRunBreakAllowed: false,\n transform: null,\n fontName: null\n };\n var SPACE_FACTOR = 0.3;\n var MULTI_SPACE_FACTOR = 1.5;\n var MULTI_SPACE_FACTOR_MAX = 4;\n var self = this;\n var xref = this.xref;\n var xobjs = null;\n var skipEmptyXObjs = Object.create(null);\n var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n var textState;\n\n function ensureTextContentItem() {\n if (textContentItem.initialized) {\n return textContentItem;\n }\n\n var font = textState.font;\n\n if (!(font.loadedName in seenStyles)) {\n seenStyles[font.loadedName] = true;\n textContent.styles[font.loadedName] = {\n fontFamily: font.fallbackName,\n ascent: font.ascent,\n descent: font.descent,\n vertical: !!font.vertical\n };\n }\n\n textContentItem.fontName = font.loadedName;\n var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];\n\n if (font.isType3Font && textState.fontMatrix !== _util.FONT_IDENTITY_MATRIX && textState.fontSize === 1) {\n var glyphHeight = font.bbox[3] - font.bbox[1];\n\n if (glyphHeight > 0) {\n glyphHeight = glyphHeight * textState.fontMatrix[3];\n tsm[3] *= glyphHeight;\n }\n }\n\n var trm = _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));\n\n textContentItem.transform = trm;\n\n if (!font.vertical) {\n textContentItem.width = 0;\n textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);\n textContentItem.vertical = false;\n } else {\n textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);\n textContentItem.height = 0;\n textContentItem.vertical = true;\n }\n\n var a = textState.textLineMatrix[0];\n var b = textState.textLineMatrix[1];\n var scaleLineX = Math.sqrt(a * a + b * b);\n a = textState.ctm[0];\n b = textState.ctm[1];\n var scaleCtmX = Math.sqrt(a * a + b * b);\n textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n textContentItem.lastAdvanceWidth = 0;\n textContentItem.lastAdvanceHeight = 0;\n var spaceWidth = font.spaceWidth / 1000 * textState.fontSize;\n\n if (spaceWidth) {\n textContentItem.spaceWidth = spaceWidth;\n textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;\n textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX;\n textContentItem.textRunBreakAllowed = !font.isMonospace;\n } else {\n textContentItem.spaceWidth = 0;\n textContentItem.fakeSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMin = Infinity;\n textContentItem.fakeMultiSpaceMax = 0;\n textContentItem.textRunBreakAllowed = false;\n }\n\n textContentItem.initialized = true;\n return textContentItem;\n }\n\n function replaceWhitespace(str) {\n var i = 0,\n ii = str.length,\n code;\n\n while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7F) {\n i++;\n }\n\n return i < ii ? str.replace(WhitespaceRegexp, ' ') : str;\n }\n\n function runBidiTransform(textChunk) {\n var str = textChunk.str.join('');\n var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);\n return {\n str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,\n dir: bidiResult.dir,\n width: textChunk.width,\n height: textChunk.height,\n transform: textChunk.transform,\n fontName: textChunk.fontName\n };\n }\n\n function handleSetFont(fontName, fontRef) {\n return self.loadFont(fontName, fontRef, resources).then(function (translated) {\n textState.font = translated.font;\n textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n });\n }\n\n function buildTextContentItem(chars) {\n var font = textState.font;\n var textChunk = ensureTextContentItem();\n var width = 0;\n var height = 0;\n var glyphs = font.charsToGlyphs(chars);\n\n for (var i = 0; i < glyphs.length; i++) {\n var glyph = glyphs[i];\n var glyphWidth = null;\n\n if (font.vertical && glyph.vmetric) {\n glyphWidth = glyph.vmetric[0];\n } else {\n glyphWidth = glyph.width;\n }\n\n var glyphUnicode = glyph.unicode;\n var NormalizedUnicodes = (0, _unicode.getNormalizedUnicodes)();\n\n if (NormalizedUnicodes[glyphUnicode] !== undefined) {\n glyphUnicode = NormalizedUnicodes[glyphUnicode];\n }\n\n glyphUnicode = (0, _unicode.reverseIfRtl)(glyphUnicode);\n var charSpacing = textState.charSpacing;\n\n if (glyph.isSpace) {\n var wordSpacing = textState.wordSpacing;\n charSpacing += wordSpacing;\n\n if (wordSpacing > 0) {\n addFakeSpaces(wordSpacing, textChunk.str);\n }\n }\n\n var tx = 0;\n var ty = 0;\n\n if (!font.vertical) {\n var w0 = glyphWidth * textState.fontMatrix[0];\n tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;\n width += tx;\n } else {\n var w1 = glyphWidth * textState.fontMatrix[0];\n ty = w1 * textState.fontSize + charSpacing;\n height += ty;\n }\n\n textState.translateTextMatrix(tx, ty);\n textChunk.str.push(glyphUnicode);\n }\n\n if (!font.vertical) {\n textChunk.lastAdvanceWidth = width;\n textChunk.width += width;\n } else {\n textChunk.lastAdvanceHeight = height;\n textChunk.height += Math.abs(height);\n }\n\n return textChunk;\n }\n\n function addFakeSpaces(width, strBuf) {\n if (width < textContentItem.fakeSpaceMin) {\n return;\n }\n\n if (width < textContentItem.fakeMultiSpaceMin) {\n strBuf.push(' ');\n return;\n }\n\n var fakeSpaces = Math.round(width / textContentItem.spaceWidth);\n\n while (fakeSpaces-- > 0) {\n strBuf.push(' ');\n }\n }\n\n function flushTextContentItem() {\n if (!textContentItem.initialized) {\n return;\n }\n\n if (!textContentItem.vertical) {\n textContentItem.width *= textContentItem.textAdvanceScale;\n } else {\n textContentItem.height *= textContentItem.textAdvanceScale;\n }\n\n textContent.items.push(runBidiTransform(textContentItem));\n textContentItem.initialized = false;\n textContentItem.str.length = 0;\n }\n\n function enqueueChunk() {\n var length = textContent.items.length;\n\n if (length > 0) {\n sink.enqueue(textContent, length);\n textContent.items = [];\n textContent.styles = Object.create(null);\n }\n }\n\n var timeSlotManager = new TimeSlotManager();\n return new Promise(function promiseBody(resolve, reject) {\n var next = function next(promise) {\n enqueueChunk();\n Promise.all([promise, sink.ready]).then(function () {\n try {\n promiseBody(resolve, reject);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n };\n\n task.ensureNotTerminated();\n timeSlotManager.reset();\n var stop,\n operation = {},\n args = [];\n\n while (!(stop = timeSlotManager.check())) {\n args.length = 0;\n operation.args = args;\n\n if (!preprocessor.read(operation)) {\n break;\n }\n\n textState = stateManager.state;\n var fn = operation.fn;\n args = operation.args;\n var advance, diff;\n\n switch (fn | 0) {\n case _util.OPS.setFont:\n var fontNameArg = args[0].name,\n fontSizeArg = args[1];\n\n if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {\n break;\n }\n\n flushTextContentItem();\n textState.fontName = fontNameArg;\n textState.fontSize = fontSizeArg;\n next(handleSetFont(fontNameArg, null));\n return;\n\n case _util.OPS.setTextRise:\n flushTextContentItem();\n textState.textRise = args[0];\n break;\n\n case _util.OPS.setHScale:\n flushTextContentItem();\n textState.textHScale = args[0] / 100;\n break;\n\n case _util.OPS.setLeading:\n flushTextContentItem();\n textState.leading = args[0];\n break;\n\n case _util.OPS.moveText:\n var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;\n advance = args[0] - args[1];\n\n if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(args[0], args[1]);\n textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;\n textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;\n diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.setLeadingMoveText:\n flushTextContentItem();\n textState.leading = -args[1];\n textState.translateTextLineMatrix(args[0], args[1]);\n textState.textMatrix = textState.textLineMatrix.slice();\n break;\n\n case _util.OPS.nextLine:\n flushTextContentItem();\n textState.carriageReturn();\n break;\n\n case _util.OPS.setTextMatrix:\n advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);\n\n if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {\n textState.translateTextLineMatrix(advance.width, advance.height);\n textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;\n textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;\n diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);\n addFakeSpaces(diff, textContentItem.str);\n break;\n }\n\n flushTextContentItem();\n textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setCharSpacing:\n textState.charSpacing = args[0];\n break;\n\n case _util.OPS.setWordSpacing:\n textState.wordSpacing = args[0];\n break;\n\n case _util.OPS.beginText:\n flushTextContentItem();\n textState.textMatrix = _util.IDENTITY_MATRIX.slice();\n textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n break;\n\n case _util.OPS.showSpacedText:\n var items = args[0];\n var offset;\n\n for (var j = 0, jj = items.length; j < jj; j++) {\n if (typeof items[j] === 'string') {\n buildTextContentItem(items[j]);\n } else if ((0, _util.isNum)(items[j])) {\n ensureTextContentItem();\n advance = items[j] * textState.fontSize / 1000;\n var breakTextRun = false;\n\n if (textState.font.vertical) {\n offset = advance;\n textState.translateTextMatrix(0, offset);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.height += offset;\n }\n } else {\n advance = -advance;\n offset = advance * textState.textHScale;\n textState.translateTextMatrix(offset, 0);\n breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n if (!breakTextRun) {\n textContentItem.width += offset;\n }\n }\n\n if (breakTextRun) {\n flushTextContentItem();\n } else if (advance > 0) {\n addFakeSpaces(advance, textContentItem.str);\n }\n }\n }\n\n break;\n\n case _util.OPS.showText:\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineShowText:\n flushTextContentItem();\n textState.carriageReturn();\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n flushTextContentItem();\n textState.wordSpacing = args[0];\n textState.charSpacing = args[1];\n textState.carriageReturn();\n buildTextContentItem(args[2]);\n break;\n\n case _util.OPS.paintXObject:\n flushTextContentItem();\n\n if (!xobjs) {\n xobjs = resources.get('XObject') || _primitives.Dict.empty;\n }\n\n var name = args[0].name;\n\n if (name && skipEmptyXObjs[name] !== undefined) {\n break;\n }\n\n next(new Promise(function (resolveXObject, rejectXObject) {\n if (!name) {\n throw new _util.FormatError('XObject must be referred to by name.');\n }\n\n var xobj = xobjs.get(name);\n\n if (!xobj) {\n resolveXObject();\n return;\n }\n\n if (!(0, _primitives.isStream)(xobj)) {\n throw new _util.FormatError('XObject should be a stream');\n }\n\n var type = xobj.dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('XObject should have a Name subtype');\n }\n\n if (type.name !== 'Form') {\n skipEmptyXObjs[name] = true;\n resolveXObject();\n return;\n }\n\n var currentState = stateManager.state.clone();\n var xObjStateManager = new StateManager(currentState);\n var matrix = xobj.dict.getArray('Matrix');\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n xObjStateManager.transform(matrix);\n }\n\n enqueueChunk();\n var sinkWrapper = {\n enqueueInvoked: false,\n enqueue: function enqueue(chunk, size) {\n this.enqueueInvoked = true;\n sink.enqueue(chunk, size);\n },\n\n get desiredSize() {\n return sink.desiredSize;\n },\n\n get ready() {\n return sink.ready;\n }\n\n };\n self.getTextContent({\n stream: xobj,\n task: task,\n resources: xobj.dict.get('Resources') || resources,\n stateManager: xObjStateManager,\n normalizeWhitespace: normalizeWhitespace,\n combineTextItems: combineTextItems,\n sink: sinkWrapper,\n seenStyles: seenStyles\n }).then(function () {\n if (!sinkWrapper.enqueueInvoked) {\n skipEmptyXObjs[name] = true;\n }\n\n resolveXObject();\n }, rejectXObject);\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n\n case _util.OPS.setGState:\n flushTextContentItem();\n var dictName = args[0];\n var extGState = resources.get('ExtGState');\n\n if (!(0, _primitives.isDict)(extGState) || !(0, _primitives.isName)(dictName)) {\n break;\n }\n\n var gState = extGState.get(dictName.name);\n\n if (!(0, _primitives.isDict)(gState)) {\n break;\n }\n\n var gStateFont = gState.get('Font');\n\n if (gStateFont) {\n textState.fontName = null;\n textState.fontSize = gStateFont[1];\n next(handleSetFont(null, gStateFont[0]));\n return;\n }\n\n break;\n }\n\n if (textContent.items.length >= sink.desiredSize) {\n stop = true;\n break;\n }\n }\n\n if (stop) {\n next(deferred);\n return;\n }\n\n flushTextContentItem();\n enqueueChunk();\n resolve();\n }).catch(function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this8.options.ignoreErrors) {\n (0, _util.warn)(\"getTextContent - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n flushTextContentItem();\n enqueueChunk();\n return;\n }\n\n throw reason;\n });\n },\n extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, properties) {\n var _this9 = this;\n\n var xref = this.xref;\n var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode');\n var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);\n\n if (properties.composite) {\n var cidSystemInfo = dict.get('CIDSystemInfo');\n\n if ((0, _primitives.isDict)(cidSystemInfo)) {\n properties.cidSystemInfo = {\n registry: (0, _util.stringToPDFString)(cidSystemInfo.get('Registry')),\n ordering: (0, _util.stringToPDFString)(cidSystemInfo.get('Ordering')),\n supplement: cidSystemInfo.get('Supplement')\n };\n }\n\n var cidToGidMap = dict.get('CIDToGIDMap');\n\n if ((0, _primitives.isStream)(cidToGidMap)) {\n properties.cidToGidMap = this.readCidToGidMap(cidToGidMap);\n }\n }\n\n var differences = [];\n var baseEncodingName = null;\n var encoding;\n\n if (dict.has('Encoding')) {\n encoding = dict.get('Encoding');\n\n if ((0, _primitives.isDict)(encoding)) {\n baseEncodingName = encoding.get('BaseEncoding');\n baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;\n\n if (encoding.has('Differences')) {\n var diffEncoding = encoding.get('Differences');\n var index = 0;\n\n for (var j = 0, jj = diffEncoding.length; j < jj; j++) {\n var data = xref.fetchIfRef(diffEncoding[j]);\n\n if ((0, _util.isNum)(data)) {\n index = data;\n } else if ((0, _primitives.isName)(data)) {\n differences[index++] = data.name;\n } else {\n throw new _util.FormatError(\"Invalid entry in 'Differences' array: \".concat(data));\n }\n }\n }\n } else if ((0, _primitives.isName)(encoding)) {\n baseEncodingName = encoding.name;\n } else {\n throw new _util.FormatError('Encoding is not a Name nor a Dict');\n }\n\n if (baseEncodingName !== 'MacRomanEncoding' && baseEncodingName !== 'MacExpertEncoding' && baseEncodingName !== 'WinAnsiEncoding') {\n baseEncodingName = null;\n }\n }\n\n if (baseEncodingName) {\n properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName).slice();\n } else {\n var isSymbolicFont = !!(properties.flags & _fonts.FontFlags.Symbolic);\n var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);\n encoding = _encodings.StandardEncoding;\n\n if (properties.type === 'TrueType' && !isNonsymbolicFont) {\n encoding = _encodings.WinAnsiEncoding;\n }\n\n if (isSymbolicFont) {\n encoding = _encodings.MacRomanEncoding;\n\n if (!properties.file) {\n if (/Symbol/i.test(properties.name)) {\n encoding = _encodings.SymbolSetEncoding;\n } else if (/Dingbats/i.test(properties.name)) {\n encoding = _encodings.ZapfDingbatsEncoding;\n }\n }\n }\n\n properties.defaultEncoding = encoding;\n }\n\n properties.differences = differences;\n properties.baseEncodingName = baseEncodingName;\n properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n properties.dict = dict;\n return toUnicodePromise.then(function (toUnicode) {\n properties.toUnicode = toUnicode;\n return _this9.buildToUnicode(properties);\n }).then(function (toUnicode) {\n properties.toUnicode = toUnicode;\n return properties;\n });\n },\n _buildSimpleFontToUnicode: function _buildSimpleFontToUnicode(properties) {\n (0, _util.assert)(!properties.composite, 'Must be a simple font.');\n var toUnicode = [],\n charcode,\n glyphName;\n var encoding = properties.defaultEncoding.slice();\n var baseEncodingName = properties.baseEncodingName;\n var differences = properties.differences;\n\n for (charcode in differences) {\n glyphName = differences[charcode];\n\n if (glyphName === '.notdef') {\n continue;\n }\n\n encoding[charcode] = glyphName;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (charcode in encoding) {\n glyphName = encoding[charcode];\n\n if (glyphName === '') {\n continue;\n } else if (glyphsUnicodeMap[glyphName] === undefined) {\n var code = 0;\n\n switch (glyphName[0]) {\n case 'G':\n if (glyphName.length === 3) {\n code = parseInt(glyphName.substring(1), 16);\n }\n\n break;\n\n case 'g':\n if (glyphName.length === 5) {\n code = parseInt(glyphName.substring(1), 16);\n }\n\n break;\n\n case 'C':\n case 'c':\n if (glyphName.length >= 3) {\n code = +glyphName.substring(1);\n }\n\n break;\n\n default:\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n code = unicode;\n }\n\n }\n\n if (code) {\n if (baseEncodingName && code === +charcode) {\n var baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n\n if (baseEncoding && (glyphName = baseEncoding[charcode])) {\n toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n continue;\n }\n }\n\n toUnicode[charcode] = String.fromCodePoint(code);\n }\n\n continue;\n }\n\n toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]);\n }\n\n return new _fonts.ToUnicodeMap(toUnicode);\n },\n buildToUnicode: function buildToUnicode(properties) {\n properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;\n\n if (properties.hasIncludedToUnicodeMap) {\n if (!properties.composite && properties.hasEncoding) {\n properties.fallbackToUnicode = this._buildSimpleFontToUnicode(properties);\n }\n\n return Promise.resolve(properties.toUnicode);\n }\n\n if (!properties.composite) {\n return Promise.resolve(this._buildSimpleFontToUnicode(properties));\n }\n\n if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === 'Adobe' && (properties.cidSystemInfo.ordering === 'GB1' || properties.cidSystemInfo.ordering === 'CNS1' || properties.cidSystemInfo.ordering === 'Japan1' || properties.cidSystemInfo.ordering === 'Korea1'))) {\n var registry = properties.cidSystemInfo.registry;\n var ordering = properties.cidSystemInfo.ordering;\n\n var ucs2CMapName = _primitives.Name.get(registry + '-' + ordering + '-UCS2');\n\n return _cmap.CMapFactory.create({\n encoding: ucs2CMapName,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (ucs2CMap) {\n var cMap = properties.cMap;\n var toUnicode = [];\n cMap.forEach(function (charcode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError('Max size of CID is 65,535');\n }\n\n var ucs2 = ucs2CMap.lookup(cid);\n\n if (ucs2) {\n toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));\n }\n });\n return new _fonts.ToUnicodeMap(toUnicode);\n });\n }\n\n return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));\n },\n readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) {\n var cmapObj = toUnicode;\n\n if ((0, _primitives.isName)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xFFFF);\n }\n\n return new _fonts.ToUnicodeMap(cmap.getMap());\n });\n } else if ((0, _primitives.isStream)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cmap) {\n if (cmap instanceof _cmap.IdentityCMap) {\n return new _fonts.IdentityToUnicodeMap(0, 0xFFFF);\n }\n\n var map = new Array(cmap.length);\n cmap.forEach(function (charCode, token) {\n var str = [];\n\n for (var k = 0; k < token.length; k += 2) {\n var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n\n if ((w1 & 0xF800) !== 0xD800) {\n str.push(w1);\n continue;\n }\n\n k += 2;\n var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n }\n\n map[charCode] = String.fromCodePoint.apply(String, str);\n });\n return new _fonts.ToUnicodeMap(map);\n });\n }\n\n return Promise.resolve(null);\n },\n readCidToGidMap: function PartialEvaluator_readCidToGidMap(cidToGidStream) {\n var glyphsData = cidToGidStream.getBytes();\n var result = [];\n\n for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n var glyphID = glyphsData[j++] << 8 | glyphsData[j];\n\n if (glyphID === 0) {\n continue;\n }\n\n var code = j >> 1;\n result[code] = glyphID;\n }\n\n return result;\n },\n extractWidths: function PartialEvaluator_extractWidths(dict, descriptor, properties) {\n var xref = this.xref;\n var glyphsWidths = [];\n var defaultWidth = 0;\n var glyphsVMetrics = [];\n var defaultVMetrics;\n var i, ii, j, jj, start, code, widths;\n\n if (properties.composite) {\n defaultWidth = dict.has('DW') ? dict.get('DW') : 1000;\n widths = dict.get('W');\n\n if (widths) {\n for (i = 0, ii = widths.length; i < ii; i++) {\n start = xref.fetchIfRef(widths[i++]);\n code = xref.fetchIfRef(widths[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n }\n } else {\n var width = xref.fetchIfRef(widths[++i]);\n\n for (j = start; j <= code; j++) {\n glyphsWidths[j] = width;\n }\n }\n }\n }\n\n if (properties.vertical) {\n var vmetrics = dict.getArray('DW2') || [880, -1000];\n defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n vmetrics = dict.get('W2');\n\n if (vmetrics) {\n for (i = 0, ii = vmetrics.length; i < ii; i++) {\n start = xref.fetchIfRef(vmetrics[i++]);\n code = xref.fetchIfRef(vmetrics[i]);\n\n if (Array.isArray(code)) {\n for (j = 0, jj = code.length; j < jj; j++) {\n glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];\n }\n } else {\n var vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];\n\n for (j = start; j <= code; j++) {\n glyphsVMetrics[j] = vmetric;\n }\n }\n }\n }\n }\n } else {\n var firstChar = properties.firstChar;\n widths = dict.get('Widths');\n\n if (widths) {\n j = firstChar;\n\n for (i = 0, ii = widths.length; i < ii; i++) {\n glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n }\n\n defaultWidth = parseFloat(descriptor.get('MissingWidth')) || 0;\n } else {\n var baseFontName = dict.get('BaseFont');\n\n if ((0, _primitives.isName)(baseFontName)) {\n var metrics = this.getBaseFontMetrics(baseFontName.name);\n glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);\n defaultWidth = metrics.defaultWidth;\n }\n }\n }\n\n var isMonospace = true;\n var firstWidth = defaultWidth;\n\n for (var glyph in glyphsWidths) {\n var glyphWidth = glyphsWidths[glyph];\n\n if (!glyphWidth) {\n continue;\n }\n\n if (!firstWidth) {\n firstWidth = glyphWidth;\n continue;\n }\n\n if (firstWidth !== glyphWidth) {\n isMonospace = false;\n break;\n }\n }\n\n if (isMonospace) {\n properties.flags |= _fonts.FontFlags.FixedPitch;\n }\n\n properties.defaultWidth = defaultWidth;\n properties.widths = glyphsWidths;\n properties.defaultVMetrics = defaultVMetrics;\n properties.vmetrics = glyphsVMetrics;\n },\n isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) {\n var fontNameWoStyle = baseFontName.split('-')[0];\n return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n },\n getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) {\n var defaultWidth = 0;\n var widths = [];\n var monospace = false;\n var stdFontMap = (0, _standard_fonts.getStdFontMap)();\n var lookupName = stdFontMap[name] || name;\n var Metrics = (0, _metrics.getMetrics)();\n\n if (!(lookupName in Metrics)) {\n if (this.isSerifFont(name)) {\n lookupName = 'Times-Roman';\n } else {\n lookupName = 'Helvetica';\n }\n }\n\n var glyphWidths = Metrics[lookupName];\n\n if ((0, _util.isNum)(glyphWidths)) {\n defaultWidth = glyphWidths;\n monospace = true;\n } else {\n widths = glyphWidths();\n }\n\n return {\n defaultWidth: defaultWidth,\n monospace: monospace,\n widths: widths\n };\n },\n buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName, properties) {\n var widths = Object.create(null);\n var differences = properties.differences;\n var encoding = properties.defaultEncoding;\n\n for (var charCode = 0; charCode < 256; charCode++) {\n if (charCode in differences && widthsByGlyphName[differences[charCode]]) {\n widths[charCode] = widthsByGlyphName[differences[charCode]];\n continue;\n }\n\n if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n widths[charCode] = widthsByGlyphName[encoding[charCode]];\n continue;\n }\n }\n\n return widths;\n },\n preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict) {\n var baseDict = dict;\n var type = dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('invalid font Subtype');\n }\n\n var composite = false;\n var uint8array;\n\n if (type.name === 'Type0') {\n var df = dict.get('DescendantFonts');\n\n if (!df) {\n throw new _util.FormatError('Descendant fonts are not specified');\n }\n\n dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n type = dict.get('Subtype');\n\n if (!(0, _primitives.isName)(type)) {\n throw new _util.FormatError('invalid font Subtype');\n }\n\n composite = true;\n }\n\n var descriptor = dict.get('FontDescriptor');\n\n if (descriptor) {\n var hash = new _murmurhash.MurmurHash3_64();\n var encoding = baseDict.getRaw('Encoding');\n\n if ((0, _primitives.isName)(encoding)) {\n hash.update(encoding.name);\n } else if ((0, _primitives.isRef)(encoding)) {\n hash.update(encoding.toString());\n } else if ((0, _primitives.isDict)(encoding)) {\n var keys = encoding.getKeys();\n\n for (var i = 0, ii = keys.length; i < ii; i++) {\n var entry = encoding.getRaw(keys[i]);\n\n if ((0, _primitives.isName)(entry)) {\n hash.update(entry.name);\n } else if ((0, _primitives.isRef)(entry)) {\n hash.update(entry.toString());\n } else if (Array.isArray(entry)) {\n var diffLength = entry.length,\n diffBuf = new Array(diffLength);\n\n for (var j = 0; j < diffLength; j++) {\n var diffEntry = entry[j];\n\n if ((0, _primitives.isName)(diffEntry)) {\n diffBuf[j] = diffEntry.name;\n } else if ((0, _util.isNum)(diffEntry) || (0, _primitives.isRef)(diffEntry)) {\n diffBuf[j] = diffEntry.toString();\n }\n }\n\n hash.update(diffBuf.join());\n }\n }\n }\n\n var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode');\n\n if ((0, _primitives.isStream)(toUnicode)) {\n var stream = toUnicode.str || toUnicode;\n uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);\n hash.update(uint8array);\n } else if ((0, _primitives.isName)(toUnicode)) {\n hash.update(toUnicode.name);\n }\n\n var widths = dict.get('Widths') || baseDict.get('Widths');\n\n if (widths) {\n uint8array = new Uint8Array(new Uint32Array(widths).buffer);\n hash.update(uint8array);\n }\n }\n\n return {\n descriptor: descriptor,\n dict: dict,\n baseDict: baseDict,\n composite: composite,\n type: type.name,\n hash: hash ? hash.hexdigest() : ''\n };\n },\n translateFont: function PartialEvaluator_translateFont(preEvaluatedFont) {\n var _this10 = this;\n\n var baseDict = preEvaluatedFont.baseDict;\n var dict = preEvaluatedFont.dict;\n var composite = preEvaluatedFont.composite;\n var descriptor = preEvaluatedFont.descriptor;\n var type = preEvaluatedFont.type;\n var maxCharIndex = composite ? 0xFFFF : 0xFF;\n var properties;\n\n if (!descriptor) {\n if (type === 'Type3') {\n descriptor = new _primitives.Dict(null);\n descriptor.set('FontName', _primitives.Name.get(type));\n descriptor.set('FontBBox', dict.getArray('FontBBox'));\n } else {\n var baseFontName = dict.get('BaseFont');\n\n if (!(0, _primitives.isName)(baseFontName)) {\n throw new _util.FormatError('Base font is not specified');\n }\n\n baseFontName = baseFontName.name.replace(/[,_]/g, '-');\n var metrics = this.getBaseFontMetrics(baseFontName);\n var fontNameWoStyle = baseFontName.split('-')[0];\n var flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace ? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);\n properties = {\n type: type,\n name: baseFontName,\n widths: metrics.widths,\n defaultWidth: metrics.defaultWidth,\n flags: flags,\n firstChar: 0,\n lastChar: maxCharIndex\n };\n return this.extractDataStructures(dict, dict, properties).then(function (properties) {\n properties.widths = _this10.buildCharCodeToWidth(metrics.widths, properties);\n return new _fonts.Font(baseFontName, null, properties);\n });\n }\n }\n\n var firstChar = dict.get('FirstChar') || 0;\n var lastChar = dict.get('LastChar') || maxCharIndex;\n var fontName = descriptor.get('FontName');\n var baseFont = dict.get('BaseFont');\n\n if ((0, _util.isString)(fontName)) {\n fontName = _primitives.Name.get(fontName);\n }\n\n if ((0, _util.isString)(baseFont)) {\n baseFont = _primitives.Name.get(baseFont);\n }\n\n if (type !== 'Type3') {\n var fontNameStr = fontName && fontName.name;\n var baseFontStr = baseFont && baseFont.name;\n\n if (fontNameStr !== baseFontStr) {\n (0, _util.info)(\"The FontDescriptor's FontName is \\\"\".concat(fontNameStr, \"\\\" but \") + \"should be the same as the Font's BaseFont \\\"\".concat(baseFontStr, \"\\\".\"));\n\n if (fontNameStr && baseFontStr && baseFontStr.startsWith(fontNameStr)) {\n fontName = baseFont;\n }\n }\n }\n\n fontName = fontName || baseFont;\n\n if (!(0, _primitives.isName)(fontName)) {\n throw new _util.FormatError('invalid font name');\n }\n\n var fontFile = descriptor.get('FontFile', 'FontFile2', 'FontFile3');\n\n if (fontFile) {\n if (fontFile.dict) {\n var subtype = fontFile.dict.get('Subtype');\n\n if (subtype) {\n subtype = subtype.name;\n }\n\n var length1 = fontFile.dict.get('Length1');\n var length2 = fontFile.dict.get('Length2');\n var length3 = fontFile.dict.get('Length3');\n }\n }\n\n properties = {\n type: type,\n name: fontName.name,\n subtype: subtype,\n file: fontFile,\n length1: length1,\n length2: length2,\n length3: length3,\n loadedName: baseDict.loadedName,\n composite: composite,\n wideChars: composite,\n fixedPitch: false,\n fontMatrix: dict.getArray('FontMatrix') || _util.FONT_IDENTITY_MATRIX,\n firstChar: firstChar || 0,\n lastChar: lastChar || maxCharIndex,\n bbox: descriptor.getArray('FontBBox'),\n ascent: descriptor.get('Ascent'),\n descent: descriptor.get('Descent'),\n xHeight: descriptor.get('XHeight'),\n capHeight: descriptor.get('CapHeight'),\n flags: descriptor.get('Flags'),\n italicAngle: descriptor.get('ItalicAngle'),\n isType3Font: false\n };\n var cMapPromise;\n\n if (composite) {\n var cidEncoding = baseDict.get('Encoding');\n\n if ((0, _primitives.isName)(cidEncoding)) {\n properties.cidEncoding = cidEncoding.name;\n }\n\n cMapPromise = _cmap.CMapFactory.create({\n encoding: cidEncoding,\n fetchBuiltInCMap: this.fetchBuiltInCMap,\n useCMap: null\n }).then(function (cMap) {\n properties.cMap = cMap;\n properties.vertical = properties.cMap.vertical;\n });\n } else {\n cMapPromise = Promise.resolve(undefined);\n }\n\n return cMapPromise.then(function () {\n return _this10.extractDataStructures(dict, baseDict, properties);\n }).then(function (properties) {\n _this10.extractWidths(dict, descriptor, properties);\n\n if (type === 'Type3') {\n properties.isType3Font = true;\n }\n\n return new _fonts.Font(fontName.name, fontFile, properties);\n });\n }\n };\n\n PartialEvaluator.buildFontPaths = function (font, glyphs, handler) {\n function buildPath(fontChar) {\n if (font.renderer.hasBuiltPath(fontChar)) {\n return;\n }\n\n handler.send('commonobj', [\"\".concat(font.loadedName, \"_path_\").concat(fontChar), 'FontPath', font.renderer.getPathJs(fontChar)]);\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = glyphs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var glyph = _step.value;\n buildPath(glyph.fontChar);\n var accent = glyph.accent;\n\n if (accent && accent.fontChar) {\n buildPath(accent.fontChar);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n };\n\n return PartialEvaluator;\n}();\n\nexports.PartialEvaluator = PartialEvaluator;\n\nvar TranslatedFont = function TranslatedFontClosure() {\n function TranslatedFont(loadedName, font, dict) {\n this.loadedName = loadedName;\n this.font = font;\n this.dict = dict;\n this.type3Loaded = null;\n this.sent = false;\n }\n\n TranslatedFont.prototype = {\n send: function send(handler) {\n if (this.sent) {\n return;\n }\n\n this.sent = true;\n handler.send('commonobj', [this.loadedName, 'Font', this.font.exportData()]);\n },\n fallback: function fallback(handler) {\n if (!this.font.data) {\n return;\n }\n\n this.font.disableFontFace = true;\n var glyphs = this.font.glyphCacheValues;\n PartialEvaluator.buildFontPaths(this.font, glyphs, handler);\n },\n loadType3Data: function loadType3Data(evaluator, resources, parentOperatorList, task) {\n if (!this.font.isType3Font) {\n throw new Error('Must be a Type3 font.');\n }\n\n if (this.type3Loaded) {\n return this.type3Loaded;\n }\n\n var type3Options = Object.create(evaluator.options);\n type3Options.ignoreErrors = false;\n var type3Evaluator = evaluator.clone(type3Options);\n var translatedFont = this.font;\n var loadCharProcsPromise = Promise.resolve();\n var charProcs = this.dict.get('CharProcs');\n var fontResources = this.dict.get('Resources') || resources;\n var charProcKeys = charProcs.getKeys();\n var charProcOperatorList = Object.create(null);\n\n var _loop2 = function _loop2() {\n var key = charProcKeys[i];\n loadCharProcsPromise = loadCharProcsPromise.then(function () {\n var glyphStream = charProcs.get(key);\n var operatorList = new _operator_list.OperatorList();\n return type3Evaluator.getOperatorList({\n stream: glyphStream,\n task: task,\n resources: fontResources,\n operatorList: operatorList\n }).then(function () {\n charProcOperatorList[key] = operatorList.getIR();\n parentOperatorList.addDependencies(operatorList.dependencies);\n }).catch(function (reason) {\n (0, _util.warn)(\"Type3 font resource \\\"\".concat(key, \"\\\" is not available.\"));\n var operatorList = new _operator_list.OperatorList();\n charProcOperatorList[key] = operatorList.getIR();\n });\n });\n };\n\n for (var i = 0, n = charProcKeys.length; i < n; ++i) {\n _loop2();\n }\n\n this.type3Loaded = loadCharProcsPromise.then(function () {\n translatedFont.charProcOperatorList = charProcOperatorList;\n });\n return this.type3Loaded;\n }\n };\n return TranslatedFont;\n}();\n\nvar StateManager = function StateManagerClosure() {\n function StateManager(initialState) {\n this.state = initialState;\n this.stateStack = [];\n }\n\n StateManager.prototype = {\n save: function save() {\n var old = this.state;\n this.stateStack.push(this.state);\n this.state = old.clone();\n },\n restore: function restore() {\n var prev = this.stateStack.pop();\n\n if (prev) {\n this.state = prev;\n }\n },\n transform: function transform(args) {\n this.state.ctm = _util.Util.transform(this.state.ctm, args);\n }\n };\n return StateManager;\n}();\n\nvar TextState = function TextStateClosure() {\n function TextState() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.fontName = null;\n this.fontSize = 0;\n this.font = null;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.textMatrix = _util.IDENTITY_MATRIX.slice();\n this.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.leading = 0;\n this.textHScale = 1;\n this.textRise = 0;\n }\n\n TextState.prototype = {\n setTextMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n var m = this.textMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n },\n setTextLineMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) {\n var m = this.textLineMatrix;\n m[0] = a;\n m[1] = b;\n m[2] = c;\n m[3] = d;\n m[4] = e;\n m[5] = f;\n },\n translateTextMatrix: function TextState_translateTextMatrix(x, y) {\n var m = this.textMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n },\n translateTextLineMatrix: function TextState_translateTextMatrix(x, y) {\n var m = this.textLineMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n },\n calcTextLineMatrixAdvance: function TextState_calcTextLineMatrixAdvance(a, b, c, d, e, f) {\n var font = this.font;\n\n if (!font) {\n return null;\n }\n\n var m = this.textLineMatrix;\n\n if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {\n return null;\n }\n\n var txDiff = e - m[4],\n tyDiff = f - m[5];\n\n if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) {\n return null;\n }\n\n var tx,\n ty,\n denominator = a * d - b * c;\n\n if (font.vertical) {\n tx = -tyDiff * c / denominator;\n ty = tyDiff * a / denominator;\n } else {\n tx = txDiff * d / denominator;\n ty = -txDiff * b / denominator;\n }\n\n return {\n width: tx,\n height: ty,\n value: font.vertical ? ty : tx\n };\n },\n calcRenderMatrix: function TextState_calcRendeMatrix(ctm) {\n var tsm = [this.fontSize * this.textHScale, 0, 0, this.fontSize, 0, this.textRise];\n return _util.Util.transform(ctm, _util.Util.transform(this.textMatrix, tsm));\n },\n carriageReturn: function TextState_carriageReturn() {\n this.translateTextLineMatrix(0, -this.leading);\n this.textMatrix = this.textLineMatrix.slice();\n },\n clone: function TextState_clone() {\n var clone = Object.create(this);\n clone.textMatrix = this.textMatrix.slice();\n clone.textLineMatrix = this.textLineMatrix.slice();\n clone.fontMatrix = this.fontMatrix.slice();\n return clone;\n }\n };\n return TextState;\n}();\n\nvar EvalState = function EvalStateClosure() {\n function EvalState() {\n this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n this.font = null;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n }\n\n EvalState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n }\n };\n return EvalState;\n}();\n\nvar EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() {\n var getOPMap = (0, _util.getLookupTableFactory)(function (t) {\n t['w'] = {\n id: _util.OPS.setLineWidth,\n numArgs: 1,\n variableArgs: false\n };\n t['J'] = {\n id: _util.OPS.setLineCap,\n numArgs: 1,\n variableArgs: false\n };\n t['j'] = {\n id: _util.OPS.setLineJoin,\n numArgs: 1,\n variableArgs: false\n };\n t['M'] = {\n id: _util.OPS.setMiterLimit,\n numArgs: 1,\n variableArgs: false\n };\n t['d'] = {\n id: _util.OPS.setDash,\n numArgs: 2,\n variableArgs: false\n };\n t['ri'] = {\n id: _util.OPS.setRenderingIntent,\n numArgs: 1,\n variableArgs: false\n };\n t['i'] = {\n id: _util.OPS.setFlatness,\n numArgs: 1,\n variableArgs: false\n };\n t['gs'] = {\n id: _util.OPS.setGState,\n numArgs: 1,\n variableArgs: false\n };\n t['q'] = {\n id: _util.OPS.save,\n numArgs: 0,\n variableArgs: false\n };\n t['Q'] = {\n id: _util.OPS.restore,\n numArgs: 0,\n variableArgs: false\n };\n t['cm'] = {\n id: _util.OPS.transform,\n numArgs: 6,\n variableArgs: false\n };\n t['m'] = {\n id: _util.OPS.moveTo,\n numArgs: 2,\n variableArgs: false\n };\n t['l'] = {\n id: _util.OPS.lineTo,\n numArgs: 2,\n variableArgs: false\n };\n t['c'] = {\n id: _util.OPS.curveTo,\n numArgs: 6,\n variableArgs: false\n };\n t['v'] = {\n id: _util.OPS.curveTo2,\n numArgs: 4,\n variableArgs: false\n };\n t['y'] = {\n id: _util.OPS.curveTo3,\n numArgs: 4,\n variableArgs: false\n };\n t['h'] = {\n id: _util.OPS.closePath,\n numArgs: 0,\n variableArgs: false\n };\n t['re'] = {\n id: _util.OPS.rectangle,\n numArgs: 4,\n variableArgs: false\n };\n t['S'] = {\n id: _util.OPS.stroke,\n numArgs: 0,\n variableArgs: false\n };\n t['s'] = {\n id: _util.OPS.closeStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['f'] = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t['F'] = {\n id: _util.OPS.fill,\n numArgs: 0,\n variableArgs: false\n };\n t['f*'] = {\n id: _util.OPS.eoFill,\n numArgs: 0,\n variableArgs: false\n };\n t['B'] = {\n id: _util.OPS.fillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['B*'] = {\n id: _util.OPS.eoFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['b'] = {\n id: _util.OPS.closeFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['b*'] = {\n id: _util.OPS.closeEOFillStroke,\n numArgs: 0,\n variableArgs: false\n };\n t['n'] = {\n id: _util.OPS.endPath,\n numArgs: 0,\n variableArgs: false\n };\n t['W'] = {\n id: _util.OPS.clip,\n numArgs: 0,\n variableArgs: false\n };\n t['W*'] = {\n id: _util.OPS.eoClip,\n numArgs: 0,\n variableArgs: false\n };\n t['BT'] = {\n id: _util.OPS.beginText,\n numArgs: 0,\n variableArgs: false\n };\n t['ET'] = {\n id: _util.OPS.endText,\n numArgs: 0,\n variableArgs: false\n };\n t['Tc'] = {\n id: _util.OPS.setCharSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t['Tw'] = {\n id: _util.OPS.setWordSpacing,\n numArgs: 1,\n variableArgs: false\n };\n t['Tz'] = {\n id: _util.OPS.setHScale,\n numArgs: 1,\n variableArgs: false\n };\n t['TL'] = {\n id: _util.OPS.setLeading,\n numArgs: 1,\n variableArgs: false\n };\n t['Tf'] = {\n id: _util.OPS.setFont,\n numArgs: 2,\n variableArgs: false\n };\n t['Tr'] = {\n id: _util.OPS.setTextRenderingMode,\n numArgs: 1,\n variableArgs: false\n };\n t['Ts'] = {\n id: _util.OPS.setTextRise,\n numArgs: 1,\n variableArgs: false\n };\n t['Td'] = {\n id: _util.OPS.moveText,\n numArgs: 2,\n variableArgs: false\n };\n t['TD'] = {\n id: _util.OPS.setLeadingMoveText,\n numArgs: 2,\n variableArgs: false\n };\n t['Tm'] = {\n id: _util.OPS.setTextMatrix,\n numArgs: 6,\n variableArgs: false\n };\n t['T*'] = {\n id: _util.OPS.nextLine,\n numArgs: 0,\n variableArgs: false\n };\n t['Tj'] = {\n id: _util.OPS.showText,\n numArgs: 1,\n variableArgs: false\n };\n t['TJ'] = {\n id: _util.OPS.showSpacedText,\n numArgs: 1,\n variableArgs: false\n };\n t['\\''] = {\n id: _util.OPS.nextLineShowText,\n numArgs: 1,\n variableArgs: false\n };\n t['\"'] = {\n id: _util.OPS.nextLineSetSpacingShowText,\n numArgs: 3,\n variableArgs: false\n };\n t['d0'] = {\n id: _util.OPS.setCharWidth,\n numArgs: 2,\n variableArgs: false\n };\n t['d1'] = {\n id: _util.OPS.setCharWidthAndBounds,\n numArgs: 6,\n variableArgs: false\n };\n t['CS'] = {\n id: _util.OPS.setStrokeColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t['cs'] = {\n id: _util.OPS.setFillColorSpace,\n numArgs: 1,\n variableArgs: false\n };\n t['SC'] = {\n id: _util.OPS.setStrokeColor,\n numArgs: 4,\n variableArgs: true\n };\n t['SCN'] = {\n id: _util.OPS.setStrokeColorN,\n numArgs: 33,\n variableArgs: true\n };\n t['sc'] = {\n id: _util.OPS.setFillColor,\n numArgs: 4,\n variableArgs: true\n };\n t['scn'] = {\n id: _util.OPS.setFillColorN,\n numArgs: 33,\n variableArgs: true\n };\n t['G'] = {\n id: _util.OPS.setStrokeGray,\n numArgs: 1,\n variableArgs: false\n };\n t['g'] = {\n id: _util.OPS.setFillGray,\n numArgs: 1,\n variableArgs: false\n };\n t['RG'] = {\n id: _util.OPS.setStrokeRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t['rg'] = {\n id: _util.OPS.setFillRGBColor,\n numArgs: 3,\n variableArgs: false\n };\n t['K'] = {\n id: _util.OPS.setStrokeCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t['k'] = {\n id: _util.OPS.setFillCMYKColor,\n numArgs: 4,\n variableArgs: false\n };\n t['sh'] = {\n id: _util.OPS.shadingFill,\n numArgs: 1,\n variableArgs: false\n };\n t['BI'] = {\n id: _util.OPS.beginInlineImage,\n numArgs: 0,\n variableArgs: false\n };\n t['ID'] = {\n id: _util.OPS.beginImageData,\n numArgs: 0,\n variableArgs: false\n };\n t['EI'] = {\n id: _util.OPS.endInlineImage,\n numArgs: 1,\n variableArgs: false\n };\n t['Do'] = {\n id: _util.OPS.paintXObject,\n numArgs: 1,\n variableArgs: false\n };\n t['MP'] = {\n id: _util.OPS.markPoint,\n numArgs: 1,\n variableArgs: false\n };\n t['DP'] = {\n id: _util.OPS.markPointProps,\n numArgs: 2,\n variableArgs: false\n };\n t['BMC'] = {\n id: _util.OPS.beginMarkedContent,\n numArgs: 1,\n variableArgs: false\n };\n t['BDC'] = {\n id: _util.OPS.beginMarkedContentProps,\n numArgs: 2,\n variableArgs: false\n };\n t['EMC'] = {\n id: _util.OPS.endMarkedContent,\n numArgs: 0,\n variableArgs: false\n };\n t['BX'] = {\n id: _util.OPS.beginCompat,\n numArgs: 0,\n variableArgs: false\n };\n t['EX'] = {\n id: _util.OPS.endCompat,\n numArgs: 0,\n variableArgs: false\n };\n t['BM'] = null;\n t['BD'] = null;\n t['true'] = null;\n t['fa'] = null;\n t['fal'] = null;\n t['fals'] = null;\n t['false'] = null;\n t['nu'] = null;\n t['nul'] = null;\n t['null'] = null;\n });\n var MAX_INVALID_PATH_OPS = 20;\n\n function EvaluatorPreprocessor(stream, xref, stateManager) {\n this.opMap = getOPMap();\n this.parser = new _parser.Parser(new _parser.Lexer(stream, this.opMap), false, xref);\n this.stateManager = stateManager;\n this.nonProcessedArgs = [];\n this._numInvalidPathOPS = 0;\n }\n\n EvaluatorPreprocessor.prototype = {\n get savedStatesDepth() {\n return this.stateManager.stateStack.length;\n },\n\n read: function EvaluatorPreprocessor_read(operation) {\n var args = operation.args;\n\n while (true) {\n var obj = this.parser.getObj();\n\n if ((0, _primitives.isCmd)(obj)) {\n var cmd = obj.cmd;\n var opSpec = this.opMap[cmd];\n\n if (!opSpec) {\n (0, _util.warn)(\"Unknown command \\\"\".concat(cmd, \"\\\".\"));\n continue;\n }\n\n var fn = opSpec.id;\n var numArgs = opSpec.numArgs;\n var argsLength = args !== null ? args.length : 0;\n\n if (!opSpec.variableArgs) {\n if (argsLength !== numArgs) {\n var nonProcessedArgs = this.nonProcessedArgs;\n\n while (argsLength > numArgs) {\n nonProcessedArgs.push(args.shift());\n argsLength--;\n }\n\n while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n if (args === null) {\n args = [];\n }\n\n args.unshift(nonProcessedArgs.pop());\n argsLength++;\n }\n }\n\n if (argsLength < numArgs) {\n var partialMsg = \"command \".concat(cmd, \": expected \").concat(numArgs, \" args, \") + \"but received \".concat(argsLength, \" args.\");\n\n if (fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath && ++this._numInvalidPathOPS > MAX_INVALID_PATH_OPS) {\n throw new _util.FormatError(\"Invalid \".concat(partialMsg));\n }\n\n (0, _util.warn)(\"Skipping \".concat(partialMsg));\n\n if (args !== null) {\n args.length = 0;\n }\n\n continue;\n }\n } else if (argsLength > numArgs) {\n (0, _util.info)(\"Command \".concat(cmd, \": expected [0, \").concat(numArgs, \"] args, \") + \"but received \".concat(argsLength, \" args.\"));\n }\n\n this.preprocessCommand(fn, args);\n operation.fn = fn;\n operation.args = args;\n return true;\n }\n\n if ((0, _primitives.isEOF)(obj)) {\n return false;\n }\n\n if (obj !== null) {\n if (args === null) {\n args = [];\n }\n\n args.push(obj);\n\n if (args.length > 33) {\n throw new _util.FormatError('Too many arguments');\n }\n }\n }\n },\n preprocessCommand: function EvaluatorPreprocessor_preprocessCommand(fn, args) {\n switch (fn | 0) {\n case _util.OPS.save:\n this.stateManager.save();\n break;\n\n case _util.OPS.restore:\n this.stateManager.restore();\n break;\n\n case _util.OPS.transform:\n this.stateManager.transform(args);\n break;\n }\n }\n };\n return EvaluatorPreprocessor;\n}();\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _parser = __w_pdfjs_require__(156);\n\nvar _stream = __w_pdfjs_require__(157);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BUILT_IN_CMAPS = ['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'];\n\nvar CMap =\n/*#__PURE__*/\nfunction () {\n function CMap() {\n var builtInCMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _classCallCheck(this, CMap);\n\n this.codespaceRanges = [[], [], [], []];\n this.numCodespaceRanges = 0;\n this._map = [];\n this.name = '';\n this.vertical = false;\n this.useCMap = null;\n this.builtInCMap = builtInCMap;\n }\n\n _createClass(CMap, [{\n key: \"addCodespaceRange\",\n value: function addCodespaceRange(n, low, high) {\n this.codespaceRanges[n - 1].push(low, high);\n this.numCodespaceRanges++;\n }\n }, {\n key: \"mapCidRange\",\n value: function mapCidRange(low, high, dstLow) {\n while (low <= high) {\n this._map[low++] = dstLow++;\n }\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n var lastByte = dstLow.length - 1;\n\n while (low <= high) {\n this._map[low++] = dstLow;\n dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);\n }\n }\n }, {\n key: \"mapBfRangeToArray\",\n value: function mapBfRangeToArray(low, high, array) {\n var i = 0,\n ii = array.length;\n\n while (low <= high && i < ii) {\n this._map[low] = array[i++];\n ++low;\n }\n }\n }, {\n key: \"mapOne\",\n value: function mapOne(src, dst) {\n this._map[src] = dst;\n }\n }, {\n key: \"lookup\",\n value: function lookup(code) {\n return this._map[code];\n }\n }, {\n key: \"contains\",\n value: function contains(code) {\n return this._map[code] !== undefined;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n var map = this._map;\n var length = map.length;\n\n if (length <= 0x10000) {\n for (var i = 0; i < length; i++) {\n if (map[i] !== undefined) {\n callback(i, map[i]);\n }\n }\n } else {\n for (var _i in map) {\n callback(_i, map[_i]);\n }\n }\n }\n }, {\n key: \"charCodeOf\",\n value: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getMap\",\n value: function getMap() {\n return this._map;\n }\n }, {\n key: \"readCharCode\",\n value: function readCharCode(str, offset, out) {\n var c = 0;\n var codespaceRanges = this.codespaceRanges;\n\n for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {\n c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;\n var codespaceRange = codespaceRanges[n];\n\n for (var k = 0, kk = codespaceRange.length; k < kk;) {\n var low = codespaceRange[k++];\n var high = codespaceRange[k++];\n\n if (c >= low && c <= high) {\n out.charcode = c;\n out.length = n + 1;\n return;\n }\n }\n }\n\n out.charcode = 0;\n out.length = 1;\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._map.length;\n }\n }, {\n key: \"isIdentityCMap\",\n get: function get() {\n if (!(this.name === 'Identity-H' || this.name === 'Identity-V')) {\n return false;\n }\n\n if (this._map.length !== 0x10000) {\n return false;\n }\n\n for (var i = 0; i < 0x10000; i++) {\n if (this._map[i] !== i) {\n return false;\n }\n }\n\n return true;\n }\n }]);\n\n return CMap;\n}();\n\nexports.CMap = CMap;\n\nvar IdentityCMap =\n/*#__PURE__*/\nfunction (_CMap) {\n _inherits(IdentityCMap, _CMap);\n\n function IdentityCMap(vertical, n) {\n var _this;\n\n _classCallCheck(this, IdentityCMap);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(IdentityCMap).call(this));\n _this.vertical = vertical;\n\n _this.addCodespaceRange(n, 0, 0xffff);\n\n return _this;\n }\n\n _createClass(IdentityCMap, [{\n key: \"mapCidRange\",\n value: function mapCidRange(low, high, dstLow) {\n (0, _util.unreachable)('should not call mapCidRange');\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n (0, _util.unreachable)('should not call mapBfRange');\n }\n }, {\n key: \"mapBfRangeToArray\",\n value: function mapBfRangeToArray(low, high, array) {\n (0, _util.unreachable)('should not call mapBfRangeToArray');\n }\n }, {\n key: \"mapOne\",\n value: function mapOne(src, dst) {\n (0, _util.unreachable)('should not call mapCidOne');\n }\n }, {\n key: \"lookup\",\n value: function lookup(code) {\n return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n }\n }, {\n key: \"contains\",\n value: function contains(code) {\n return Number.isInteger(code) && code <= 0xffff;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n for (var i = 0; i <= 0xffff; i++) {\n callback(i, i);\n }\n }\n }, {\n key: \"charCodeOf\",\n value: function charCodeOf(value) {\n return Number.isInteger(value) && value <= 0xffff ? value : -1;\n }\n }, {\n key: \"getMap\",\n value: function getMap() {\n var map = new Array(0x10000);\n\n for (var i = 0; i <= 0xffff; i++) {\n map[i] = i;\n }\n\n return map;\n }\n }, {\n key: \"length\",\n get: function get() {\n return 0x10000;\n }\n }, {\n key: \"isIdentityCMap\",\n get: function get() {\n (0, _util.unreachable)('should not access .isIdentityCMap');\n }\n }]);\n\n return IdentityCMap;\n}(CMap);\n\nexports.IdentityCMap = IdentityCMap;\n\nvar BinaryCMapReader = function BinaryCMapReaderClosure() {\n function hexToInt(a, size) {\n var n = 0;\n\n for (var i = 0; i <= size; i++) {\n n = n << 8 | a[i];\n }\n\n return n >>> 0;\n }\n\n function hexToStr(a, size) {\n if (size === 1) {\n return String.fromCharCode(a[0], a[1]);\n }\n\n if (size === 3) {\n return String.fromCharCode(a[0], a[1], a[2], a[3]);\n }\n\n return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n }\n\n function addHex(a, b, size) {\n var c = 0;\n\n for (var i = size; i >= 0; i--) {\n c += a[i] + b[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n function incHex(a, size) {\n var c = 1;\n\n for (var i = size; i >= 0 && c > 0; i--) {\n c += a[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n var MAX_NUM_SIZE = 16;\n var MAX_ENCODED_NUM_SIZE = 19;\n\n function BinaryCMapStream(data) {\n this.buffer = data;\n this.pos = 0;\n this.end = data.length;\n this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n }\n\n BinaryCMapStream.prototype = {\n readByte: function readByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.buffer[this.pos++];\n },\n readNumber: function readNumber() {\n var n = 0;\n var last;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError('unexpected EOF in bcmap');\n }\n\n last = !(b & 0x80);\n n = n << 7 | b & 0x7F;\n } while (!last);\n\n return n;\n },\n readSigned: function readSigned() {\n var n = this.readNumber();\n return n & 1 ? ~(n >>> 1) : n >>> 1;\n },\n readHex: function readHex(num, size) {\n num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n this.pos += size + 1;\n },\n readHexNumber: function readHexNumber(num, size) {\n var last;\n var stack = this.tmpBuf,\n sp = 0;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError('unexpected EOF in bcmap');\n }\n\n last = !(b & 0x80);\n stack[sp++] = b & 0x7F;\n } while (!last);\n\n var i = size,\n buffer = 0,\n bufferSize = 0;\n\n while (i >= 0) {\n while (bufferSize < 8 && stack.length > 0) {\n buffer = stack[--sp] << bufferSize | buffer;\n bufferSize += 7;\n }\n\n num[i] = buffer & 255;\n i--;\n buffer >>= 8;\n bufferSize -= 8;\n }\n },\n readHexSigned: function readHexSigned(num, size) {\n this.readHexNumber(num, size);\n var sign = num[size] & 1 ? 255 : 0;\n var c = 0;\n\n for (var i = 0; i <= size; i++) {\n c = (c & 1) << 8 | num[i];\n num[i] = c >> 1 ^ sign;\n }\n },\n readString: function readString() {\n var len = this.readNumber();\n var s = '';\n\n for (var i = 0; i < len; i++) {\n s += String.fromCharCode(this.readNumber());\n }\n\n return s;\n }\n };\n\n function processBinaryCMap(data, cMap, extend) {\n return new Promise(function (resolve, reject) {\n var stream = new BinaryCMapStream(data);\n var header = stream.readByte();\n cMap.vertical = !!(header & 1);\n var useCMap = null;\n var start = new Uint8Array(MAX_NUM_SIZE);\n var end = new Uint8Array(MAX_NUM_SIZE);\n var char = new Uint8Array(MAX_NUM_SIZE);\n var charCode = new Uint8Array(MAX_NUM_SIZE);\n var tmp = new Uint8Array(MAX_NUM_SIZE);\n var code;\n var b;\n\n while ((b = stream.readByte()) >= 0) {\n var type = b >> 5;\n\n if (type === 7) {\n switch (b & 0x1F) {\n case 0:\n stream.readString();\n break;\n\n case 1:\n useCMap = stream.readString();\n break;\n }\n\n continue;\n }\n\n var sequence = !!(b & 0x10);\n var dataSize = b & 15;\n\n if (dataSize + 1 > MAX_NUM_SIZE) {\n throw new Error('processBinaryCMap: Invalid dataSize.');\n }\n\n var ucs2DataSize = 1;\n var subitemsCount = stream.readNumber();\n var i;\n\n switch (type) {\n case 0:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n }\n\n break;\n\n case 1:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n }\n\n break;\n\n case 2:\n stream.readHex(char, dataSize);\n code = stream.readNumber();\n cMap.mapOne(hexToInt(char, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(char, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, dataSize);\n addHex(char, tmp, dataSize);\n }\n\n code = stream.readSigned() + (code + 1);\n cMap.mapOne(hexToInt(char, dataSize), code);\n }\n\n break;\n\n case 3:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n }\n\n break;\n\n case 4:\n stream.readHex(char, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(char, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, ucs2DataSize);\n addHex(char, tmp, ucs2DataSize);\n }\n\n incHex(charCode, dataSize);\n stream.readHexSigned(tmp, dataSize);\n addHex(charCode, tmp, dataSize);\n cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n case 5:\n stream.readHex(start, ucs2DataSize);\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, ucs2DataSize);\n addHex(start, end, ucs2DataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n default:\n reject(new Error('processBinaryCMap: Unknown type: ' + type));\n return;\n }\n }\n\n if (useCMap) {\n resolve(extend(useCMap));\n return;\n }\n\n resolve(cMap);\n });\n }\n\n function BinaryCMapReader() {}\n\n BinaryCMapReader.prototype = {\n process: processBinaryCMap\n };\n return BinaryCMapReader;\n}();\n\nvar CMapFactory = function CMapFactoryClosure() {\n function strToInt(str) {\n var a = 0;\n\n for (var i = 0; i < str.length; i++) {\n a = a << 8 | str.charCodeAt(i);\n }\n\n return a >>> 0;\n }\n\n function expectString(obj) {\n if (!(0, _util.isString)(obj)) {\n throw new _util.FormatError('Malformed CMap: expected string.');\n }\n }\n\n function expectInt(obj) {\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError('Malformed CMap: expected int.');\n }\n }\n\n function parseBfChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endbfchar')) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseBfRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endbfrange')) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n\n if (Number.isInteger(obj) || (0, _util.isString)(obj)) {\n var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n cMap.mapBfRange(low, high, dstLow);\n } else if ((0, _primitives.isCmd)(obj, '[')) {\n obj = lexer.getObj();\n var array = [];\n\n while (!(0, _primitives.isCmd)(obj, ']') && !(0, _primitives.isEOF)(obj)) {\n array.push(obj);\n obj = lexer.getObj();\n }\n\n cMap.mapBfRangeToArray(low, high, array);\n } else {\n break;\n }\n }\n\n throw new _util.FormatError('Invalid bf range.');\n }\n\n function parseCidChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endcidchar')) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseCidRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endcidrange')) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dstLow = obj;\n cMap.mapCidRange(low, high, dstLow);\n }\n }\n\n function parseCodespaceRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, 'endcodespacerange')) {\n return;\n }\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var low = strToInt(obj);\n obj = lexer.getObj();\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var high = strToInt(obj);\n cMap.addCodespaceRange(obj.length, low, high);\n }\n\n throw new _util.FormatError('Invalid codespace range.');\n }\n\n function parseWMode(cMap, lexer) {\n var obj = lexer.getObj();\n\n if (Number.isInteger(obj)) {\n cMap.vertical = !!obj;\n }\n }\n\n function parseCMapName(cMap, lexer) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {\n cMap.name = obj.name;\n }\n }\n\n function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n var previous;\n var embeddedUseCMap;\n\n objLoop: while (true) {\n try {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n } else if ((0, _primitives.isName)(obj)) {\n if (obj.name === 'WMode') {\n parseWMode(cMap, lexer);\n } else if (obj.name === 'CMapName') {\n parseCMapName(cMap, lexer);\n }\n\n previous = obj;\n } else if ((0, _primitives.isCmd)(obj)) {\n switch (obj.cmd) {\n case 'endcmap':\n break objLoop;\n\n case 'usecmap':\n if ((0, _primitives.isName)(previous)) {\n embeddedUseCMap = previous.name;\n }\n\n break;\n\n case 'begincodespacerange':\n parseCodespaceRange(cMap, lexer);\n break;\n\n case 'beginbfchar':\n parseBfChar(cMap, lexer);\n break;\n\n case 'begincidchar':\n parseCidChar(cMap, lexer);\n break;\n\n case 'beginbfrange':\n parseBfRange(cMap, lexer);\n break;\n\n case 'begincidrange':\n parseCidRange(cMap, lexer);\n break;\n }\n }\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)('Invalid cMap data: ' + ex);\n continue;\n }\n }\n\n if (!useCMap && embeddedUseCMap) {\n useCMap = embeddedUseCMap;\n }\n\n if (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n }\n\n return Promise.resolve(cMap);\n }\n\n function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {\n cMap.useCMap = newCMap;\n\n if (cMap.numCodespaceRanges === 0) {\n var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n\n for (var i = 0; i < useCodespaceRanges.length; i++) {\n cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n }\n\n cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n }\n\n cMap.useCMap.forEach(function (key, value) {\n if (!cMap.contains(key)) {\n cMap.mapOne(key, cMap.useCMap.lookup(key));\n }\n });\n return cMap;\n });\n }\n\n function createBuiltInCMap(name, fetchBuiltInCMap) {\n if (name === 'Identity-H') {\n return Promise.resolve(new IdentityCMap(false, 2));\n } else if (name === 'Identity-V') {\n return Promise.resolve(new IdentityCMap(true, 2));\n }\n\n if (!BUILT_IN_CMAPS.includes(name)) {\n return Promise.reject(new Error('Unknown CMap name: ' + name));\n }\n\n if (!fetchBuiltInCMap) {\n return Promise.reject(new Error('Built-in CMap parameters are not provided.'));\n }\n\n return fetchBuiltInCMap(name).then(function (data) {\n var cMapData = data.cMapData,\n compressionType = data.compressionType;\n var cMap = new CMap(true);\n\n if (compressionType === _util.CMapCompressionType.BINARY) {\n return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n });\n }\n\n if (compressionType === _util.CMapCompressionType.NONE) {\n var lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n }\n\n return Promise.reject(new Error('TODO: Only BINARY/NONE CMap compression is currently supported.'));\n });\n }\n\n return {\n create: function create(params) {\n var encoding = params.encoding;\n var fetchBuiltInCMap = params.fetchBuiltInCMap;\n var useCMap = params.useCMap;\n\n if ((0, _primitives.isName)(encoding)) {\n return createBuiltInCMap(encoding.name, fetchBuiltInCMap);\n } else if ((0, _primitives.isStream)(encoding)) {\n var cMap = new CMap();\n var lexer = new _parser.Lexer(encoding);\n return parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) {\n if (parsedCMap.isIdentityCMap) {\n return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n }\n\n return parsedCMap;\n });\n }\n\n return Promise.reject(new Error('Encoding required.'));\n }\n };\n}();\n\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFontType = getFontType;\nexports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.SEAC_ANALYSIS_ENABLED = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _cff_parser = __w_pdfjs_require__(174);\n\nvar _glyphlist = __w_pdfjs_require__(177);\n\nvar _encodings = __w_pdfjs_require__(176);\n\nvar _standard_fonts = __w_pdfjs_require__(178);\n\nvar _unicode = __w_pdfjs_require__(179);\n\nvar _font_renderer = __w_pdfjs_require__(180);\n\nvar _cmap = __w_pdfjs_require__(172);\n\nvar _stream = __w_pdfjs_require__(157);\n\nvar _type1_parser = __w_pdfjs_require__(181);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar PRIVATE_USE_AREAS = [[0xE000, 0xF8FF], [0x100000, 0x10FFFD]];\nvar PDF_GLYPH_SPACE_UNITS = 1000;\nvar SEAC_ANALYSIS_ENABLED = true;\nexports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\nvar FontFlags = {\n FixedPitch: 1,\n Serif: 2,\n Symbolic: 4,\n Script: 8,\n Nonsymbolic: 32,\n Italic: 64,\n AllCap: 65536,\n SmallCap: 131072,\n ForceBold: 262144\n};\nexports.FontFlags = FontFlags;\nvar 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'];\n\nfunction adjustWidths(properties) {\n if (!properties.fontMatrix) {\n return;\n }\n\n if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n return;\n }\n\n var scale = 0.001 / properties.fontMatrix[0];\n var glyphsWidths = properties.widths;\n\n for (var glyph in glyphsWidths) {\n glyphsWidths[glyph] *= scale;\n }\n\n properties.defaultWidth *= scale;\n}\n\nfunction adjustToUnicode(properties, builtInEncoding) {\n if (properties.hasIncludedToUnicodeMap) {\n return;\n }\n\n if (properties.hasEncoding) {\n return;\n }\n\n if (builtInEncoding === properties.defaultEncoding) {\n return;\n }\n\n if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n return;\n }\n\n var toUnicode = [],\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var charCode in builtInEncoding) {\n var glyphName = builtInEncoding[charCode];\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toUnicode[charCode] = String.fromCharCode(unicode);\n }\n }\n\n properties.toUnicode.amend(toUnicode);\n}\n\nfunction getFontType(type, subtype) {\n switch (type) {\n case 'Type1':\n return subtype === 'Type1C' ? _util.FontType.TYPE1C : _util.FontType.TYPE1;\n\n case 'CIDFontType0':\n return subtype === 'CIDFontType0C' ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;\n\n case 'OpenType':\n return _util.FontType.OPENTYPE;\n\n case 'TrueType':\n return _util.FontType.TRUETYPE;\n\n case 'CIDFontType2':\n return _util.FontType.CIDFONTTYPE2;\n\n case 'MMType1':\n return _util.FontType.MMTYPE1;\n\n case 'Type0':\n return _util.FontType.TYPE0;\n\n default:\n return _util.FontType.UNKNOWN;\n }\n}\n\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n if (glyphsUnicodeMap[name] !== undefined) {\n return name;\n }\n\n var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n for (var key in glyphsUnicodeMap) {\n if (glyphsUnicodeMap[key] === unicode) {\n return key;\n }\n }\n }\n\n (0, _util.info)('Unable to recover a standard glyph name for: ' + name);\n return name;\n}\n\nvar Glyph = function GlyphClosure() {\n function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n this.fontChar = fontChar;\n this.unicode = unicode;\n this.accent = accent;\n this.width = width;\n this.vmetric = vmetric;\n this.operatorListId = operatorListId;\n this.isSpace = isSpace;\n this.isInFont = isInFont;\n }\n\n Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;\n };\n\n return Glyph;\n}();\n\nvar ToUnicodeMap = function ToUnicodeMapClosure() {\n function ToUnicodeMap() {\n var cmap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._map = cmap;\n }\n\n ToUnicodeMap.prototype = {\n get length() {\n return this._map.length;\n },\n\n forEach: function forEach(callback) {\n for (var charCode in this._map) {\n callback(charCode, this._map[charCode].charCodeAt(0));\n }\n },\n has: function has(i) {\n return this._map[i] !== undefined;\n },\n get: function get(i) {\n return this._map[i];\n },\n charCodeOf: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n },\n amend: function amend(map) {\n for (var charCode in map) {\n this._map[charCode] = map[charCode];\n }\n }\n };\n return ToUnicodeMap;\n}();\n\nexports.ToUnicodeMap = ToUnicodeMap;\n\nvar IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {\n function IdentityToUnicodeMap(firstChar, lastChar) {\n this.firstChar = firstChar;\n this.lastChar = lastChar;\n }\n\n IdentityToUnicodeMap.prototype = {\n get length() {\n return this.lastChar + 1 - this.firstChar;\n },\n\n forEach: function forEach(callback) {\n for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n callback(i, i);\n }\n },\n has: function has(i) {\n return this.firstChar <= i && i <= this.lastChar;\n },\n get: function get(i) {\n if (this.firstChar <= i && i <= this.lastChar) {\n return String.fromCharCode(i);\n }\n\n return undefined;\n },\n charCodeOf: function charCodeOf(v) {\n return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n },\n amend: function amend(map) {\n (0, _util.unreachable)('Should not call amend()');\n }\n };\n return IdentityToUnicodeMap;\n}();\n\nexports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\nvar OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {\n function writeInt16(dest, offset, num) {\n dest[offset] = num >> 8 & 0xFF;\n dest[offset + 1] = num & 0xFF;\n }\n\n function writeInt32(dest, offset, num) {\n dest[offset] = num >> 24 & 0xFF;\n dest[offset + 1] = num >> 16 & 0xFF;\n dest[offset + 2] = num >> 8 & 0xFF;\n dest[offset + 3] = num & 0xFF;\n }\n\n function writeData(dest, offset, data) {\n var i, ii;\n\n if (data instanceof Uint8Array) {\n dest.set(data, offset);\n } else if (typeof data === 'string') {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data.charCodeAt(i) & 0xFF;\n }\n } else {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data[i] & 0xFF;\n }\n }\n }\n\n function OpenTypeFileBuilder(sfnt) {\n this.sfnt = sfnt;\n this.tables = Object.create(null);\n }\n\n OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {\n var maxPower2 = 1,\n log2 = 0;\n\n while ((maxPower2 ^ entriesCount) > maxPower2) {\n maxPower2 <<= 1;\n log2++;\n }\n\n var searchRange = maxPower2 * entrySize;\n return {\n range: searchRange,\n entry: log2,\n rangeShift: entrySize * entriesCount - searchRange\n };\n };\n\n var OTF_HEADER_SIZE = 12;\n var OTF_TABLE_ENTRY_SIZE = 16;\n OpenTypeFileBuilder.prototype = {\n toArray: function OpenTypeFileBuilder_toArray() {\n var sfnt = this.sfnt;\n var tables = this.tables;\n var tablesNames = Object.keys(tables);\n tablesNames.sort();\n var numTables = tablesNames.length;\n var i, j, jj, table, tableName;\n var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n var tableOffsets = [offset];\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n var paddedLength = (table.length + 3 & ~3) >>> 0;\n offset += paddedLength;\n tableOffsets.push(offset);\n }\n\n var file = new Uint8Array(offset);\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n writeData(file, tableOffsets[i], table);\n }\n\n if (sfnt === 'true') {\n sfnt = (0, _util.string32)(0x00010000);\n }\n\n file[0] = sfnt.charCodeAt(0) & 0xFF;\n file[1] = sfnt.charCodeAt(1) & 0xFF;\n file[2] = sfnt.charCodeAt(2) & 0xFF;\n file[3] = sfnt.charCodeAt(3) & 0xFF;\n writeInt16(file, 4, numTables);\n var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n writeInt16(file, 6, searchParams.range);\n writeInt16(file, 8, searchParams.entry);\n writeInt16(file, 10, searchParams.rangeShift);\n offset = OTF_HEADER_SIZE;\n\n for (i = 0; i < numTables; i++) {\n tableName = tablesNames[i];\n file[offset] = tableName.charCodeAt(0) & 0xFF;\n file[offset + 1] = tableName.charCodeAt(1) & 0xFF;\n file[offset + 2] = tableName.charCodeAt(2) & 0xFF;\n file[offset + 3] = tableName.charCodeAt(3) & 0xFF;\n var checksum = 0;\n\n for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n var quad = (0, _util.readUint32)(file, j);\n checksum = checksum + quad >>> 0;\n }\n\n writeInt32(file, offset + 4, checksum);\n writeInt32(file, offset + 8, tableOffsets[i]);\n writeInt32(file, offset + 12, tables[tableName].length);\n offset += OTF_TABLE_ENTRY_SIZE;\n }\n\n return file;\n },\n addTable: function OpenTypeFileBuilder_addTable(tag, data) {\n if (tag in this.tables) {\n throw new Error('Table ' + tag + ' already exists');\n }\n\n this.tables[tag] = data;\n }\n };\n return OpenTypeFileBuilder;\n}();\n\nvar Font = function FontClosure() {\n function Font(name, file, properties) {\n var charCode;\n this.name = name;\n this.loadedName = properties.loadedName;\n this.isType3Font = properties.isType3Font;\n this.sizes = [];\n this.missingFile = false;\n this.glyphCache = Object.create(null);\n this.isSerifFont = !!(properties.flags & FontFlags.Serif);\n this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);\n var type = properties.type;\n var subtype = properties.subtype;\n this.type = type;\n this.subtype = subtype;\n this.fallbackName = this.isMonospace ? 'monospace' : this.isSerifFont ? 'serif' : 'sans-serif';\n this.differences = properties.differences;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.composite = properties.composite;\n this.wideChars = properties.wideChars;\n this.cMap = properties.cMap;\n this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n this.fontMatrix = properties.fontMatrix;\n this.bbox = properties.bbox;\n this.defaultEncoding = properties.defaultEncoding;\n this.toUnicode = properties.toUnicode;\n this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();\n this.toFontChar = [];\n\n if (properties.type === 'Type3') {\n for (charCode = 0; charCode < 256; charCode++) {\n this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];\n }\n\n this.fontType = _util.FontType.TYPE3;\n return;\n }\n\n this.cidEncoding = properties.cidEncoding;\n this.vertical = properties.vertical;\n\n if (this.vertical) {\n this.vmetrics = properties.vmetrics;\n this.defaultVMetrics = properties.defaultVMetrics;\n }\n\n if (!file || file.isEmpty) {\n if (file) {\n (0, _util.warn)('Font file is empty in \"' + name + '\" (' + this.loadedName + ')');\n }\n\n this.fallbackToSystemFont();\n return;\n }\n\n var _getFontFileType = getFontFileType(file, properties);\n\n var _getFontFileType2 = _slicedToArray(_getFontFileType, 2);\n\n type = _getFontFileType2[0];\n subtype = _getFontFileType2[1];\n\n if (type !== this.type || subtype !== this.subtype) {\n (0, _util.info)('Inconsistent font file Type/SubType, expected: ' + \"\".concat(this.type, \"/\").concat(this.subtype, \" but found: \").concat(type, \"/\").concat(subtype, \".\"));\n }\n\n try {\n var data;\n\n switch (type) {\n case 'MMType1':\n (0, _util.info)('MMType1 font (' + name + '), falling back to Type1.');\n\n case 'Type1':\n case 'CIDFontType0':\n this.mimetype = 'font/opentype';\n var cff = subtype === 'Type1C' || subtype === 'CIDFontType0C' ? new CFFFont(file, properties) : new Type1Font(name, file, properties);\n adjustWidths(properties);\n data = this.convert(name, cff, properties);\n break;\n\n case 'OpenType':\n case 'TrueType':\n case 'CIDFontType2':\n this.mimetype = 'font/opentype';\n data = this.checkAndRepair(name, file, properties);\n\n if (this.isOpenType) {\n adjustWidths(properties);\n type = 'OpenType';\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Font \".concat(type, \" is not supported\"));\n }\n } catch (e) {\n (0, _util.warn)(e);\n this.fallbackToSystemFont();\n return;\n }\n\n this.data = data;\n this.fontType = getFontType(type, subtype);\n this.fontMatrix = properties.fontMatrix;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.toUnicode = properties.toUnicode;\n this.encoding = properties.baseEncoding;\n this.seacMap = properties.seacMap;\n }\n\n Font.getFontID = function () {\n var ID = 1;\n return function Font_getFontID() {\n return String(ID++);\n };\n }();\n\n function int16(b0, b1) {\n return (b0 << 8) + b1;\n }\n\n function writeSignedInt16(bytes, index, value) {\n bytes[index + 1] = value;\n bytes[index] = value >>> 8;\n }\n\n function signedInt16(b0, b1) {\n var value = (b0 << 8) + b1;\n return value & 1 << 15 ? value - 0x10000 : value;\n }\n\n function int32(b0, b1, b2, b3) {\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n\n function string16(value) {\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function safeString16(value) {\n value = value > 0x7FFF ? 0x7FFF : value < -0x8000 ? -0x8000 : value;\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function isTrueTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === 'true';\n }\n\n function isTrueTypeCollectionFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === 'ttcf';\n }\n\n function isOpenTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _util.bytesToString)(header) === 'OTTO';\n }\n\n function isType1File(file) {\n var header = file.peekBytes(2);\n\n if (header[0] === 0x25 && header[1] === 0x21) {\n return true;\n }\n\n if (header[0] === 0x80 && header[1] === 0x01) {\n return true;\n }\n\n return false;\n }\n\n function isCFFFile(file) {\n var header = file.peekBytes(4);\n\n if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {\n return true;\n }\n\n return false;\n }\n\n function getFontFileType(file, _ref) {\n var type = _ref.type,\n subtype = _ref.subtype,\n composite = _ref.composite;\n var fileType, fileSubtype;\n\n if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {\n if (composite) {\n fileType = 'CIDFontType2';\n } else {\n fileType = 'TrueType';\n }\n } else if (isOpenTypeFile(file)) {\n if (composite) {\n fileType = 'CIDFontType2';\n } else {\n fileType = 'OpenType';\n }\n } else if (isType1File(file)) {\n if (composite) {\n fileType = 'CIDFontType0';\n } else {\n fileType = type === 'MMType1' ? 'MMType1' : 'Type1';\n }\n } else if (isCFFFile(file)) {\n if (composite) {\n fileType = 'CIDFontType0';\n fileSubtype = 'CIDFontType0C';\n } else {\n fileType = type === 'MMType1' ? 'MMType1' : 'Type1';\n fileSubtype = 'Type1C';\n }\n } else {\n (0, _util.warn)('getFontFileType: Unable to detect correct font file Type/Subtype.');\n fileType = type;\n fileSubtype = subtype;\n }\n\n return [fileType, fileSubtype];\n }\n\n function buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n var toFontChar = [],\n unicode;\n\n for (var i = 0, ii = encoding.length; i < ii; i++) {\n unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[i] = unicode;\n }\n }\n\n for (var charCode in differences) {\n unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toFontChar[+charCode] = unicode;\n }\n }\n\n return toFontChar;\n }\n\n function adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId) {\n var newMap = Object.create(null);\n var toFontChar = [];\n var privateUseAreaIndex = 0;\n var nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n var privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n\n for (var originalCharCode in charCodeToGlyphId) {\n originalCharCode |= 0;\n var glyphId = charCodeToGlyphId[originalCharCode];\n\n if (!hasGlyph(glyphId)) {\n continue;\n }\n\n if (nextAvailableFontCharCode > privateUseOffetEnd) {\n privateUseAreaIndex++;\n\n if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {\n (0, _util.warn)('Ran out of space in font private use area.');\n break;\n }\n\n nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n }\n\n var fontCharCode = nextAvailableFontCharCode++;\n\n if (glyphId === 0) {\n glyphId = newGlyphZeroId;\n }\n\n newMap[fontCharCode] = glyphId;\n toFontChar[originalCharCode] = fontCharCode;\n }\n\n return {\n toFontChar: toFontChar,\n charCodeToGlyphId: newMap,\n nextAvailableFontCharCode: nextAvailableFontCharCode\n };\n }\n\n function getRanges(glyphs, numGlyphs) {\n var codes = [];\n\n for (var charCode in glyphs) {\n if (glyphs[charCode] >= numGlyphs) {\n continue;\n }\n\n codes.push({\n fontCharCode: charCode | 0,\n glyphId: glyphs[charCode]\n });\n }\n\n if (codes.length === 0) {\n codes.push({\n fontCharCode: 0,\n glyphId: 0\n });\n }\n\n codes.sort(function fontGetRangesSort(a, b) {\n return a.fontCharCode - b.fontCharCode;\n });\n var ranges = [];\n var length = codes.length;\n\n for (var n = 0; n < length;) {\n var start = codes[n].fontCharCode;\n var codeIndices = [codes[n].glyphId];\n ++n;\n var end = start;\n\n while (n < length && end + 1 === codes[n].fontCharCode) {\n codeIndices.push(codes[n].glyphId);\n ++end;\n ++n;\n\n if (end === 0xFFFF) {\n break;\n }\n }\n\n ranges.push([start, end, codeIndices]);\n }\n\n return ranges;\n }\n\n function createCmapTable(glyphs, numGlyphs) {\n var ranges = getRanges(glyphs, numGlyphs);\n var numTables = ranges[ranges.length - 1][1] > 0xFFFF ? 2 : 1;\n var cmap = '\\x00\\x00' + string16(numTables) + '\\x00\\x03' + '\\x00\\x01' + (0, _util.string32)(4 + numTables * 8);\n var i, ii, j, jj;\n\n for (i = ranges.length - 1; i >= 0; --i) {\n if (ranges[i][0] <= 0xFFFF) {\n break;\n }\n }\n\n var bmpLength = i + 1;\n\n if (ranges[i][0] < 0xFFFF && ranges[i][1] === 0xFFFF) {\n ranges[i][1] = 0xFFFE;\n }\n\n var trailingRangesCount = ranges[i][1] < 0xFFFF ? 1 : 0;\n var segCount = bmpLength + trailingRangesCount;\n var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);\n var startCount = '';\n var endCount = '';\n var idDeltas = '';\n var idRangeOffsets = '';\n var glyphsIds = '';\n var bias = 0;\n var range, start, end, codes;\n\n for (i = 0, ii = bmpLength; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n end = range[1];\n startCount += string16(start);\n endCount += string16(end);\n codes = range[2];\n var contiguous = true;\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n contiguous = false;\n break;\n }\n }\n\n if (!contiguous) {\n var offset = (segCount - i) * 2 + bias * 2;\n bias += end - start + 1;\n idDeltas += string16(0);\n idRangeOffsets += string16(offset);\n\n for (j = 0, jj = codes.length; j < jj; ++j) {\n glyphsIds += string16(codes[j]);\n }\n } else {\n var startCode = codes[0];\n idDeltas += string16(startCode - start & 0xFFFF);\n idRangeOffsets += string16(0);\n }\n }\n\n if (trailingRangesCount > 0) {\n endCount += '\\xFF\\xFF';\n startCount += '\\xFF\\xFF';\n idDeltas += '\\x00\\x01';\n idRangeOffsets += '\\x00\\x00';\n }\n\n var format314 = '\\x00\\x00' + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + '\\x00\\x00' + startCount + idDeltas + idRangeOffsets + glyphsIds;\n var format31012 = '';\n var header31012 = '';\n\n if (numTables > 1) {\n cmap += '\\x00\\x03' + '\\x00\\x0A' + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);\n format31012 = '';\n\n for (i = 0, ii = ranges.length; i < ii; i++) {\n range = ranges[i];\n start = range[0];\n codes = range[2];\n var code = codes[0];\n\n for (j = 1, jj = codes.length; j < jj; ++j) {\n if (codes[j] !== codes[j - 1] + 1) {\n end = range[0] + j - 1;\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);\n start = end + 1;\n code = codes[j];\n }\n }\n\n format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);\n }\n\n header31012 = '\\x00\\x0C' + '\\x00\\x00' + (0, _util.string32)(format31012.length + 16) + '\\x00\\x00\\x00\\x00' + (0, _util.string32)(format31012.length / 12);\n }\n\n return cmap + '\\x00\\x04' + string16(format314.length + 4) + format314 + header31012 + format31012;\n }\n\n function validateOS2Table(os2) {\n var stream = new _stream.Stream(os2.data);\n var version = stream.getUint16();\n stream.getBytes(60);\n var selection = stream.getUint16();\n\n if (version < 4 && selection & 0x0300) {\n return false;\n }\n\n var firstChar = stream.getUint16();\n var lastChar = stream.getUint16();\n\n if (firstChar > lastChar) {\n return false;\n }\n\n stream.getBytes(6);\n var usWinAscent = stream.getUint16();\n\n if (usWinAscent === 0) {\n return false;\n }\n\n os2.data[8] = os2.data[9] = 0;\n return true;\n }\n\n function createOS2Table(properties, charstrings, override) {\n override = override || {\n unitsPerEm: 0,\n yMax: 0,\n yMin: 0,\n ascent: 0,\n descent: 0\n };\n var ulUnicodeRange1 = 0;\n var ulUnicodeRange2 = 0;\n var ulUnicodeRange3 = 0;\n var ulUnicodeRange4 = 0;\n var firstCharIndex = null;\n var lastCharIndex = 0;\n\n if (charstrings) {\n for (var code in charstrings) {\n code |= 0;\n\n if (firstCharIndex > code || !firstCharIndex) {\n firstCharIndex = code;\n }\n\n if (lastCharIndex < code) {\n lastCharIndex = code;\n }\n\n var position = (0, _unicode.getUnicodeRangeFor)(code);\n\n if (position < 32) {\n ulUnicodeRange1 |= 1 << position;\n } else if (position < 64) {\n ulUnicodeRange2 |= 1 << position - 32;\n } else if (position < 96) {\n ulUnicodeRange3 |= 1 << position - 64;\n } else if (position < 123) {\n ulUnicodeRange4 |= 1 << position - 96;\n } else {\n throw new _util.FormatError('Unicode ranges Bits > 123 are reserved for internal usage');\n }\n }\n\n if (lastCharIndex > 0xFFFF) {\n lastCharIndex = 0xFFFF;\n }\n } else {\n firstCharIndex = 0;\n lastCharIndex = 255;\n }\n\n var bbox = properties.bbox || [0, 0, 0, 0];\n var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));\n\n if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n typoDescent = -typoDescent;\n }\n\n var winAscent = override.yMax || typoAscent;\n var winDescent = -override.yMin || -typoDescent;\n return '\\x00\\x03' + '\\x02\\x24' + '\\x01\\xF4' + '\\x00\\x05' + '\\x00\\x00' + '\\x02\\x8A' + '\\x02\\xBB' + '\\x00\\x00' + '\\x00\\x8C' + '\\x02\\x8A' + '\\x02\\xBB' + '\\x00\\x00' + '\\x01\\xDF' + '\\x00\\x31' + '\\x01\\x02' + '\\x00\\x00' + '\\x00\\x00\\x06' + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + '\\x00\\x00\\x00\\x00\\x00\\x00' + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + '\\x2A\\x32\\x31\\x2A' + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + '\\x00\\x64' + string16(winAscent) + string16(winDescent) + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + '\\x00\\x03';\n }\n\n function createPostTable(properties) {\n var angle = Math.floor(properties.italicAngle * Math.pow(2, 16));\n return '\\x00\\x03\\x00\\x00' + (0, _util.string32)(angle) + '\\x00\\x00' + '\\x00\\x00' + (0, _util.string32)(properties.fixedPitch) + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00' + '\\x00\\x00\\x00\\x00';\n }\n\n function createNameTable(name, proto) {\n if (!proto) {\n proto = [[], []];\n }\n\n var strings = [proto[0][0] || 'Original licence', proto[0][1] || name, proto[0][2] || 'Unknown', proto[0][3] || 'uniqueID', proto[0][4] || name, proto[0][5] || 'Version 0.11', proto[0][6] || '', proto[0][7] || 'Unknown', proto[0][8] || 'Unknown', proto[0][9] || 'Unknown'];\n var stringsUnicode = [];\n var i, ii, j, jj, str;\n\n for (i = 0, ii = strings.length; i < ii; i++) {\n str = proto[1][i] || strings[i];\n var strBufUnicode = [];\n\n for (j = 0, jj = str.length; j < jj; j++) {\n strBufUnicode.push(string16(str.charCodeAt(j)));\n }\n\n stringsUnicode.push(strBufUnicode.join(''));\n }\n\n var names = [strings, stringsUnicode];\n var platforms = ['\\x00\\x01', '\\x00\\x03'];\n var encodings = ['\\x00\\x00', '\\x00\\x01'];\n var languages = ['\\x00\\x00', '\\x04\\x09'];\n var namesRecordCount = strings.length * platforms.length;\n var nameTable = '\\x00\\x00' + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);\n var strOffset = 0;\n\n for (i = 0, ii = platforms.length; i < ii; i++) {\n var strs = names[i];\n\n for (j = 0, jj = strs.length; j < jj; j++) {\n str = strs[j];\n var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);\n nameTable += nameRecord;\n strOffset += str.length;\n }\n }\n\n nameTable += strings.join('') + stringsUnicode.join('');\n return nameTable;\n }\n\n Font.prototype = {\n name: null,\n font: null,\n mimetype: null,\n encoding: null,\n disableFontFace: false,\n\n get renderer() {\n var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);\n\n return (0, _util.shadow)(this, 'renderer', renderer);\n },\n\n exportData: function Font_exportData() {\n var data = {};\n\n for (var i in this) {\n if (this.hasOwnProperty(i)) {\n data[i] = this[i];\n }\n }\n\n return data;\n },\n fallbackToSystemFont: function Font_fallbackToSystemFont() {\n var _this = this;\n\n this.missingFile = true;\n var charCode, unicode;\n var name = this.name;\n var type = this.type;\n var subtype = this.subtype;\n var fontName = name.replace(/[,_]/g, '-');\n var stdFontMap = (0, _standard_fonts.getStdFontMap)(),\n nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();\n var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n this.bold = fontName.search(/bold/gi) !== -1;\n this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1;\n this.black = name.search(/Black/g) !== -1;\n this.remeasure = Object.keys(this.widths).length > 0;\n\n if (isStandardFont && type === 'CIDFontType2' && this.cidEncoding.startsWith('Identity-')) {\n var GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n var map = [];\n\n for (charCode in GlyphMapForStandardFonts) {\n map[+charCode] = GlyphMapForStandardFonts[charCode];\n }\n\n if (/Arial-?Black/i.test(name)) {\n var SupplementalGlyphMapForArialBlack = (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)();\n\n for (charCode in SupplementalGlyphMapForArialBlack) {\n map[+charCode] = SupplementalGlyphMapForArialBlack[charCode];\n }\n } else if (/Calibri/i.test(name)) {\n var SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();\n\n for (charCode in SupplementalGlyphMapForCalibri) {\n map[+charCode] = SupplementalGlyphMapForCalibri[charCode];\n }\n }\n\n var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;\n\n if (!isIdentityUnicode) {\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n map[+charCode] = unicodeCharCode;\n });\n }\n\n this.toFontChar = map;\n this.toUnicode = new ToUnicodeMap(map);\n } else if (/Symbol/i.test(fontName)) {\n this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else if (/Dingbats/i.test(fontName)) {\n if (/Wingdings/i.test(name)) {\n (0, _util.warn)('Non-embedded Wingdings font, falling back to ZapfDingbats.');\n }\n\n this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);\n } else if (isStandardFont) {\n this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n } else {\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n if (!_this.composite) {\n var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];\n unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n unicodeCharCode = unicode;\n }\n }\n\n _this.toFontChar[charCode] = unicodeCharCode;\n });\n }\n\n this.loadedName = fontName.split('-')[0];\n this.fontType = getFontType(type, subtype);\n },\n checkAndRepair: function Font_checkAndRepair(name, font, properties) {\n var VALID_TABLES = ['OS/2', 'cmap', 'head', 'hhea', 'hmtx', 'maxp', 'name', 'post', 'loca', 'glyf', 'fpgm', 'prep', 'cvt ', 'CFF '];\n\n function readTables(file, numTables) {\n var tables = Object.create(null);\n tables['OS/2'] = null;\n tables['cmap'] = null;\n tables['head'] = null;\n tables['hhea'] = null;\n tables['hmtx'] = null;\n tables['maxp'] = null;\n tables['name'] = null;\n tables['post'] = null;\n\n for (var i = 0; i < numTables; i++) {\n var table = readTableEntry(font);\n\n if (!VALID_TABLES.includes(table.tag)) {\n continue;\n }\n\n if (table.length === 0) {\n continue;\n }\n\n tables[table.tag] = table;\n }\n\n return tables;\n }\n\n function readTableEntry(file) {\n var tag = (0, _util.bytesToString)(file.getBytes(4));\n var checksum = file.getInt32() >>> 0;\n var offset = file.getInt32() >>> 0;\n var length = file.getInt32() >>> 0;\n var previousPosition = file.pos;\n file.pos = file.start ? file.start : 0;\n file.skip(offset);\n var data = file.getBytes(length);\n file.pos = previousPosition;\n\n if (tag === 'head') {\n data[8] = data[9] = data[10] = data[11] = 0;\n data[17] |= 0x20;\n }\n\n return {\n tag: tag,\n checksum: checksum,\n length: length,\n offset: offset,\n data: data\n };\n }\n\n function readOpenTypeHeader(ttf) {\n return {\n version: (0, _util.bytesToString)(ttf.getBytes(4)),\n numTables: ttf.getUint16(),\n searchRange: ttf.getUint16(),\n entrySelector: ttf.getUint16(),\n rangeShift: ttf.getUint16()\n };\n }\n\n function readTrueTypeCollectionHeader(ttc) {\n var ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));\n (0, _util.assert)(ttcTag === 'ttcf', 'Must be a TrueType Collection font.');\n var majorVersion = ttc.getUint16();\n var minorVersion = ttc.getUint16();\n var numFonts = ttc.getInt32() >>> 0;\n var offsetTable = [];\n\n for (var i = 0; i < numFonts; i++) {\n offsetTable.push(ttc.getInt32() >>> 0);\n }\n\n var header = {\n ttcTag: ttcTag,\n majorVersion: majorVersion,\n minorVersion: minorVersion,\n numFonts: numFonts,\n offsetTable: offsetTable\n };\n\n switch (majorVersion) {\n case 1:\n return header;\n\n case 2:\n header.dsigTag = ttc.getInt32() >>> 0;\n header.dsigLength = ttc.getInt32() >>> 0;\n header.dsigOffset = ttc.getInt32() >>> 0;\n return header;\n }\n\n throw new _util.FormatError(\"Invalid TrueType Collection majorVersion: \".concat(majorVersion, \".\"));\n }\n\n function readTrueTypeCollectionData(ttc, fontName) {\n var _readTrueTypeCollecti = readTrueTypeCollectionHeader(ttc),\n numFonts = _readTrueTypeCollecti.numFonts,\n offsetTable = _readTrueTypeCollecti.offsetTable;\n\n for (var i = 0; i < numFonts; i++) {\n ttc.pos = (ttc.start || 0) + offsetTable[i];\n var potentialHeader = readOpenTypeHeader(ttc);\n var potentialTables = readTables(ttc, potentialHeader.numTables);\n\n if (!potentialTables['name']) {\n throw new _util.FormatError('TrueType Collection font must contain a \"name\" table.');\n }\n\n var nameTable = readNameTable(potentialTables['name']);\n\n for (var j = 0, jj = nameTable.length; j < jj; j++) {\n for (var k = 0, kk = nameTable[j].length; k < kk; k++) {\n var nameEntry = nameTable[j][k];\n\n if (nameEntry && nameEntry.replace(/\\s/g, '') === fontName) {\n return {\n header: potentialHeader,\n tables: potentialTables\n };\n }\n }\n }\n }\n\n throw new _util.FormatError(\"TrueType Collection does not contain \\\"\".concat(fontName, \"\\\" font.\"));\n }\n\n function readCmapTable(cmap, font, isSymbolicFont, hasEncoding) {\n if (!cmap) {\n (0, _util.warn)('No cmap table available.');\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var segment;\n var start = (font.start ? font.start : 0) + cmap.offset;\n font.pos = start;\n font.getUint16();\n var numTables = font.getUint16();\n var potentialTable;\n var canBreak = false;\n\n for (var i = 0; i < numTables; i++) {\n var platformId = font.getUint16();\n var encodingId = font.getUint16();\n var offset = font.getInt32() >>> 0;\n var useTable = false;\n\n if (potentialTable && potentialTable.platformId === platformId && potentialTable.encodingId === encodingId) {\n continue;\n }\n\n if (platformId === 0 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 1 && encodingId === 0) {\n useTable = true;\n } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {\n useTable = true;\n\n if (!isSymbolicFont) {\n canBreak = true;\n }\n } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n useTable = true;\n canBreak = true;\n }\n\n if (useTable) {\n potentialTable = {\n platformId: platformId,\n encodingId: encodingId,\n offset: offset\n };\n }\n\n if (canBreak) {\n break;\n }\n }\n\n if (potentialTable) {\n font.pos = start + potentialTable.offset;\n }\n\n if (!potentialTable || font.peekByte() === -1) {\n (0, _util.warn)('Could not find a preferred cmap table.');\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n var format = font.getUint16();\n font.getUint16();\n font.getUint16();\n var hasShortCmap = false;\n var mappings = [];\n var j, glyphId;\n\n if (format === 0) {\n for (j = 0; j < 256; j++) {\n var index = font.getByte();\n\n if (!index) {\n continue;\n }\n\n mappings.push({\n charCode: j,\n glyphId: index\n });\n }\n\n hasShortCmap = true;\n } else if (format === 4) {\n var segCount = font.getUint16() >> 1;\n font.getBytes(6);\n var segIndex,\n segments = [];\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments.push({\n end: font.getUint16()\n });\n }\n\n font.getUint16();\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].start = font.getUint16();\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].delta = font.getUint16();\n }\n\n var offsetsCount = 0;\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n var rangeOffset = font.getUint16();\n\n if (!rangeOffset) {\n segment.offsetIndex = -1;\n continue;\n }\n\n var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n segment.offsetIndex = offsetIndex;\n offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);\n }\n\n var offsets = [];\n\n for (j = 0; j < offsetsCount; j++) {\n offsets.push(font.getUint16());\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n start = segment.start;\n var end = segment.end;\n var delta = segment.delta;\n offsetIndex = segment.offsetIndex;\n\n for (j = start; j <= end; j++) {\n if (j === 0xFFFF) {\n continue;\n }\n\n glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n glyphId = glyphId + delta & 0xFFFF;\n mappings.push({\n charCode: j,\n glyphId: glyphId\n });\n }\n }\n } else if (format === 6) {\n var firstCode = font.getUint16();\n var entryCount = font.getUint16();\n\n for (j = 0; j < entryCount; j++) {\n glyphId = font.getUint16();\n var charCode = firstCode + j;\n mappings.push({\n charCode: charCode,\n glyphId: glyphId\n });\n }\n } else {\n (0, _util.warn)('cmap table has unsupported format: ' + format);\n return {\n platformId: -1,\n encodingId: -1,\n mappings: [],\n hasShortCmap: false\n };\n }\n\n mappings.sort(function (a, b) {\n return a.charCode - b.charCode;\n });\n\n for (i = 1; i < mappings.length; i++) {\n if (mappings[i - 1].charCode === mappings[i].charCode) {\n mappings.splice(i, 1);\n i--;\n }\n }\n\n return {\n platformId: potentialTable.platformId,\n encodingId: potentialTable.encodingId,\n mappings: mappings,\n hasShortCmap: hasShortCmap\n };\n }\n\n function sanitizeMetrics(font, header, metrics, numGlyphs) {\n if (!header) {\n if (metrics) {\n metrics.data = null;\n }\n\n return;\n }\n\n font.pos = (font.start ? font.start : 0) + header.offset;\n font.pos += 4;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 2;\n font.pos += 8;\n font.pos += 2;\n var numOfMetrics = font.getUint16();\n\n if (numOfMetrics > numGlyphs) {\n (0, _util.info)('The numOfMetrics (' + numOfMetrics + ') should not be ' + 'greater than the numGlyphs (' + numGlyphs + ')');\n numOfMetrics = numGlyphs;\n header.data[34] = (numOfMetrics & 0xff00) >> 8;\n header.data[35] = numOfMetrics & 0x00ff;\n }\n\n var numOfSidebearings = numGlyphs - numOfMetrics;\n var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);\n\n if (numMissing > 0) {\n var entries = new Uint8Array(metrics.length + numMissing * 2);\n entries.set(metrics.data);\n metrics.data = entries;\n }\n }\n\n function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {\n var glyphProfile = {\n length: 0,\n sizeOfInstructions: 0\n };\n\n if (sourceEnd - sourceStart <= 12) {\n return glyphProfile;\n }\n\n var glyf = source.subarray(sourceStart, sourceEnd);\n var contoursCount = signedInt16(glyf[0], glyf[1]);\n\n if (contoursCount < 0) {\n contoursCount = -1;\n writeSignedInt16(glyf, 0, contoursCount);\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n var i,\n j = 10,\n flagsCount = 0;\n\n for (i = 0; i < contoursCount; i++) {\n var endPoint = glyf[j] << 8 | glyf[j + 1];\n flagsCount = endPoint + 1;\n j += 2;\n }\n\n var instructionsStart = j;\n var instructionsLength = glyf[j] << 8 | glyf[j + 1];\n glyphProfile.sizeOfInstructions = instructionsLength;\n j += 2 + instructionsLength;\n var instructionsEnd = j;\n var coordinatesLength = 0;\n\n for (i = 0; i < flagsCount; i++) {\n var flag = glyf[j++];\n\n if (flag & 0xC0) {\n glyf[j - 1] = flag & 0x3F;\n }\n\n var xyLength = (flag & 2 ? 1 : flag & 16 ? 0 : 2) + (flag & 4 ? 1 : flag & 32 ? 0 : 2);\n coordinatesLength += xyLength;\n\n if (flag & 8) {\n var repeat = glyf[j++];\n i += repeat;\n coordinatesLength += repeat * xyLength;\n }\n }\n\n if (coordinatesLength === 0) {\n return glyphProfile;\n }\n\n var glyphDataLength = j + coordinatesLength;\n\n if (glyphDataLength > glyf.length) {\n return glyphProfile;\n }\n\n if (!hintsValid && instructionsLength > 0) {\n dest.set(glyf.subarray(0, instructionsStart), destStart);\n dest.set([0, 0], destStart + instructionsStart);\n dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);\n glyphDataLength -= instructionsLength;\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n }\n\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n if (glyf.length - glyphDataLength > 3) {\n glyphDataLength = glyphDataLength + 3 & ~3;\n dest.set(glyf.subarray(0, glyphDataLength), destStart);\n glyphProfile.length = glyphDataLength;\n return glyphProfile;\n }\n\n dest.set(glyf, destStart);\n glyphProfile.length = glyf.length;\n return glyphProfile;\n }\n\n function sanitizeHead(head, numGlyphs, locaLength) {\n var data = head.data;\n var version = int32(data[0], data[1], data[2], data[3]);\n\n if (version >> 16 !== 1) {\n (0, _util.info)('Attempting to fix invalid version in head table: ' + version);\n data[0] = 0;\n data[1] = 1;\n data[2] = 0;\n data[3] = 0;\n }\n\n var indexToLocFormat = int16(data[50], data[51]);\n\n if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n (0, _util.info)('Attempting to fix invalid indexToLocFormat in head table: ' + indexToLocFormat);\n var numGlyphsPlusOne = numGlyphs + 1;\n\n if (locaLength === numGlyphsPlusOne << 1) {\n data[50] = 0;\n data[51] = 0;\n } else if (locaLength === numGlyphsPlusOne << 2) {\n data[50] = 0;\n data[51] = 1;\n } else {\n throw new _util.FormatError('Could not fix indexToLocFormat: ' + indexToLocFormat);\n }\n }\n }\n\n function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {\n var itemSize, itemDecode, itemEncode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n\n itemEncode = function fontItemEncodeLong(data, offset, value) {\n data[offset] = value >>> 24 & 0xFF;\n data[offset + 1] = value >> 16 & 0xFF;\n data[offset + 2] = value >> 8 & 0xFF;\n data[offset + 3] = value & 0xFF;\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n\n itemEncode = function fontItemEncode(data, offset, value) {\n data[offset] = value >> 9 & 0xFF;\n data[offset + 1] = value >> 1 & 0xFF;\n };\n }\n\n var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;\n var locaData = loca.data;\n var locaDataSize = itemSize * (1 + numGlyphsOut);\n locaData = new Uint8Array(locaDataSize);\n locaData.set(loca.data.subarray(0, locaDataSize));\n loca.data = locaData;\n var oldGlyfData = glyf.data;\n var oldGlyfDataLength = oldGlyfData.length;\n var newGlyfData = new Uint8Array(oldGlyfDataLength);\n var startOffset = itemDecode(locaData, 0);\n var writeOffset = 0;\n var missingGlyphs = Object.create(null);\n itemEncode(locaData, 0, writeOffset);\n var i, j;\n\n for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n var endOffset = itemDecode(locaData, j);\n\n if (endOffset === 0) {\n endOffset = startOffset;\n }\n\n if (endOffset > oldGlyfDataLength && (oldGlyfDataLength + 3 & ~3) === endOffset) {\n endOffset = oldGlyfDataLength;\n }\n\n if (endOffset > oldGlyfDataLength) {\n startOffset = endOffset;\n }\n\n var glyphProfile = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid);\n var newLength = glyphProfile.length;\n\n if (newLength === 0) {\n missingGlyphs[i] = true;\n }\n\n if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n }\n\n writeOffset += newLength;\n itemEncode(locaData, j, writeOffset);\n startOffset = endOffset;\n }\n\n if (writeOffset === 0) {\n var simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);\n\n for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {\n itemEncode(locaData, j, simpleGlyph.length);\n }\n\n glyf.data = simpleGlyph;\n } else if (dupFirstEntry) {\n var firstEntryLength = itemDecode(locaData, itemSize);\n\n if (newGlyfData.length > firstEntryLength + writeOffset) {\n glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n } else {\n glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n glyf.data.set(newGlyfData.subarray(0, writeOffset));\n }\n\n glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);\n } else {\n glyf.data = newGlyfData.subarray(0, writeOffset);\n }\n\n return {\n missingGlyphs: missingGlyphs,\n maxSizeOfInstructions: maxSizeOfInstructions\n };\n }\n\n function readPostScriptTable(post, properties, maxpNumGlyphs) {\n var start = (font.start ? font.start : 0) + post.offset;\n font.pos = start;\n var length = post.length,\n end = start + length;\n var version = font.getInt32();\n font.getBytes(28);\n var glyphNames;\n var valid = true;\n var i;\n\n switch (version) {\n case 0x00010000:\n glyphNames = MacStandardGlyphOrdering;\n break;\n\n case 0x00020000:\n var numGlyphs = font.getUint16();\n\n if (numGlyphs !== maxpNumGlyphs) {\n valid = false;\n break;\n }\n\n var glyphNameIndexes = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var index = font.getUint16();\n\n if (index >= 32768) {\n valid = false;\n break;\n }\n\n glyphNameIndexes.push(index);\n }\n\n if (!valid) {\n break;\n }\n\n var customNames = [];\n var strBuf = [];\n\n while (font.pos < end) {\n var stringLength = font.getByte();\n strBuf.length = stringLength;\n\n for (i = 0; i < stringLength; ++i) {\n strBuf[i] = String.fromCharCode(font.getByte());\n }\n\n customNames.push(strBuf.join(''));\n }\n\n glyphNames = [];\n\n for (i = 0; i < numGlyphs; ++i) {\n var j = glyphNameIndexes[i];\n\n if (j < 258) {\n glyphNames.push(MacStandardGlyphOrdering[j]);\n continue;\n }\n\n glyphNames.push(customNames[j - 258]);\n }\n\n break;\n\n case 0x00030000:\n break;\n\n default:\n (0, _util.warn)('Unknown/unsupported post table version ' + version);\n valid = false;\n\n if (properties.defaultEncoding) {\n glyphNames = properties.defaultEncoding;\n }\n\n break;\n }\n\n properties.glyphNames = glyphNames;\n return valid;\n }\n\n function readNameTable(nameTable) {\n var start = (font.start ? font.start : 0) + nameTable.offset;\n font.pos = start;\n var names = [[], []];\n var length = nameTable.length,\n end = start + length;\n var format = font.getUint16();\n var FORMAT_0_HEADER_LENGTH = 6;\n\n if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n return names;\n }\n\n var numRecords = font.getUint16();\n var stringsStart = font.getUint16();\n var records = [];\n var NAME_RECORD_LENGTH = 12;\n var i, ii;\n\n for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {\n var r = {\n platform: font.getUint16(),\n encoding: font.getUint16(),\n language: font.getUint16(),\n name: font.getUint16(),\n length: font.getUint16(),\n offset: font.getUint16()\n };\n\n if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) {\n records.push(r);\n }\n }\n\n for (i = 0, ii = records.length; i < ii; i++) {\n var record = records[i];\n\n if (record.length <= 0) {\n continue;\n }\n\n var pos = start + stringsStart + record.offset;\n\n if (pos + record.length > end) {\n continue;\n }\n\n font.pos = pos;\n var nameIndex = record.name;\n\n if (record.encoding) {\n var str = '';\n\n for (var j = 0, jj = record.length; j < jj; j += 2) {\n str += String.fromCharCode(font.getUint16());\n }\n\n names[1][nameIndex] = str;\n } else {\n names[0][nameIndex] = (0, _util.bytesToString)(font.getBytes(record.length));\n }\n }\n\n return names;\n }\n\n var TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n\n function sanitizeTTProgram(table, ttContext) {\n var data = table.data;\n var i = 0,\n j,\n n,\n b,\n funcId,\n pc,\n lastEndf = 0,\n lastDeff = 0;\n var stack = [];\n var callstack = [];\n var functionsCalled = [];\n var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n var inFDEF = false,\n ifLevel = 0,\n inELSE = 0;\n\n for (var ii = data.length; i < ii;) {\n var op = data[i++];\n\n if (op === 0x40) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if (op === 0x41) {\n n = data[i++];\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if ((op & 0xF8) === 0xB0) {\n n = op - 0xB0 + 1;\n\n if (inFDEF || inELSE) {\n i += n;\n } else {\n for (j = 0; j < n; j++) {\n stack.push(data[i++]);\n }\n }\n } else if ((op & 0xF8) === 0xB8) {\n n = op - 0xB8 + 1;\n\n if (inFDEF || inELSE) {\n i += n * 2;\n } else {\n for (j = 0; j < n; j++) {\n b = data[i++];\n stack.push(b << 8 | data[i++]);\n }\n }\n } else if (op === 0x2B && !tooComplexToFollowFunctions) {\n if (!inFDEF && !inELSE) {\n funcId = stack[stack.length - 1];\n\n if (isNaN(funcId)) {\n (0, _util.info)('TT: CALL empty stack (or invalid entry).');\n } else {\n ttContext.functionsUsed[funcId] = true;\n\n if (funcId in ttContext.functionsStackDeltas) {\n var newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];\n\n if (newStackLength < 0) {\n (0, _util.warn)('TT: CALL invalid functions stack delta.');\n ttContext.hintsValid = false;\n return;\n }\n\n stack.length = newStackLength;\n } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {\n callstack.push({\n data: data,\n i: i,\n stackTop: stack.length - 1\n });\n functionsCalled.push(funcId);\n pc = ttContext.functionsDefined[funcId];\n\n if (!pc) {\n (0, _util.warn)('TT: CALL non-existent function');\n ttContext.hintsValid = false;\n return;\n }\n\n data = pc.data;\n i = pc.i;\n }\n }\n }\n } else if (op === 0x2C && !tooComplexToFollowFunctions) {\n if (inFDEF || inELSE) {\n (0, _util.warn)('TT: nested FDEFs not allowed');\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n funcId = stack.pop();\n ttContext.functionsDefined[funcId] = {\n data: data,\n i: i\n };\n } else if (op === 0x2D) {\n if (inFDEF) {\n inFDEF = false;\n lastEndf = i;\n } else {\n pc = callstack.pop();\n\n if (!pc) {\n (0, _util.warn)('TT: ENDF bad stack');\n ttContext.hintsValid = false;\n return;\n }\n\n funcId = functionsCalled.pop();\n data = pc.data;\n i = pc.i;\n ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;\n }\n } else if (op === 0x89) {\n if (inFDEF || inELSE) {\n (0, _util.warn)('TT: nested IDEFs not allowed');\n tooComplexToFollowFunctions = true;\n }\n\n inFDEF = true;\n lastDeff = i;\n } else if (op === 0x58) {\n ++ifLevel;\n } else if (op === 0x1B) {\n inELSE = ifLevel;\n } else if (op === 0x59) {\n if (inELSE === ifLevel) {\n inELSE = 0;\n }\n\n --ifLevel;\n } else if (op === 0x1C) {\n if (!inFDEF && !inELSE) {\n var offset = stack[stack.length - 1];\n\n if (offset > 0) {\n i += offset - 1;\n }\n }\n }\n\n if (!inFDEF && !inELSE) {\n var stackDelta = op <= 0x8E ? TTOpsStackDeltas[op] : op >= 0xC0 && op <= 0xDF ? -1 : op >= 0xE0 ? -2 : 0;\n\n if (op >= 0x71 && op <= 0x75) {\n n = stack.pop();\n\n if (!isNaN(n)) {\n stackDelta = -n * 2;\n }\n }\n\n while (stackDelta < 0 && stack.length > 0) {\n stack.pop();\n stackDelta++;\n }\n\n while (stackDelta > 0) {\n stack.push(NaN);\n stackDelta--;\n }\n }\n }\n\n ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n var content = [data];\n\n if (i > data.length) {\n content.push(new Uint8Array(i - data.length));\n }\n\n if (lastDeff > lastEndf) {\n (0, _util.warn)('TT: complementing a missing function tail');\n content.push(new Uint8Array([0x22, 0x2D]));\n }\n\n foldTTTable(table, content);\n }\n\n function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n if (ttContext.tooComplexToFollowFunctions) {\n return;\n }\n\n if (ttContext.functionsDefined.length > maxFunctionDefs) {\n (0, _util.warn)('TT: more functions defined than expected');\n ttContext.hintsValid = false;\n return;\n }\n\n for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n if (j > maxFunctionDefs) {\n (0, _util.warn)('TT: invalid function id: ' + j);\n ttContext.hintsValid = false;\n return;\n }\n\n if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n (0, _util.warn)('TT: undefined function: ' + j);\n ttContext.hintsValid = false;\n return;\n }\n }\n }\n\n function foldTTTable(table, content) {\n if (content.length > 1) {\n var newLength = 0;\n var j, jj;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n newLength += content[j].length;\n }\n\n newLength = newLength + 3 & ~3;\n var result = new Uint8Array(newLength);\n var pos = 0;\n\n for (j = 0, jj = content.length; j < jj; j++) {\n result.set(content[j], pos);\n pos += content[j].length;\n }\n\n table.data = result;\n table.length = newLength;\n }\n }\n\n function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n var ttContext = {\n functionsDefined: [],\n functionsUsed: [],\n functionsStackDeltas: [],\n tooComplexToFollowFunctions: false,\n hintsValid: true\n };\n\n if (fpgm) {\n sanitizeTTProgram(fpgm, ttContext);\n }\n\n if (prep) {\n sanitizeTTProgram(prep, ttContext);\n }\n\n if (fpgm) {\n checkInvalidFunctions(ttContext, maxFunctionDefs);\n }\n\n if (cvt && cvt.length & 1) {\n var cvtData = new Uint8Array(cvt.length + 1);\n cvtData.set(cvt.data);\n cvt.data = cvtData;\n }\n\n return ttContext.hintsValid;\n }\n\n font = new _stream.Stream(new Uint8Array(font.getBytes()));\n var header, tables;\n\n if (isTrueTypeCollectionFile(font)) {\n var ttcData = readTrueTypeCollectionData(font, this.name);\n header = ttcData.header;\n tables = ttcData.tables;\n } else {\n header = readOpenTypeHeader(font);\n tables = readTables(font, header.numTables);\n }\n\n var cff, cffFile;\n var isTrueType = !tables['CFF '];\n\n if (!isTrueType) {\n var isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || !(properties.cMap instanceof _cmap.IdentityCMap));\n\n if (header.version === 'OTTO' && !isComposite || !tables['head'] || !tables['hhea'] || !tables['maxp'] || !tables['post']) {\n cffFile = new _stream.Stream(tables['CFF '].data);\n cff = new CFFFont(cffFile, properties);\n adjustWidths(properties);\n return this.convert(name, cff, properties);\n }\n\n delete tables['glyf'];\n delete tables['loca'];\n delete tables['fpgm'];\n delete tables['prep'];\n delete tables['cvt '];\n this.isOpenType = true;\n } else {\n if (!tables['loca']) {\n throw new _util.FormatError('Required \"loca\" table is not found');\n }\n\n if (!tables['glyf']) {\n (0, _util.warn)('Required \"glyf\" table is not found -- trying to recover.');\n tables['glyf'] = {\n tag: 'glyf',\n data: new Uint8Array(0)\n };\n }\n\n this.isOpenType = false;\n }\n\n if (!tables['maxp']) {\n throw new _util.FormatError('Required \"maxp\" table is not found');\n }\n\n font.pos = (font.start || 0) + tables['maxp'].offset;\n var version = font.getInt32();\n var numGlyphs = font.getUint16();\n var numGlyphsOut = numGlyphs + 1;\n var dupFirstEntry = true;\n\n if (numGlyphsOut > 0xFFFF) {\n dupFirstEntry = false;\n numGlyphsOut = numGlyphs;\n (0, _util.warn)('Not enough space in glyfs to duplicate first glyph.');\n }\n\n var maxFunctionDefs = 0;\n var maxSizeOfInstructions = 0;\n\n if (version >= 0x00010000 && tables['maxp'].length >= 22) {\n font.pos += 8;\n var maxZones = font.getUint16();\n\n if (maxZones > 2) {\n tables['maxp'].data[14] = 0;\n tables['maxp'].data[15] = 2;\n }\n\n font.pos += 4;\n maxFunctionDefs = font.getUint16();\n font.pos += 4;\n maxSizeOfInstructions = font.getUint16();\n }\n\n tables['maxp'].data[4] = numGlyphsOut >> 8;\n tables['maxp'].data[5] = numGlyphsOut & 255;\n var hintsValid = sanitizeTTPrograms(tables['fpgm'], tables['prep'], tables['cvt '], maxFunctionDefs);\n\n if (!hintsValid) {\n delete tables['fpgm'];\n delete tables['prep'];\n delete tables['cvt '];\n }\n\n sanitizeMetrics(font, tables['hhea'], tables['hmtx'], numGlyphsOut);\n\n if (!tables['head']) {\n throw new _util.FormatError('Required \"head\" table is not found');\n }\n\n sanitizeHead(tables['head'], numGlyphs, isTrueType ? tables['loca'].length : 0);\n var missingGlyphs = Object.create(null);\n\n if (isTrueType) {\n var isGlyphLocationsLong = int16(tables['head'].data[50], tables['head'].data[51]);\n var glyphsInfo = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);\n missingGlyphs = glyphsInfo.missingGlyphs;\n\n if (version >= 0x00010000 && tables['maxp'].length >= 22) {\n tables['maxp'].data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n tables['maxp'].data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n }\n }\n\n if (!tables['hhea']) {\n throw new _util.FormatError('Required \"hhea\" table is not found');\n }\n\n if (tables['hhea'].data[10] === 0 && tables['hhea'].data[11] === 0) {\n tables['hhea'].data[10] = 0xFF;\n tables['hhea'].data[11] = 0xFF;\n }\n\n var metricsOverride = {\n unitsPerEm: int16(tables['head'].data[18], tables['head'].data[19]),\n yMax: int16(tables['head'].data[42], tables['head'].data[43]),\n yMin: signedInt16(tables['head'].data[38], tables['head'].data[39]),\n ascent: int16(tables['hhea'].data[4], tables['hhea'].data[5]),\n descent: signedInt16(tables['hhea'].data[6], tables['hhea'].data[7])\n };\n this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n\n if (tables['post']) {\n readPostScriptTable(tables['post'], properties, numGlyphs);\n }\n\n tables['post'] = {\n tag: 'post',\n data: createPostTable(properties)\n };\n var charCodeToGlyphId = [],\n charCode;\n\n function hasGlyph(glyphId) {\n return !missingGlyphs[glyphId];\n }\n\n if (properties.composite) {\n var cidToGidMap = properties.cidToGidMap || [];\n var isCidToGidMapEmpty = cidToGidMap.length === 0;\n properties.cMap.forEach(function (charCode, cid) {\n if (cid > 0xffff) {\n throw new _util.FormatError('Max size of CID is 65,535');\n }\n\n var glyphId = -1;\n\n if (isCidToGidMapEmpty) {\n glyphId = cid;\n } else if (cidToGidMap[cid] !== undefined) {\n glyphId = cidToGidMap[cid];\n }\n\n if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n });\n } else {\n var cmapTable = readCmapTable(tables['cmap'], font, this.isSymbolicFont, properties.hasEncoding);\n var cmapPlatformId = cmapTable.platformId;\n var cmapEncodingId = cmapTable.encodingId;\n var cmapMappings = cmapTable.mappings;\n var cmapMappingsLength = cmapMappings.length;\n\n if (properties.hasEncoding && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0) || cmapPlatformId === -1 && cmapEncodingId === -1 && !!(0, _encodings.getEncoding)(properties.baseEncodingName)) {\n var baseEncoding = [];\n\n if (properties.baseEncodingName === 'MacRomanEncoding' || properties.baseEncodingName === 'WinAnsiEncoding') {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (charCode = 0; charCode < 256; charCode++) {\n var glyphName, standardGlyphName;\n\n if (this.differences && charCode in this.differences) {\n glyphName = this.differences[charCode];\n } else if (charCode in baseEncoding && baseEncoding[charCode] !== '') {\n glyphName = baseEncoding[charCode];\n } else {\n glyphName = _encodings.StandardEncoding[charCode];\n }\n\n if (!glyphName) {\n continue;\n }\n\n standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n var unicodeOrCharCode;\n\n if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);\n }\n\n var found = false;\n\n for (var i = 0; i < cmapMappingsLength; ++i) {\n if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n continue;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n found = true;\n break;\n }\n\n if (!found && properties.glyphNames) {\n var glyphId = properties.glyphNames.indexOf(glyphName);\n\n if (glyphId === -1 && standardGlyphName !== glyphName) {\n glyphId = properties.glyphNames.indexOf(standardGlyphName);\n }\n\n if (glyphId > 0 && hasGlyph(glyphId)) {\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n }\n } else if (cmapPlatformId === 0 && cmapEncodingId === 0) {\n for (var _i2 = 0; _i2 < cmapMappingsLength; ++_i2) {\n charCodeToGlyphId[cmapMappings[_i2].charCode] = cmapMappings[_i2].glyphId;\n }\n } else {\n for (var _i3 = 0; _i3 < cmapMappingsLength; ++_i3) {\n charCode = cmapMappings[_i3].charCode;\n\n if (cmapPlatformId === 3 && charCode >= 0xF000 && charCode <= 0xF0FF) {\n charCode &= 0xFF;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[_i3].glyphId;\n }\n }\n }\n\n if (charCodeToGlyphId.length === 0) {\n charCodeToGlyphId[0] = 0;\n }\n\n var glyphZeroId = numGlyphsOut - 1;\n\n if (!dupFirstEntry) {\n glyphZeroId = 0;\n }\n\n var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n tables['cmap'] = {\n tag: 'cmap',\n data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut)\n };\n\n if (!tables['OS/2'] || !validateOS2Table(tables['OS/2'])) {\n tables['OS/2'] = {\n tag: 'OS/2',\n data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)\n };\n }\n\n if (!isTrueType) {\n try {\n cffFile = new _stream.Stream(tables['CFF '].data);\n var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);\n cff = parser.parse();\n cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(cff);\n tables['CFF '].data = compiler.compile();\n } catch (e) {\n (0, _util.warn)('Failed to compile font ' + properties.loadedName);\n }\n }\n\n if (!tables['name']) {\n tables['name'] = {\n tag: 'name',\n data: createNameTable(this.name)\n };\n } else {\n var namePrototype = readNameTable(tables['name']);\n tables['name'].data = createNameTable(name, namePrototype);\n }\n\n var builder = new OpenTypeFileBuilder(header.version);\n\n for (var tableTag in tables) {\n builder.addTable(tableTag, tables[tableTag].data);\n }\n\n return builder.toArray();\n },\n convert: function Font_convert(fontName, font, properties) {\n properties.fixedPitch = false;\n\n if (properties.builtInEncoding) {\n adjustToUnicode(properties, properties.builtInEncoding);\n }\n\n var glyphZeroId = 1;\n\n if (font instanceof CFFFont) {\n glyphZeroId = font.numGlyphs - 1;\n }\n\n var mapping = font.getGlyphMapping(properties);\n var newMapping = adjustMapping(mapping, font.hasGlyphId.bind(font), glyphZeroId);\n this.toFontChar = newMapping.toFontChar;\n var numGlyphs = font.numGlyphs;\n\n function getCharCodes(charCodeToGlyphId, glyphId) {\n var charCodes = null;\n\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n if (!charCodes) {\n charCodes = [];\n }\n\n charCodes.push(charCode | 0);\n }\n }\n\n return charCodes;\n }\n\n function createCharCode(charCodeToGlyphId, glyphId) {\n for (var charCode in charCodeToGlyphId) {\n if (glyphId === charCodeToGlyphId[charCode]) {\n return charCode | 0;\n }\n }\n\n newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;\n return newMapping.nextAvailableFontCharCode++;\n }\n\n var seacs = font.seacs;\n\n if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {\n var matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var charset = font.getCharset();\n var seacMap = Object.create(null);\n\n for (var glyphId in seacs) {\n glyphId |= 0;\n var seac = seacs[glyphId];\n var baseGlyphName = _encodings.StandardEncoding[seac[2]];\n var accentGlyphName = _encodings.StandardEncoding[seac[3]];\n var baseGlyphId = charset.indexOf(baseGlyphName);\n var accentGlyphId = charset.indexOf(accentGlyphName);\n\n if (baseGlyphId < 0 || accentGlyphId < 0) {\n continue;\n }\n\n var accentOffset = {\n x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]\n };\n var charCodes = getCharCodes(mapping, glyphId);\n\n if (!charCodes) {\n continue;\n }\n\n for (var i = 0, ii = charCodes.length; i < ii; i++) {\n var charCode = charCodes[i];\n var charCodeToGlyphId = newMapping.charCodeToGlyphId;\n var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);\n var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);\n seacMap[charCode] = {\n baseFontCharCode: baseFontCharCode,\n accentFontCharCode: accentFontCharCode,\n accentOffset: accentOffset\n };\n }\n }\n\n properties.seacMap = seacMap;\n }\n\n var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n var builder = new OpenTypeFileBuilder('\\x4F\\x54\\x54\\x4F');\n builder.addTable('CFF ', font.data);\n builder.addTable('OS/2', createOS2Table(properties, newMapping.charCodeToGlyphId));\n builder.addTable('cmap', createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));\n builder.addTable('head', '\\x00\\x01\\x00\\x00' + '\\x00\\x00\\x10\\x00' + '\\x00\\x00\\x00\\x00' + '\\x5F\\x0F\\x3C\\xF5' + '\\x00\\x00' + safeString16(unitsPerEm) + '\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27' + '\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27' + '\\x00\\x00' + safeString16(properties.descent) + '\\x0F\\xFF' + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + '\\x00\\x11' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00');\n builder.addTable('hhea', '\\x00\\x01\\x00\\x00' + safeString16(properties.ascent) + safeString16(properties.descent) + '\\x00\\x00' + '\\xFF\\xFF' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + '\\x00\\x00' + string16(numGlyphs));\n builder.addTable('hmtx', function fontFieldsHmtx() {\n var charstrings = font.charstrings;\n var cffWidths = font.cff ? font.cff.widths : null;\n var hmtx = '\\x00\\x00\\x00\\x00';\n\n for (var i = 1, ii = numGlyphs; i < ii; i++) {\n var width = 0;\n\n if (charstrings) {\n var charstring = charstrings[i - 1];\n width = 'width' in charstring ? charstring.width : 0;\n } else if (cffWidths) {\n width = Math.ceil(cffWidths[i] || 0);\n }\n\n hmtx += string16(width) + string16(0);\n }\n\n return hmtx;\n }());\n builder.addTable('maxp', '\\x00\\x00\\x50\\x00' + string16(numGlyphs));\n builder.addTable('name', createNameTable(fontName));\n builder.addTable('post', createPostTable(properties));\n return builder.toArray();\n },\n\n get spaceWidth() {\n if ('_shadowWidth' in this) {\n return this._shadowWidth;\n }\n\n var possibleSpaceReplacements = ['space', 'minus', 'one', 'i', 'I'];\n var width;\n\n for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {\n var glyphName = possibleSpaceReplacements[i];\n\n if (glyphName in this.widths) {\n width = this.widths[glyphName];\n break;\n }\n\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n var glyphUnicode = glyphsUnicodeMap[glyphName];\n var charcode = 0;\n\n if (this.composite) {\n if (this.cMap.contains(glyphUnicode)) {\n charcode = this.cMap.lookup(glyphUnicode);\n }\n }\n\n if (!charcode && this.toUnicode) {\n charcode = this.toUnicode.charCodeOf(glyphUnicode);\n }\n\n if (charcode <= 0) {\n charcode = glyphUnicode;\n }\n\n width = this.widths[charcode];\n\n if (width) {\n break;\n }\n }\n\n width = width || this.defaultWidth;\n this._shadowWidth = width;\n return width;\n },\n\n charToGlyph: function Font_charToGlyph(charcode, isSpace) {\n var fontCharCode, width, operatorListId;\n var widthCode = charcode;\n\n if (this.cMap && this.cMap.contains(charcode)) {\n widthCode = this.cMap.lookup(charcode);\n }\n\n width = this.widths[widthCode];\n width = (0, _util.isNum)(width) ? width : this.defaultWidth;\n var vmetric = this.vmetrics && this.vmetrics[widthCode];\n var unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;\n\n if (typeof unicode === 'number') {\n unicode = String.fromCharCode(unicode);\n }\n\n var isInFont = charcode in this.toFontChar;\n fontCharCode = this.toFontChar[charcode] || charcode;\n\n if (this.missingFile) {\n fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);\n }\n\n if (this.isType3Font) {\n operatorListId = fontCharCode;\n }\n\n var accent = null;\n\n if (this.seacMap && this.seacMap[charcode]) {\n isInFont = true;\n var seac = this.seacMap[charcode];\n fontCharCode = seac.baseFontCharCode;\n accent = {\n fontChar: String.fromCodePoint(seac.accentFontCharCode),\n offset: seac.accentOffset\n };\n }\n\n var fontChar = typeof fontCharCode === 'number' ? String.fromCodePoint(fontCharCode) : '';\n var glyph = this.glyphCache[charcode];\n\n if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) {\n glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);\n this.glyphCache[charcode] = glyph;\n }\n\n return glyph;\n },\n charsToGlyphs: function Font_charsToGlyphs(chars) {\n var charsCache = this.charsCache;\n var glyphs, glyph, charcode;\n\n if (charsCache) {\n glyphs = charsCache[chars];\n\n if (glyphs) {\n return glyphs;\n }\n }\n\n if (!charsCache) {\n charsCache = this.charsCache = Object.create(null);\n }\n\n glyphs = [];\n var charsCacheKey = chars;\n var i = 0,\n ii;\n\n if (this.cMap) {\n var c = Object.create(null);\n\n while (i < chars.length) {\n this.cMap.readCharCode(chars, i, c);\n charcode = c.charcode;\n var length = c.length;\n i += length;\n var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;\n glyph = this.charToGlyph(charcode, isSpace);\n glyphs.push(glyph);\n }\n } else {\n for (i = 0, ii = chars.length; i < ii; ++i) {\n charcode = chars.charCodeAt(i);\n glyph = this.charToGlyph(charcode, charcode === 0x20);\n glyphs.push(glyph);\n }\n }\n\n return charsCache[charsCacheKey] = glyphs;\n },\n\n get glyphCacheValues() {\n return Object.values(this.glyphCache);\n }\n\n };\n return Font;\n}();\n\nexports.Font = Font;\n\nvar ErrorFont = function ErrorFontClosure() {\n function ErrorFont(error) {\n this.error = error;\n this.loadedName = 'g_font_error';\n this.missingFile = true;\n }\n\n ErrorFont.prototype = {\n charsToGlyphs: function ErrorFont_charsToGlyphs() {\n return [];\n },\n exportData: function ErrorFont_exportData() {\n return {\n error: this.error\n };\n }\n };\n return ErrorFont;\n}();\n\nexports.ErrorFont = ErrorFont;\n\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n var charCodeToGlyphId = Object.create(null);\n var glyphId, charCode, baseEncoding;\n var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n\n if (properties.baseEncodingName) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n } else if (isSymbolicFont) {\n for (charCode in builtInEncoding) {\n charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n }\n } else {\n baseEncoding = _encodings.StandardEncoding;\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n var differences = properties.differences,\n glyphsUnicodeMap;\n\n if (differences) {\n for (charCode in differences) {\n var glyphName = differences[charCode];\n glyphId = glyphNames.indexOf(glyphName);\n\n if (glyphId === -1) {\n if (!glyphsUnicodeMap) {\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n }\n\n var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n\n if (standardGlyphName !== glyphName) {\n glyphId = glyphNames.indexOf(standardGlyphName);\n }\n }\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n return charCodeToGlyphId;\n}\n\nvar Type1Font = function Type1FontClosure() {\n function findBlock(streamBytes, signature, startIndex) {\n var streamBytesLength = streamBytes.length;\n var signatureLength = signature.length;\n var scanLength = streamBytesLength - signatureLength;\n var i = startIndex,\n j,\n found = false;\n\n while (i < scanLength) {\n j = 0;\n\n while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n i += j;\n\n while (i < streamBytesLength && (0, _util.isSpace)(streamBytes[i])) {\n i++;\n }\n\n found = true;\n break;\n }\n\n i++;\n }\n\n return {\n found: found,\n length: i\n };\n }\n\n function getHeaderBlock(stream, suggestedLength) {\n var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n var streamStartPos = stream.pos;\n var headerBytes, headerBytesLength, block;\n\n try {\n headerBytes = stream.getBytes(suggestedLength);\n headerBytesLength = headerBytes.length;\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n }\n\n if (headerBytesLength === suggestedLength) {\n block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);\n\n if (block.found && block.length === suggestedLength) {\n return {\n stream: new _stream.Stream(headerBytes),\n length: suggestedLength\n };\n }\n }\n\n (0, _util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n stream.pos = streamStartPos;\n var SCAN_BLOCK_LENGTH = 2048;\n var actualLength;\n\n while (true) {\n var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n\n if (block.length === 0) {\n break;\n }\n\n stream.pos += block.length;\n\n if (block.found) {\n actualLength = stream.pos - streamStartPos;\n break;\n }\n }\n\n stream.pos = streamStartPos;\n\n if (actualLength) {\n return {\n stream: new _stream.Stream(stream.getBytes(actualLength)),\n length: actualLength\n };\n }\n\n (0, _util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n return {\n stream: new _stream.Stream(stream.getBytes(suggestedLength)),\n length: suggestedLength\n };\n }\n\n function getEexecBlock(stream, suggestedLength) {\n var eexecBytes = stream.getBytes();\n return {\n stream: new _stream.Stream(eexecBytes),\n length: eexecBytes.length\n };\n }\n\n function Type1Font(name, file, properties) {\n var PFB_HEADER_SIZE = 6;\n var headerBlockLength = properties.length1;\n var eexecBlockLength = properties.length2;\n var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n\n if (pfbHeaderPresent) {\n file.skip(PFB_HEADER_SIZE);\n headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var headerBlock = getHeaderBlock(file, headerBlockLength);\n var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);\n headerBlockParser.extractFontHeader(properties);\n\n if (pfbHeaderPresent) {\n pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n }\n\n var eexecBlock = getEexecBlock(file, eexecBlockLength);\n var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);\n var data = eexecBlockParser.extractFontProgram();\n\n for (var info in data.properties) {\n properties[info] = data.properties[info];\n }\n\n var charstrings = data.charstrings;\n var type2Charstrings = this.getType2Charstrings(charstrings);\n var subrs = this.getType2Subrs(data.subrs);\n this.charstrings = charstrings;\n this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);\n this.seacs = this.getSeacs(data.charstrings);\n }\n\n Type1Font.prototype = {\n get numGlyphs() {\n return this.charstrings.length + 1;\n },\n\n getCharset: function Type1Font_getCharset() {\n var charset = ['.notdef'];\n var charstrings = this.charstrings;\n\n for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {\n charset.push(charstrings[glyphId].glyphName);\n }\n\n return charset;\n },\n getGlyphMapping: function Type1Font_getGlyphMapping(properties) {\n var charstrings = this.charstrings;\n var glyphNames = ['.notdef'],\n glyphId;\n\n for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n glyphNames.push(charstrings[glyphId].glyphName);\n }\n\n var encoding = properties.builtInEncoding;\n\n if (encoding) {\n var builtInEncoding = Object.create(null);\n\n for (var charCode in encoding) {\n glyphId = glyphNames.indexOf(encoding[charCode]);\n\n if (glyphId >= 0) {\n builtInEncoding[charCode] = glyphId;\n }\n }\n }\n\n return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);\n },\n hasGlyphId: function Type1Font_hasGlyphID(id) {\n if (id < 0 || id >= this.numGlyphs) {\n return false;\n }\n\n if (id === 0) {\n return true;\n }\n\n var glyph = this.charstrings[id - 1];\n return glyph.charstring.length > 0;\n },\n getSeacs: function Type1Font_getSeacs(charstrings) {\n var i, ii;\n var seacMap = [];\n\n for (i = 0, ii = charstrings.length; i < ii; i++) {\n var charstring = charstrings[i];\n\n if (charstring.seac) {\n seacMap[i + 1] = charstring.seac;\n }\n }\n\n return seacMap;\n },\n getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) {\n var type2Charstrings = [];\n\n for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {\n type2Charstrings.push(type1Charstrings[i].charstring);\n }\n\n return type2Charstrings;\n },\n getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {\n var bias = 0;\n var count = type1Subrs.length;\n\n if (count < 1133) {\n bias = 107;\n } else if (count < 33769) {\n bias = 1131;\n } else {\n bias = 32768;\n }\n\n var type2Subrs = [];\n var i;\n\n for (i = 0; i < bias; i++) {\n type2Subrs.push([0x0B]);\n }\n\n for (i = 0; i < count; i++) {\n type2Subrs.push(type1Subrs[i]);\n }\n\n return type2Subrs;\n },\n wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) {\n var cff = new _cff_parser.CFF();\n cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);\n cff.names = [name];\n var topDict = new _cff_parser.CFFTopDict();\n topDict.setByName('version', 391);\n topDict.setByName('Notice', 392);\n topDict.setByName('FullName', 393);\n topDict.setByName('FamilyName', 394);\n topDict.setByName('Weight', 395);\n topDict.setByName('Encoding', null);\n topDict.setByName('FontMatrix', properties.fontMatrix);\n topDict.setByName('FontBBox', properties.bbox);\n topDict.setByName('charset', null);\n topDict.setByName('CharStrings', null);\n topDict.setByName('Private', null);\n cff.topDict = topDict;\n var strings = new _cff_parser.CFFStrings();\n strings.add('Version 0.11');\n strings.add('See original notice');\n strings.add(name);\n strings.add(name);\n strings.add('Medium');\n cff.strings = strings;\n cff.globalSubrIndex = new _cff_parser.CFFIndex();\n var count = glyphs.length;\n var charsetArray = [0];\n var i, ii;\n\n for (i = 0; i < count; i++) {\n var index = _cff_parser.CFFStandardStrings.indexOf(charstrings[i].glyphName);\n\n if (index === -1) {\n index = 0;\n }\n\n charsetArray.push(index >> 8 & 0xff, index & 0xff);\n }\n\n cff.charset = new _cff_parser.CFFCharset(false, 0, [], charsetArray);\n var charStringsIndex = new _cff_parser.CFFIndex();\n charStringsIndex.add([0x8B, 0x0E]);\n\n for (i = 0; i < count; i++) {\n charStringsIndex.add(glyphs[i]);\n }\n\n cff.charStrings = charStringsIndex;\n var privateDict = new _cff_parser.CFFPrivateDict();\n privateDict.setByName('Subrs', null);\n var fields = ['BlueValues', 'OtherBlues', 'FamilyBlues', 'FamilyOtherBlues', 'StemSnapH', 'StemSnapV', 'BlueShift', 'BlueFuzz', 'BlueScale', 'LanguageGroup', 'ExpansionFactor', 'ForceBold', 'StdHW', 'StdVW'];\n\n for (i = 0, ii = fields.length; i < ii; i++) {\n var field = fields[i];\n\n if (!(field in properties.privateData)) {\n continue;\n }\n\n var value = properties.privateData[field];\n\n if (Array.isArray(value)) {\n for (var j = value.length - 1; j > 0; j--) {\n value[j] -= value[j - 1];\n }\n }\n\n privateDict.setByName(field, value);\n }\n\n cff.topDict.privateDict = privateDict;\n var subrIndex = new _cff_parser.CFFIndex();\n\n for (i = 0, ii = subrs.length; i < ii; i++) {\n subrIndex.add(subrs[i]);\n }\n\n privateDict.subrsIndex = subrIndex;\n var compiler = new _cff_parser.CFFCompiler(cff);\n return compiler.compile();\n }\n };\n return Type1Font;\n}();\n\nvar CFFFont = function CFFFontClosure() {\n function CFFFont(file, properties) {\n this.properties = properties;\n var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n this.cff = parser.parse();\n this.cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(this.cff);\n this.seacs = this.cff.seacs;\n\n try {\n this.data = compiler.compile();\n } catch (e) {\n (0, _util.warn)('Failed to compile font ' + properties.loadedName);\n this.data = file;\n }\n }\n\n CFFFont.prototype = {\n get numGlyphs() {\n return this.cff.charStrings.count;\n },\n\n getCharset: function CFFFont_getCharset() {\n return this.cff.charset.charset;\n },\n getGlyphMapping: function CFFFont_getGlyphMapping() {\n var cff = this.cff;\n var properties = this.properties;\n var charsets = cff.charset.charset;\n var charCodeToGlyphId;\n var glyphId;\n\n if (properties.composite) {\n charCodeToGlyphId = Object.create(null);\n\n if (cff.isCIDFont) {\n for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n var cid = charsets[glyphId];\n var charCode = properties.cMap.charCodeOf(cid);\n charCodeToGlyphId[charCode] = glyphId;\n }\n } else {\n for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n charCodeToGlyphId[glyphId] = glyphId;\n }\n }\n\n return charCodeToGlyphId;\n }\n\n var encoding = cff.encoding ? cff.encoding.encoding : null;\n charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n return charCodeToGlyphId;\n },\n hasGlyphId: function CFFFont_hasGlyphID(id) {\n return this.cff.hasGlyphId(id);\n }\n };\n return CFFFont;\n}();\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _charsets = __w_pdfjs_require__(175);\n\nvar _encodings = __w_pdfjs_require__(176);\n\nvar MAX_SUBR_NESTING = 10;\nvar CFFStandardStrings = ['.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'];\nexports.CFFStandardStrings = CFFStandardStrings;\n\nvar CFFParser = function CFFParserClosure() {\n var CharstringValidationData = [null, {\n id: 'hstem',\n min: 2,\n stackClearing: true,\n stem: true\n }, null, {\n id: 'vstem',\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: 'vmoveto',\n min: 1,\n stackClearing: true\n }, {\n id: 'rlineto',\n min: 2,\n resetStack: true\n }, {\n id: 'hlineto',\n min: 1,\n resetStack: true\n }, {\n id: 'vlineto',\n min: 1,\n resetStack: true\n }, {\n id: 'rrcurveto',\n min: 6,\n resetStack: true\n }, null, {\n id: 'callsubr',\n min: 1,\n undefStack: true\n }, {\n id: 'return',\n min: 0,\n undefStack: true\n }, null, null, {\n id: 'endchar',\n min: 0,\n stackClearing: true\n }, null, null, null, {\n id: 'hstemhm',\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: 'hintmask',\n min: 0,\n stackClearing: true\n }, {\n id: 'cntrmask',\n min: 0,\n stackClearing: true\n }, {\n id: 'rmoveto',\n min: 2,\n stackClearing: true\n }, {\n id: 'hmoveto',\n min: 1,\n stackClearing: true\n }, {\n id: 'vstemhm',\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: 'rcurveline',\n min: 8,\n resetStack: true\n }, {\n id: 'rlinecurve',\n min: 8,\n resetStack: true\n }, {\n id: 'vvcurveto',\n min: 4,\n resetStack: true\n }, {\n id: 'hhcurveto',\n min: 4,\n resetStack: true\n }, null, {\n id: 'callgsubr',\n min: 1,\n undefStack: true\n }, {\n id: 'vhcurveto',\n min: 4,\n resetStack: true\n }, {\n id: 'hvcurveto',\n min: 4,\n resetStack: true\n }];\n var CharstringValidationData12 = [null, null, null, {\n id: 'and',\n min: 2,\n stackDelta: -1\n }, {\n id: 'or',\n min: 2,\n stackDelta: -1\n }, {\n id: 'not',\n min: 1,\n stackDelta: 0\n }, null, null, null, {\n id: 'abs',\n min: 1,\n stackDelta: 0\n }, {\n id: 'add',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] + stack[index - 1];\n }\n }, {\n id: 'sub',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] - stack[index - 1];\n }\n }, {\n id: 'div',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] / stack[index - 1];\n }\n }, null, {\n id: 'neg',\n min: 1,\n stackDelta: 0,\n stackFn: function stack_div(stack, index) {\n stack[index - 1] = -stack[index - 1];\n }\n }, {\n id: 'eq',\n min: 2,\n stackDelta: -1\n }, null, null, {\n id: 'drop',\n min: 1,\n stackDelta: -1\n }, null, {\n id: 'put',\n min: 2,\n stackDelta: -2\n }, {\n id: 'get',\n min: 1,\n stackDelta: 0\n }, {\n id: 'ifelse',\n min: 4,\n stackDelta: -3\n }, {\n id: 'random',\n min: 0,\n stackDelta: 1\n }, {\n id: 'mul',\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] * stack[index - 1];\n }\n }, null, {\n id: 'sqrt',\n min: 1,\n stackDelta: 0\n }, {\n id: 'dup',\n min: 1,\n stackDelta: 1\n }, {\n id: 'exch',\n min: 2,\n stackDelta: 0\n }, {\n id: 'index',\n min: 2,\n stackDelta: 0\n }, {\n id: 'roll',\n min: 3,\n stackDelta: -2\n }, null, null, null, {\n id: 'hflex',\n min: 7,\n resetStack: true\n }, {\n id: 'flex',\n min: 13,\n resetStack: true\n }, {\n id: 'hflex1',\n min: 9,\n resetStack: true\n }, {\n id: 'flex1',\n min: 11,\n resetStack: true\n }];\n\n function CFFParser(file, properties, seacAnalysisEnabled) {\n this.bytes = file.getBytes();\n this.properties = properties;\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n }\n\n CFFParser.prototype = {\n parse: function CFFParser_parse() {\n var properties = this.properties;\n var cff = new CFF();\n this.cff = cff;\n var header = this.parseHeader();\n var nameIndex = this.parseIndex(header.endPos);\n var topDictIndex = this.parseIndex(nameIndex.endPos);\n var stringIndex = this.parseIndex(topDictIndex.endPos);\n var globalSubrIndex = this.parseIndex(stringIndex.endPos);\n var topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n cff.header = header.obj;\n cff.names = this.parseNameIndex(nameIndex.obj);\n cff.strings = this.parseStringIndex(stringIndex.obj);\n cff.topDict = topDict;\n cff.globalSubrIndex = globalSubrIndex.obj;\n this.parsePrivateDict(cff.topDict);\n cff.isCIDFont = topDict.hasName('ROS');\n var charStringOffset = topDict.getByName('CharStrings');\n var charStringIndex = this.parseIndex(charStringOffset).obj;\n var fontMatrix = topDict.getByName('FontMatrix');\n\n if (fontMatrix) {\n properties.fontMatrix = fontMatrix;\n }\n\n var fontBBox = topDict.getByName('FontBBox');\n\n if (fontBBox) {\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n }\n\n var charset, encoding;\n\n if (cff.isCIDFont) {\n var fdArrayIndex = this.parseIndex(topDict.getByName('FDArray')).obj;\n\n for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n var dictRaw = fdArrayIndex.get(i);\n var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);\n this.parsePrivateDict(fontDict);\n cff.fdArray.push(fontDict);\n }\n\n encoding = null;\n charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, true);\n cff.fdSelect = this.parseFDSelect(topDict.getByName('FDSelect'), charStringIndex.count);\n } else {\n charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, false);\n encoding = this.parseEncoding(topDict.getByName('Encoding'), properties, cff.strings, charset.charset);\n }\n\n cff.charset = charset;\n cff.encoding = encoding;\n var charStringsAndSeacs = this.parseCharStrings({\n charStrings: charStringIndex,\n localSubrIndex: topDict.privateDict.subrsIndex,\n globalSubrIndex: globalSubrIndex.obj,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray,\n privateDict: topDict.privateDict\n });\n cff.charStrings = charStringsAndSeacs.charStrings;\n cff.seacs = charStringsAndSeacs.seacs;\n cff.widths = charStringsAndSeacs.widths;\n return cff;\n },\n parseHeader: function CFFParser_parseHeader() {\n var bytes = this.bytes;\n var bytesLength = bytes.length;\n var offset = 0;\n\n while (offset < bytesLength && bytes[offset] !== 1) {\n ++offset;\n }\n\n if (offset >= bytesLength) {\n throw new _util.FormatError('Invalid CFF header');\n }\n\n if (offset !== 0) {\n (0, _util.info)('cff data is shifted');\n bytes = bytes.subarray(offset);\n this.bytes = bytes;\n }\n\n var major = bytes[0];\n var minor = bytes[1];\n var hdrSize = bytes[2];\n var offSize = bytes[3];\n var header = new CFFHeader(major, minor, hdrSize, offSize);\n return {\n obj: header,\n endPos: hdrSize\n };\n },\n parseDict: function CFFParser_parseDict(dict) {\n var pos = 0;\n\n function parseOperand() {\n var value = dict[pos++];\n\n if (value === 30) {\n return parseFloatOperand();\n } else if (value === 28) {\n value = dict[pos++];\n value = (value << 24 | dict[pos++] << 16) >> 16;\n return value;\n } else if (value === 29) {\n value = dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n value = value << 8 | dict[pos++];\n return value;\n } else if (value >= 32 && value <= 246) {\n return value - 139;\n } else if (value >= 247 && value <= 250) {\n return (value - 247) * 256 + dict[pos++] + 108;\n } else if (value >= 251 && value <= 254) {\n return -((value - 251) * 256) - dict[pos++] - 108;\n }\n\n (0, _util.warn)('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n return NaN;\n }\n\n function parseFloatOperand() {\n var str = '';\n var eof = 15;\n var lookup = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'E', 'E-', null, '-'];\n var length = dict.length;\n\n while (pos < length) {\n var b = dict[pos++];\n var b1 = b >> 4;\n var b2 = b & 15;\n\n if (b1 === eof) {\n break;\n }\n\n str += lookup[b1];\n\n if (b2 === eof) {\n break;\n }\n\n str += lookup[b2];\n }\n\n return parseFloat(str);\n }\n\n var operands = [];\n var entries = [];\n pos = 0;\n var end = dict.length;\n\n while (pos < end) {\n var b = dict[pos];\n\n if (b <= 21) {\n if (b === 12) {\n b = b << 8 | dict[++pos];\n }\n\n entries.push([b, operands]);\n operands = [];\n ++pos;\n } else {\n operands.push(parseOperand());\n }\n }\n\n return entries;\n },\n parseIndex: function CFFParser_parseIndex(pos) {\n var cffIndex = new CFFIndex();\n var bytes = this.bytes;\n var count = bytes[pos++] << 8 | bytes[pos++];\n var offsets = [];\n var end = pos;\n var i, ii;\n\n if (count !== 0) {\n var offsetSize = bytes[pos++];\n var startPos = pos + (count + 1) * offsetSize - 1;\n\n for (i = 0, ii = count + 1; i < ii; ++i) {\n var offset = 0;\n\n for (var j = 0; j < offsetSize; ++j) {\n offset <<= 8;\n offset += bytes[pos++];\n }\n\n offsets.push(startPos + offset);\n }\n\n end = offsets[count];\n }\n\n for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n var offsetStart = offsets[i];\n var offsetEnd = offsets[i + 1];\n cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n }\n\n return {\n obj: cffIndex,\n endPos: end\n };\n },\n parseNameIndex: function CFFParser_parseNameIndex(index) {\n var names = [];\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var name = index.get(i);\n names.push((0, _util.bytesToString)(name));\n }\n\n return names;\n },\n parseStringIndex: function CFFParser_parseStringIndex(index) {\n var strings = new CFFStrings();\n\n for (var i = 0, ii = index.count; i < ii; ++i) {\n var data = index.get(i);\n strings.add((0, _util.bytesToString)(data));\n }\n\n return strings;\n },\n createDict: function CFFParser_createDict(Type, dict, strings) {\n var cffDict = new Type(strings);\n\n for (var i = 0, ii = dict.length; i < ii; ++i) {\n var pair = dict[i];\n var key = pair[0];\n var value = pair[1];\n cffDict.setByKey(key, value);\n }\n\n return cffDict;\n },\n parseCharString: function CFFParser_parseCharString(state, data, localSubrIndex, globalSubrIndex) {\n if (!data || state.callDepth > MAX_SUBR_NESTING) {\n return false;\n }\n\n var stackSize = state.stackSize;\n var stack = state.stack;\n var length = data.length;\n\n for (var j = 0; j < length;) {\n var value = data[j++];\n var validationCommand = null;\n\n if (value === 12) {\n var q = data[j++];\n\n if (q === 0) {\n data[j - 2] = 139;\n data[j - 1] = 22;\n stackSize = 0;\n } else {\n validationCommand = CharstringValidationData12[q];\n }\n } else if (value === 28) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;\n j += 2;\n stackSize++;\n } else if (value === 14) {\n if (stackSize >= 4) {\n stackSize -= 4;\n\n if (this.seacAnalysisEnabled) {\n state.seac = stack.slice(stackSize, stackSize + 4);\n return false;\n }\n }\n\n validationCommand = CharstringValidationData[value];\n } else if (value >= 32 && value <= 246) {\n stack[stackSize] = value - 139;\n stackSize++;\n } else if (value >= 247 && value <= 254) {\n stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;\n j++;\n stackSize++;\n } else if (value === 255) {\n stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;\n j += 4;\n stackSize++;\n } else if (value === 19 || value === 20) {\n state.hints += stackSize >> 1;\n j += state.hints + 7 >> 3;\n stackSize %= 2;\n validationCommand = CharstringValidationData[value];\n } else if (value === 10 || value === 29) {\n var subrsIndex;\n\n if (value === 10) {\n subrsIndex = localSubrIndex;\n } else {\n subrsIndex = globalSubrIndex;\n }\n\n if (!subrsIndex) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)('Missing subrsIndex for ' + validationCommand.id);\n return false;\n }\n\n var bias = 32768;\n\n if (subrsIndex.count < 1240) {\n bias = 107;\n } else if (subrsIndex.count < 33900) {\n bias = 1131;\n }\n\n var subrNumber = stack[--stackSize] + bias;\n\n if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {\n validationCommand = CharstringValidationData[value];\n (0, _util.warn)('Out of bounds subrIndex for ' + validationCommand.id);\n return false;\n }\n\n state.stackSize = stackSize;\n state.callDepth++;\n var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);\n\n if (!valid) {\n return false;\n }\n\n state.callDepth--;\n stackSize = state.stackSize;\n continue;\n } else if (value === 11) {\n state.stackSize = stackSize;\n return true;\n } else {\n validationCommand = CharstringValidationData[value];\n }\n\n if (validationCommand) {\n if (validationCommand.stem) {\n state.hints += stackSize >> 1;\n\n if (value === 3 || value === 23) {\n state.hasVStems = true;\n } else if (state.hasVStems && (value === 1 || value === 18)) {\n (0, _util.warn)('CFF stem hints are in wrong order');\n data[j - 1] = value === 1 ? 3 : 23;\n }\n }\n\n if ('min' in validationCommand) {\n if (!state.undefStack && stackSize < validationCommand.min) {\n (0, _util.warn)('Not enough parameters for ' + validationCommand.id + '; actual: ' + stackSize + ', expected: ' + validationCommand.min);\n return false;\n }\n }\n\n if (state.firstStackClearing && validationCommand.stackClearing) {\n state.firstStackClearing = false;\n stackSize -= validationCommand.min;\n\n if (stackSize >= 2 && validationCommand.stem) {\n stackSize %= 2;\n } else if (stackSize > 1) {\n (0, _util.warn)('Found too many parameters for stack-clearing command');\n }\n\n if (stackSize > 0 && stack[stackSize - 1] >= 0) {\n state.width = stack[stackSize - 1];\n }\n }\n\n if ('stackDelta' in validationCommand) {\n if ('stackFn' in validationCommand) {\n validationCommand.stackFn(stack, stackSize);\n }\n\n stackSize += validationCommand.stackDelta;\n } else if (validationCommand.stackClearing) {\n stackSize = 0;\n } else if (validationCommand.resetStack) {\n stackSize = 0;\n state.undefStack = false;\n } else if (validationCommand.undefStack) {\n stackSize = 0;\n state.undefStack = true;\n state.firstStackClearing = false;\n }\n }\n }\n\n state.stackSize = stackSize;\n return true;\n },\n parseCharStrings: function parseCharStrings(_ref) {\n var charStrings = _ref.charStrings,\n localSubrIndex = _ref.localSubrIndex,\n globalSubrIndex = _ref.globalSubrIndex,\n fdSelect = _ref.fdSelect,\n fdArray = _ref.fdArray,\n privateDict = _ref.privateDict;\n var seacs = [];\n var widths = [];\n var count = charStrings.count;\n\n for (var i = 0; i < count; i++) {\n var charstring = charStrings.get(i);\n var state = {\n callDepth: 0,\n stackSize: 0,\n stack: [],\n undefStack: true,\n hints: 0,\n firstStackClearing: true,\n seac: null,\n width: null,\n hasVStems: false\n };\n var valid = true;\n var localSubrToUse = null;\n var privateDictToUse = privateDict;\n\n if (fdSelect && fdArray.length) {\n var fdIndex = fdSelect.getFDIndex(i);\n\n if (fdIndex === -1) {\n (0, _util.warn)('Glyph index is not in fd select.');\n valid = false;\n }\n\n if (fdIndex >= fdArray.length) {\n (0, _util.warn)('Invalid fd index for glyph index.');\n valid = false;\n }\n\n if (valid) {\n privateDictToUse = fdArray[fdIndex].privateDict;\n localSubrToUse = privateDictToUse.subrsIndex;\n }\n } else if (localSubrIndex) {\n localSubrToUse = localSubrIndex;\n }\n\n if (valid) {\n valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);\n }\n\n if (state.width !== null) {\n var nominalWidth = privateDictToUse.getByName('nominalWidthX');\n widths[i] = nominalWidth + state.width;\n } else {\n var defaultWidth = privateDictToUse.getByName('defaultWidthX');\n widths[i] = defaultWidth;\n }\n\n if (state.seac !== null) {\n seacs[i] = state.seac;\n }\n\n if (!valid) {\n charStrings.set(i, new Uint8Array([14]));\n }\n }\n\n return {\n charStrings: charStrings,\n seacs: seacs,\n widths: widths\n };\n },\n emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(parentDict) {\n var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n parentDict.setByKey(18, [0, 0]);\n parentDict.privateDict = privateDict;\n },\n parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) {\n if (!parentDict.hasName('Private')) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateOffset = parentDict.getByName('Private');\n\n if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n parentDict.removeByName('Private');\n return;\n }\n\n var size = privateOffset[0];\n var offset = privateOffset[1];\n\n if (size === 0 || offset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var privateDictEnd = offset + size;\n var dictData = this.bytes.subarray(offset, privateDictEnd);\n var dict = this.parseDict(dictData);\n var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);\n parentDict.privateDict = privateDict;\n\n if (!privateDict.getByName('Subrs')) {\n return;\n }\n\n var subrsOffset = privateDict.getByName('Subrs');\n var relativeOffset = offset + subrsOffset;\n\n if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n this.emptyPrivateDictionary(parentDict);\n return;\n }\n\n var subrsIndex = this.parseIndex(relativeOffset);\n privateDict.subrsIndex = subrsIndex.obj;\n },\n parseCharsets: function CFFParser_parseCharsets(pos, length, strings, cid) {\n if (pos === 0) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);\n } else if (pos === 1) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);\n } else if (pos === 2) {\n return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);\n }\n\n var bytes = this.bytes;\n var start = pos;\n var format = bytes[pos++];\n var charset = ['.notdef'];\n var id, count, i;\n length -= 1;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; i++) {\n id = bytes[pos++] << 8 | bytes[pos++];\n charset.push(cid ? id : strings.get(id));\n }\n\n break;\n\n case 1:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n case 2:\n while (charset.length <= length) {\n id = bytes[pos++] << 8 | bytes[pos++];\n count = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i <= count; i++) {\n charset.push(cid ? id++ : strings.get(id++));\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError('Unknown charset format');\n }\n\n var end = pos;\n var raw = bytes.subarray(start, end);\n return new CFFCharset(false, format, charset, raw);\n },\n parseEncoding: function CFFParser_parseEncoding(pos, properties, strings, charset) {\n var encoding = Object.create(null);\n var bytes = this.bytes;\n var predefined = false;\n var format, i, ii;\n var raw = null;\n\n function readSupplement() {\n var supplementsCount = bytes[pos++];\n\n for (i = 0; i < supplementsCount; i++) {\n var code = bytes[pos++];\n var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n encoding[code] = charset.indexOf(strings.get(sid));\n }\n }\n\n if (pos === 0 || pos === 1) {\n predefined = true;\n format = pos;\n var baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;\n\n for (i = 0, ii = charset.length; i < ii; i++) {\n var index = baseEncoding.indexOf(charset[i]);\n\n if (index !== -1) {\n encoding[index] = i;\n }\n }\n } else {\n var dataStart = pos;\n format = bytes[pos++];\n\n switch (format & 0x7f) {\n case 0:\n var glyphsCount = bytes[pos++];\n\n for (i = 1; i <= glyphsCount; i++) {\n encoding[bytes[pos++]] = i;\n }\n\n break;\n\n case 1:\n var rangesCount = bytes[pos++];\n var gid = 1;\n\n for (i = 0; i < rangesCount; i++) {\n var start = bytes[pos++];\n var left = bytes[pos++];\n\n for (var j = start; j <= start + left; j++) {\n encoding[j] = gid++;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown encoding format: \".concat(format, \" in CFF\"));\n }\n\n var dataEnd = pos;\n\n if (format & 0x80) {\n bytes[dataStart] &= 0x7f;\n readSupplement();\n }\n\n raw = bytes.subarray(dataStart, dataEnd);\n }\n\n format = format & 0x7f;\n return new CFFEncoding(predefined, format, encoding, raw);\n },\n parseFDSelect: function CFFParser_parseFDSelect(pos, length) {\n var bytes = this.bytes;\n var format = bytes[pos++];\n var fdSelect = [];\n var i;\n\n switch (format) {\n case 0:\n for (i = 0; i < length; ++i) {\n var id = bytes[pos++];\n fdSelect.push(id);\n }\n\n break;\n\n case 3:\n var rangesCount = bytes[pos++] << 8 | bytes[pos++];\n\n for (i = 0; i < rangesCount; ++i) {\n var first = bytes[pos++] << 8 | bytes[pos++];\n\n if (i === 0 && first !== 0) {\n (0, _util.warn)('parseFDSelect: The first range must have a first GID of 0' + ' -- trying to recover.');\n first = 0;\n }\n\n var fdIndex = bytes[pos++];\n var next = bytes[pos] << 8 | bytes[pos + 1];\n\n for (var j = first; j < next; ++j) {\n fdSelect.push(fdIndex);\n }\n }\n\n pos += 2;\n break;\n\n default:\n throw new _util.FormatError(\"parseFDSelect: Unknown format \\\"\".concat(format, \"\\\".\"));\n }\n\n if (fdSelect.length !== length) {\n throw new _util.FormatError('parseFDSelect: Invalid font data.');\n }\n\n return new CFFFDSelect(format, fdSelect);\n }\n };\n return CFFParser;\n}();\n\nexports.CFFParser = CFFParser;\n\nvar CFF = function CFFClosure() {\n function CFF() {\n this.header = null;\n this.names = [];\n this.topDict = null;\n this.strings = new CFFStrings();\n this.globalSubrIndex = null;\n this.encoding = null;\n this.charset = null;\n this.charStrings = null;\n this.fdArray = [];\n this.fdSelect = null;\n this.isCIDFont = false;\n }\n\n CFF.prototype = {\n duplicateFirstGlyph: function CFF_duplicateFirstGlyph() {\n if (this.charStrings.count >= 65535) {\n (0, _util.warn)('Not enough space in charstrings to duplicate first glyph.');\n return;\n }\n\n var glyphZero = this.charStrings.get(0);\n this.charStrings.add(glyphZero);\n\n if (this.isCIDFont) {\n this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);\n }\n },\n hasGlyphId: function CFF_hasGlyphID(id) {\n if (id < 0 || id >= this.charStrings.count) {\n return false;\n }\n\n var glyph = this.charStrings.get(id);\n return glyph.length > 0;\n }\n };\n return CFF;\n}();\n\nexports.CFF = CFF;\n\nvar CFFHeader = function CFFHeaderClosure() {\n function CFFHeader(major, minor, hdrSize, offSize) {\n this.major = major;\n this.minor = minor;\n this.hdrSize = hdrSize;\n this.offSize = offSize;\n }\n\n return CFFHeader;\n}();\n\nexports.CFFHeader = CFFHeader;\n\nvar CFFStrings = function CFFStringsClosure() {\n function CFFStrings() {\n this.strings = [];\n }\n\n CFFStrings.prototype = {\n get: function CFFStrings_get(index) {\n if (index >= 0 && index <= 390) {\n return CFFStandardStrings[index];\n }\n\n if (index - 391 <= this.strings.length) {\n return this.strings[index - 391];\n }\n\n return CFFStandardStrings[0];\n },\n add: function CFFStrings_add(value) {\n this.strings.push(value);\n },\n\n get count() {\n return this.strings.length;\n }\n\n };\n return CFFStrings;\n}();\n\nexports.CFFStrings = CFFStrings;\n\nvar CFFIndex = function CFFIndexClosure() {\n function CFFIndex() {\n this.objects = [];\n this.length = 0;\n }\n\n CFFIndex.prototype = {\n add: function CFFIndex_add(data) {\n this.length += data.length;\n this.objects.push(data);\n },\n set: function CFFIndex_set(index, data) {\n this.length += data.length - this.objects[index].length;\n this.objects[index] = data;\n },\n get: function CFFIndex_get(index) {\n return this.objects[index];\n },\n\n get count() {\n return this.objects.length;\n }\n\n };\n return CFFIndex;\n}();\n\nexports.CFFIndex = CFFIndex;\n\nvar CFFDict = function CFFDictClosure() {\n function CFFDict(tables, strings) {\n this.keyToNameMap = tables.keyToNameMap;\n this.nameToKeyMap = tables.nameToKeyMap;\n this.defaults = tables.defaults;\n this.types = tables.types;\n this.opcodes = tables.opcodes;\n this.order = tables.order;\n this.strings = strings;\n this.values = Object.create(null);\n }\n\n CFFDict.prototype = {\n setByKey: function CFFDict_setByKey(key, value) {\n if (!(key in this.keyToNameMap)) {\n return false;\n }\n\n var valueLength = value.length;\n\n if (valueLength === 0) {\n return true;\n }\n\n for (var i = 0; i < valueLength; i++) {\n if (isNaN(value[i])) {\n (0, _util.warn)('Invalid CFFDict value: \"' + value + '\" for key \"' + key + '\".');\n return true;\n }\n }\n\n var type = this.types[key];\n\n if (type === 'num' || type === 'sid' || type === 'offset') {\n value = value[0];\n }\n\n this.values[key] = value;\n return true;\n },\n setByName: function CFFDict_setByName(name, value) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(\"Invalid dictionary name \\\"\".concat(name, \"\\\"\"));\n }\n\n this.values[this.nameToKeyMap[name]] = value;\n },\n hasName: function CFFDict_hasName(name) {\n return this.nameToKeyMap[name] in this.values;\n },\n getByName: function CFFDict_getByName(name) {\n if (!(name in this.nameToKeyMap)) {\n throw new _util.FormatError(\"Invalid dictionary name \".concat(name, \"\\\"\"));\n }\n\n var key = this.nameToKeyMap[name];\n\n if (!(key in this.values)) {\n return this.defaults[key];\n }\n\n return this.values[key];\n },\n removeByName: function CFFDict_removeByName(name) {\n delete this.values[this.nameToKeyMap[name]];\n }\n };\n\n CFFDict.createTables = function CFFDict_createTables(layout) {\n var tables = {\n keyToNameMap: {},\n nameToKeyMap: {},\n defaults: {},\n types: {},\n opcodes: {},\n order: []\n };\n\n for (var i = 0, ii = layout.length; i < ii; ++i) {\n var entry = layout[i];\n var key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];\n tables.keyToNameMap[key] = entry[1];\n tables.nameToKeyMap[entry[1]] = key;\n tables.types[key] = entry[2];\n tables.defaults[key] = entry[3];\n tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n tables.order.push(key);\n }\n\n return tables;\n };\n\n return CFFDict;\n}();\n\nvar CFFTopDict = function CFFTopDictClosure() {\n var layout = [[[12, 30], 'ROS', ['sid', 'sid', 'num'], null], [[12, 20], 'SyntheticBase', 'num', null], [0, 'version', 'sid', null], [1, 'Notice', 'sid', null], [[12, 0], 'Copyright', 'sid', null], [2, 'FullName', 'sid', null], [3, 'FamilyName', 'sid', null], [4, 'Weight', 'sid', null], [[12, 1], 'isFixedPitch', 'num', 0], [[12, 2], 'ItalicAngle', 'num', 0], [[12, 3], 'UnderlinePosition', 'num', -100], [[12, 4], 'UnderlineThickness', 'num', 50], [[12, 5], 'PaintType', 'num', 0], [[12, 6], 'CharstringType', 'num', 2], [[12, 7], 'FontMatrix', ['num', 'num', 'num', 'num', 'num', 'num'], [0.001, 0, 0, 0.001, 0, 0]], [13, 'UniqueID', 'num', null], [5, 'FontBBox', ['num', 'num', 'num', 'num'], [0, 0, 0, 0]], [[12, 8], 'StrokeWidth', 'num', 0], [14, 'XUID', 'array', null], [15, 'charset', 'offset', 0], [16, 'Encoding', 'offset', 0], [17, 'CharStrings', 'offset', 0], [18, 'Private', ['offset', 'offset'], null], [[12, 21], 'PostScript', 'sid', null], [[12, 22], 'BaseFontName', 'sid', null], [[12, 23], 'BaseFontBlend', 'delta', null], [[12, 31], 'CIDFontVersion', 'num', 0], [[12, 32], 'CIDFontRevision', 'num', 0], [[12, 33], 'CIDFontType', 'num', 0], [[12, 34], 'CIDCount', 'num', 8720], [[12, 35], 'UIDBase', 'num', null], [[12, 37], 'FDSelect', 'offset', null], [[12, 36], 'FDArray', 'offset', null], [[12, 38], 'FontName', 'sid', null]];\n var tables = null;\n\n function CFFTopDict(strings) {\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n CFFDict.call(this, tables, strings);\n this.privateDict = null;\n }\n\n CFFTopDict.prototype = Object.create(CFFDict.prototype);\n return CFFTopDict;\n}();\n\nexports.CFFTopDict = CFFTopDict;\n\nvar CFFPrivateDict = function CFFPrivateDictClosure() {\n var layout = [[6, 'BlueValues', 'delta', null], [7, 'OtherBlues', 'delta', null], [8, 'FamilyBlues', 'delta', null], [9, 'FamilyOtherBlues', 'delta', null], [[12, 9], 'BlueScale', 'num', 0.039625], [[12, 10], 'BlueShift', 'num', 7], [[12, 11], 'BlueFuzz', 'num', 1], [10, 'StdHW', 'num', null], [11, 'StdVW', 'num', null], [[12, 12], 'StemSnapH', 'delta', null], [[12, 13], 'StemSnapV', 'delta', null], [[12, 14], 'ForceBold', 'num', 0], [[12, 17], 'LanguageGroup', 'num', 0], [[12, 18], 'ExpansionFactor', 'num', 0.06], [[12, 19], 'initialRandomSeed', 'num', 0], [20, 'defaultWidthX', 'num', 0], [21, 'nominalWidthX', 'num', 0], [19, 'Subrs', 'offset', null]];\n var tables = null;\n\n function CFFPrivateDict(strings) {\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n CFFDict.call(this, tables, strings);\n this.subrsIndex = null;\n }\n\n CFFPrivateDict.prototype = Object.create(CFFDict.prototype);\n return CFFPrivateDict;\n}();\n\nexports.CFFPrivateDict = CFFPrivateDict;\nvar CFFCharsetPredefinedTypes = {\n ISO_ADOBE: 0,\n EXPERT: 1,\n EXPERT_SUBSET: 2\n};\n\nvar CFFCharset = function CFFCharsetClosure() {\n function CFFCharset(predefined, format, charset, raw) {\n this.predefined = predefined;\n this.format = format;\n this.charset = charset;\n this.raw = raw;\n }\n\n return CFFCharset;\n}();\n\nexports.CFFCharset = CFFCharset;\n\nvar CFFEncoding = function CFFEncodingClosure() {\n function CFFEncoding(predefined, format, encoding, raw) {\n this.predefined = predefined;\n this.format = format;\n this.encoding = encoding;\n this.raw = raw;\n }\n\n return CFFEncoding;\n}();\n\nvar CFFFDSelect = function CFFFDSelectClosure() {\n function CFFFDSelect(format, fdSelect) {\n this.format = format;\n this.fdSelect = fdSelect;\n }\n\n CFFFDSelect.prototype = {\n getFDIndex: function CFFFDSelect_get(glyphIndex) {\n if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n return -1;\n }\n\n return this.fdSelect[glyphIndex];\n }\n };\n return CFFFDSelect;\n}();\n\nexports.CFFFDSelect = CFFFDSelect;\n\nvar CFFOffsetTracker = function CFFOffsetTrackerClosure() {\n function CFFOffsetTracker() {\n this.offsets = Object.create(null);\n }\n\n CFFOffsetTracker.prototype = {\n isTracking: function CFFOffsetTracker_isTracking(key) {\n return key in this.offsets;\n },\n track: function CFFOffsetTracker_track(key, location) {\n if (key in this.offsets) {\n throw new _util.FormatError(\"Already tracking location of \".concat(key));\n }\n\n this.offsets[key] = location;\n },\n offset: function CFFOffsetTracker_offset(value) {\n for (var key in this.offsets) {\n this.offsets[key] += value;\n }\n },\n setEntryLocation: function CFFOffsetTracker_setEntryLocation(key, values, output) {\n if (!(key in this.offsets)) {\n throw new _util.FormatError(\"Not tracking location of \".concat(key));\n }\n\n var data = output.data;\n var dataOffset = this.offsets[key];\n var size = 5;\n\n for (var i = 0, ii = values.length; i < ii; ++i) {\n var offset0 = i * size + dataOffset;\n var offset1 = offset0 + 1;\n var offset2 = offset0 + 2;\n var offset3 = offset0 + 3;\n var offset4 = offset0 + 4;\n\n if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {\n throw new _util.FormatError('writing to an offset that is not empty');\n }\n\n var value = values[i];\n data[offset0] = 0x1d;\n data[offset1] = value >> 24 & 0xFF;\n data[offset2] = value >> 16 & 0xFF;\n data[offset3] = value >> 8 & 0xFF;\n data[offset4] = value & 0xFF;\n }\n }\n };\n return CFFOffsetTracker;\n}();\n\nvar CFFCompiler = function CFFCompilerClosure() {\n function CFFCompiler(cff) {\n this.cff = cff;\n }\n\n CFFCompiler.prototype = {\n compile: function CFFCompiler_compile() {\n var cff = this.cff;\n var output = {\n data: [],\n length: 0,\n add: function CFFCompiler_add(data) {\n this.data = this.data.concat(data);\n this.length = this.data.length;\n }\n };\n var header = this.compileHeader(cff.header);\n output.add(header);\n var nameIndex = this.compileNameIndex(cff.names);\n output.add(nameIndex);\n\n if (cff.isCIDFont) {\n if (cff.topDict.hasName('FontMatrix')) {\n var base = cff.topDict.getByName('FontMatrix');\n cff.topDict.removeByName('FontMatrix');\n\n for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {\n var subDict = cff.fdArray[i];\n var matrix = base.slice(0);\n\n if (subDict.hasName('FontMatrix')) {\n matrix = _util.Util.transform(matrix, subDict.getByName('FontMatrix'));\n }\n\n subDict.setByName('FontMatrix', matrix);\n }\n }\n }\n\n cff.topDict.setByName('charset', 0);\n var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);\n output.add(compiled.output);\n var topDictTracker = compiled.trackers[0];\n var stringIndex = this.compileStringIndex(cff.strings.strings);\n output.add(stringIndex);\n var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n output.add(globalSubrIndex);\n\n if (cff.encoding && cff.topDict.hasName('Encoding')) {\n if (cff.encoding.predefined) {\n topDictTracker.setEntryLocation('Encoding', [cff.encoding.format], output);\n } else {\n var encoding = this.compileEncoding(cff.encoding);\n topDictTracker.setEntryLocation('Encoding', [output.length], output);\n output.add(encoding);\n }\n }\n\n var charset = this.compileCharset(cff.charset);\n topDictTracker.setEntryLocation('charset', [output.length], output);\n output.add(charset);\n var charStrings = this.compileCharStrings(cff.charStrings);\n topDictTracker.setEntryLocation('CharStrings', [output.length], output);\n output.add(charStrings);\n\n if (cff.isCIDFont) {\n topDictTracker.setEntryLocation('FDSelect', [output.length], output);\n var fdSelect = this.compileFDSelect(cff.fdSelect);\n output.add(fdSelect);\n compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n topDictTracker.setEntryLocation('FDArray', [output.length], output);\n output.add(compiled.output);\n var fontDictTrackers = compiled.trackers;\n this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n }\n\n this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n output.add([0]);\n return output.data;\n },\n encodeNumber: function CFFCompiler_encodeNumber(value) {\n if (parseFloat(value) === parseInt(value, 10) && !isNaN(value)) {\n return this.encodeInteger(value);\n }\n\n return this.encodeFloat(value);\n },\n encodeFloat: function CFFCompiler_encodeFloat(num) {\n var value = num.toString();\n var m = /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/.exec(value);\n\n if (m) {\n var epsilon = parseFloat('1e' + ((m[2] ? +m[2] : 0) + m[1].length));\n value = (Math.round(num * epsilon) / epsilon).toString();\n }\n\n var nibbles = '';\n var i, ii;\n\n for (i = 0, ii = value.length; i < ii; ++i) {\n var a = value[i];\n\n if (a === 'e') {\n nibbles += value[++i] === '-' ? 'c' : 'b';\n } else if (a === '.') {\n nibbles += 'a';\n } else if (a === '-') {\n nibbles += 'e';\n } else {\n nibbles += a;\n }\n }\n\n nibbles += nibbles.length & 1 ? 'f' : 'ff';\n var out = [30];\n\n for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n out.push(parseInt(nibbles.substring(i, i + 2), 16));\n }\n\n return out;\n },\n encodeInteger: function CFFCompiler_encodeInteger(value) {\n var code;\n\n if (value >= -107 && value <= 107) {\n code = [value + 139];\n } else if (value >= 108 && value <= 1131) {\n value = value - 108;\n code = [(value >> 8) + 247, value & 0xFF];\n } else if (value >= -1131 && value <= -108) {\n value = -value - 108;\n code = [(value >> 8) + 251, value & 0xFF];\n } else if (value >= -32768 && value <= 32767) {\n code = [0x1c, value >> 8 & 0xFF, value & 0xFF];\n } else {\n code = [0x1d, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF];\n }\n\n return code;\n },\n compileHeader: function CFFCompiler_compileHeader(header) {\n return [header.major, header.minor, header.hdrSize, header.offSize];\n },\n compileNameIndex: function CFFCompiler_compileNameIndex(names) {\n var nameIndex = new CFFIndex();\n\n for (var i = 0, ii = names.length; i < ii; ++i) {\n var name = names[i];\n var length = Math.min(name.length, 127);\n var sanitizedName = new Array(length);\n\n for (var j = 0; j < length; j++) {\n var char = name[j];\n\n if (char < '!' || char > '~' || char === '[' || char === ']' || char === '(' || char === ')' || char === '{' || char === '}' || char === '<' || char === '>' || char === '/' || char === '%') {\n char = '_';\n }\n\n sanitizedName[j] = char;\n }\n\n sanitizedName = sanitizedName.join('');\n\n if (sanitizedName === '') {\n sanitizedName = 'Bad_Font_Name';\n }\n\n nameIndex.add((0, _util.stringToBytes)(sanitizedName));\n }\n\n return this.compileIndex(nameIndex);\n },\n compileTopDicts: function CFFCompiler_compileTopDicts(dicts, length, removeCidKeys) {\n var fontDictTrackers = [];\n var fdArrayIndex = new CFFIndex();\n\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n\n if (removeCidKeys) {\n fontDict.removeByName('CIDFontVersion');\n fontDict.removeByName('CIDFontRevision');\n fontDict.removeByName('CIDFontType');\n fontDict.removeByName('CIDCount');\n fontDict.removeByName('UIDBase');\n }\n\n var fontDictTracker = new CFFOffsetTracker();\n var fontDictData = this.compileDict(fontDict, fontDictTracker);\n fontDictTrackers.push(fontDictTracker);\n fdArrayIndex.add(fontDictData);\n fontDictTracker.offset(length);\n }\n\n fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n return {\n trackers: fontDictTrackers,\n output: fdArrayIndex\n };\n },\n compilePrivateDicts: function CFFCompiler_compilePrivateDicts(dicts, trackers, output) {\n for (var i = 0, ii = dicts.length; i < ii; ++i) {\n var fontDict = dicts[i];\n var privateDict = fontDict.privateDict;\n\n if (!privateDict || !fontDict.hasName('Private')) {\n throw new _util.FormatError('There must be a private dictionary.');\n }\n\n var privateDictTracker = new CFFOffsetTracker();\n var privateDictData = this.compileDict(privateDict, privateDictTracker);\n var outputLength = output.length;\n privateDictTracker.offset(outputLength);\n\n if (!privateDictData.length) {\n outputLength = 0;\n }\n\n trackers[i].setEntryLocation('Private', [privateDictData.length, outputLength], output);\n output.add(privateDictData);\n\n if (privateDict.subrsIndex && privateDict.hasName('Subrs')) {\n var subrs = this.compileIndex(privateDict.subrsIndex);\n privateDictTracker.setEntryLocation('Subrs', [privateDictData.length], output);\n output.add(subrs);\n }\n }\n },\n compileDict: function CFFCompiler_compileDict(dict, offsetTracker) {\n var out = [];\n var order = dict.order;\n\n for (var i = 0; i < order.length; ++i) {\n var key = order[i];\n\n if (!(key in dict.values)) {\n continue;\n }\n\n var values = dict.values[key];\n var types = dict.types[key];\n\n if (!Array.isArray(types)) {\n types = [types];\n }\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n if (values.length === 0) {\n continue;\n }\n\n for (var j = 0, jj = types.length; j < jj; ++j) {\n var type = types[j];\n var value = values[j];\n\n switch (type) {\n case 'num':\n case 'sid':\n out = out.concat(this.encodeNumber(value));\n break;\n\n case 'offset':\n var name = dict.keyToNameMap[key];\n\n if (!offsetTracker.isTracking(name)) {\n offsetTracker.track(name, out.length);\n }\n\n out = out.concat([0x1d, 0, 0, 0, 0]);\n break;\n\n case 'array':\n case 'delta':\n out = out.concat(this.encodeNumber(value));\n\n for (var k = 1, kk = values.length; k < kk; ++k) {\n out = out.concat(this.encodeNumber(values[k]));\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown data type of \".concat(type));\n }\n }\n\n out = out.concat(dict.opcodes[key]);\n }\n\n return out;\n },\n compileStringIndex: function CFFCompiler_compileStringIndex(strings) {\n var stringIndex = new CFFIndex();\n\n for (var i = 0, ii = strings.length; i < ii; ++i) {\n stringIndex.add((0, _util.stringToBytes)(strings[i]));\n }\n\n return this.compileIndex(stringIndex);\n },\n compileGlobalSubrIndex: function CFFCompiler_compileGlobalSubrIndex() {\n var globalSubrIndex = this.cff.globalSubrIndex;\n this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n },\n compileCharStrings: function CFFCompiler_compileCharStrings(charStrings) {\n var charStringsIndex = new CFFIndex();\n\n for (var i = 0; i < charStrings.count; i++) {\n var glyph = charStrings.get(i);\n\n if (glyph.length === 0) {\n charStringsIndex.add(new Uint8Array([0x8B, 0x0E]));\n continue;\n }\n\n charStringsIndex.add(glyph);\n }\n\n return this.compileIndex(charStringsIndex);\n },\n compileCharset: function CFFCompiler_compileCharset(charset) {\n var length = 1 + (this.cff.charStrings.count - 1) * 2;\n var out = new Uint8Array(length);\n return this.compileTypedArray(out);\n },\n compileEncoding: function CFFCompiler_compileEncoding(encoding) {\n return this.compileTypedArray(encoding.raw);\n },\n compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) {\n var format = fdSelect.format;\n var out, i;\n\n switch (format) {\n case 0:\n out = new Uint8Array(1 + fdSelect.fdSelect.length);\n out[0] = format;\n\n for (i = 0; i < fdSelect.fdSelect.length; i++) {\n out[i + 1] = fdSelect.fdSelect[i];\n }\n\n break;\n\n case 3:\n var start = 0;\n var lastFD = fdSelect.fdSelect[0];\n var ranges = [format, 0, 0, start >> 8 & 0xFF, start & 0xFF, lastFD];\n\n for (i = 1; i < fdSelect.fdSelect.length; i++) {\n var currentFD = fdSelect.fdSelect[i];\n\n if (currentFD !== lastFD) {\n ranges.push(i >> 8 & 0xFF, i & 0xFF, currentFD);\n lastFD = currentFD;\n }\n }\n\n var numRanges = (ranges.length - 3) / 3;\n ranges[1] = numRanges >> 8 & 0xFF;\n ranges[2] = numRanges & 0xFF;\n ranges.push(i >> 8 & 0xFF, i & 0xFF);\n out = new Uint8Array(ranges);\n break;\n }\n\n return this.compileTypedArray(out);\n },\n compileTypedArray: function CFFCompiler_compileTypedArray(data) {\n var out = [];\n\n for (var i = 0, ii = data.length; i < ii; ++i) {\n out[i] = data[i];\n }\n\n return out;\n },\n compileIndex: function CFFCompiler_compileIndex(index, trackers) {\n trackers = trackers || [];\n var objects = index.objects;\n var count = objects.length;\n\n if (count === 0) {\n return [0, 0, 0];\n }\n\n var data = [count >> 8 & 0xFF, count & 0xff];\n var lastOffset = 1,\n i;\n\n for (i = 0; i < count; ++i) {\n lastOffset += objects[i].length;\n }\n\n var offsetSize;\n\n if (lastOffset < 0x100) {\n offsetSize = 1;\n } else if (lastOffset < 0x10000) {\n offsetSize = 2;\n } else if (lastOffset < 0x1000000) {\n offsetSize = 3;\n } else {\n offsetSize = 4;\n }\n\n data.push(offsetSize);\n var relativeOffset = 1;\n\n for (i = 0; i < count + 1; i++) {\n if (offsetSize === 1) {\n data.push(relativeOffset & 0xFF);\n } else if (offsetSize === 2) {\n data.push(relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n } else if (offsetSize === 3) {\n data.push(relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n } else {\n data.push(relativeOffset >>> 24 & 0xFF, relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF);\n }\n\n if (objects[i]) {\n relativeOffset += objects[i].length;\n }\n }\n\n for (i = 0; i < count; i++) {\n if (trackers[i]) {\n trackers[i].offset(data.length);\n }\n\n for (var j = 0, jj = objects[i].length; j < jj; j++) {\n data.push(objects[i][j]);\n }\n }\n\n return data;\n }\n };\n return CFFCompiler;\n}();\n\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;\nvar 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'];\nexports.ISOAdobeCharset = ISOAdobeCharset;\nvar 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'];\nexports.ExpertCharset = ExpertCharset;\nvar 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'];\nexports.ExpertSubsetCharset = ExpertSubsetCharset;\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getEncoding = getEncoding;\nexports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding = exports.StandardEncoding = exports.WinAnsiEncoding = void 0;\nvar ExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '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'];\nexports.ExpertEncoding = ExpertEncoding;\nvar MacExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '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', '', '', '', ''];\nvar MacRomanEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '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'];\nexports.MacRomanEncoding = MacRomanEncoding;\nvar StandardEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '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', '', '', '', ''];\nexports.StandardEncoding = StandardEncoding;\nvar WinAnsiEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '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'];\nexports.WinAnsiEncoding = WinAnsiEncoding;\nvar SymbolSetEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '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', ''];\nexports.SymbolSetEncoding = SymbolSetEncoding;\nvar ZapfDingbatsEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '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', ''];\nexports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\n\nfunction getEncoding(encodingName) {\n switch (encodingName) {\n case 'WinAnsiEncoding':\n return WinAnsiEncoding;\n\n case 'StandardEncoding':\n return StandardEncoding;\n\n case 'MacRomanEncoding':\n return MacRomanEncoding;\n\n case 'SymbolSetEncoding':\n return SymbolSetEncoding;\n\n case 'ZapfDingbatsEncoding':\n return ZapfDingbatsEncoding;\n\n case 'ExpertEncoding':\n return ExpertEncoding;\n\n case 'MacExpertEncoding':\n return MacExpertEncoding;\n\n default:\n return null;\n }\n}\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(6).getLookupTableFactory;\nvar getGlyphsUnicode = getLookupTableFactory(function (t) {\n t['A'] = 0x0041;\n t['AE'] = 0x00C6;\n t['AEacute'] = 0x01FC;\n t['AEmacron'] = 0x01E2;\n t['AEsmall'] = 0xF7E6;\n t['Aacute'] = 0x00C1;\n t['Aacutesmall'] = 0xF7E1;\n t['Abreve'] = 0x0102;\n t['Abreveacute'] = 0x1EAE;\n t['Abrevecyrillic'] = 0x04D0;\n t['Abrevedotbelow'] = 0x1EB6;\n t['Abrevegrave'] = 0x1EB0;\n t['Abrevehookabove'] = 0x1EB2;\n t['Abrevetilde'] = 0x1EB4;\n t['Acaron'] = 0x01CD;\n t['Acircle'] = 0x24B6;\n t['Acircumflex'] = 0x00C2;\n t['Acircumflexacute'] = 0x1EA4;\n t['Acircumflexdotbelow'] = 0x1EAC;\n t['Acircumflexgrave'] = 0x1EA6;\n t['Acircumflexhookabove'] = 0x1EA8;\n t['Acircumflexsmall'] = 0xF7E2;\n t['Acircumflextilde'] = 0x1EAA;\n t['Acute'] = 0xF6C9;\n t['Acutesmall'] = 0xF7B4;\n t['Acyrillic'] = 0x0410;\n t['Adblgrave'] = 0x0200;\n t['Adieresis'] = 0x00C4;\n t['Adieresiscyrillic'] = 0x04D2;\n t['Adieresismacron'] = 0x01DE;\n t['Adieresissmall'] = 0xF7E4;\n t['Adotbelow'] = 0x1EA0;\n t['Adotmacron'] = 0x01E0;\n t['Agrave'] = 0x00C0;\n t['Agravesmall'] = 0xF7E0;\n t['Ahookabove'] = 0x1EA2;\n t['Aiecyrillic'] = 0x04D4;\n t['Ainvertedbreve'] = 0x0202;\n t['Alpha'] = 0x0391;\n t['Alphatonos'] = 0x0386;\n t['Amacron'] = 0x0100;\n t['Amonospace'] = 0xFF21;\n t['Aogonek'] = 0x0104;\n t['Aring'] = 0x00C5;\n t['Aringacute'] = 0x01FA;\n t['Aringbelow'] = 0x1E00;\n t['Aringsmall'] = 0xF7E5;\n t['Asmall'] = 0xF761;\n t['Atilde'] = 0x00C3;\n t['Atildesmall'] = 0xF7E3;\n t['Aybarmenian'] = 0x0531;\n t['B'] = 0x0042;\n t['Bcircle'] = 0x24B7;\n t['Bdotaccent'] = 0x1E02;\n t['Bdotbelow'] = 0x1E04;\n t['Becyrillic'] = 0x0411;\n t['Benarmenian'] = 0x0532;\n t['Beta'] = 0x0392;\n t['Bhook'] = 0x0181;\n t['Blinebelow'] = 0x1E06;\n t['Bmonospace'] = 0xFF22;\n t['Brevesmall'] = 0xF6F4;\n t['Bsmall'] = 0xF762;\n t['Btopbar'] = 0x0182;\n t['C'] = 0x0043;\n t['Caarmenian'] = 0x053E;\n t['Cacute'] = 0x0106;\n t['Caron'] = 0xF6CA;\n t['Caronsmall'] = 0xF6F5;\n t['Ccaron'] = 0x010C;\n t['Ccedilla'] = 0x00C7;\n t['Ccedillaacute'] = 0x1E08;\n t['Ccedillasmall'] = 0xF7E7;\n t['Ccircle'] = 0x24B8;\n t['Ccircumflex'] = 0x0108;\n t['Cdot'] = 0x010A;\n t['Cdotaccent'] = 0x010A;\n t['Cedillasmall'] = 0xF7B8;\n t['Chaarmenian'] = 0x0549;\n t['Cheabkhasiancyrillic'] = 0x04BC;\n t['Checyrillic'] = 0x0427;\n t['Chedescenderabkhasiancyrillic'] = 0x04BE;\n t['Chedescendercyrillic'] = 0x04B6;\n t['Chedieresiscyrillic'] = 0x04F4;\n t['Cheharmenian'] = 0x0543;\n t['Chekhakassiancyrillic'] = 0x04CB;\n t['Cheverticalstrokecyrillic'] = 0x04B8;\n t['Chi'] = 0x03A7;\n t['Chook'] = 0x0187;\n t['Circumflexsmall'] = 0xF6F6;\n t['Cmonospace'] = 0xFF23;\n t['Coarmenian'] = 0x0551;\n t['Csmall'] = 0xF763;\n t['D'] = 0x0044;\n t['DZ'] = 0x01F1;\n t['DZcaron'] = 0x01C4;\n t['Daarmenian'] = 0x0534;\n t['Dafrican'] = 0x0189;\n t['Dcaron'] = 0x010E;\n t['Dcedilla'] = 0x1E10;\n t['Dcircle'] = 0x24B9;\n t['Dcircumflexbelow'] = 0x1E12;\n t['Dcroat'] = 0x0110;\n t['Ddotaccent'] = 0x1E0A;\n t['Ddotbelow'] = 0x1E0C;\n t['Decyrillic'] = 0x0414;\n t['Deicoptic'] = 0x03EE;\n t['Delta'] = 0x2206;\n t['Deltagreek'] = 0x0394;\n t['Dhook'] = 0x018A;\n t['Dieresis'] = 0xF6CB;\n t['DieresisAcute'] = 0xF6CC;\n t['DieresisGrave'] = 0xF6CD;\n t['Dieresissmall'] = 0xF7A8;\n t['Digammagreek'] = 0x03DC;\n t['Djecyrillic'] = 0x0402;\n t['Dlinebelow'] = 0x1E0E;\n t['Dmonospace'] = 0xFF24;\n t['Dotaccentsmall'] = 0xF6F7;\n t['Dslash'] = 0x0110;\n t['Dsmall'] = 0xF764;\n t['Dtopbar'] = 0x018B;\n t['Dz'] = 0x01F2;\n t['Dzcaron'] = 0x01C5;\n t['Dzeabkhasiancyrillic'] = 0x04E0;\n t['Dzecyrillic'] = 0x0405;\n t['Dzhecyrillic'] = 0x040F;\n t['E'] = 0x0045;\n t['Eacute'] = 0x00C9;\n t['Eacutesmall'] = 0xF7E9;\n t['Ebreve'] = 0x0114;\n t['Ecaron'] = 0x011A;\n t['Ecedillabreve'] = 0x1E1C;\n t['Echarmenian'] = 0x0535;\n t['Ecircle'] = 0x24BA;\n t['Ecircumflex'] = 0x00CA;\n t['Ecircumflexacute'] = 0x1EBE;\n t['Ecircumflexbelow'] = 0x1E18;\n t['Ecircumflexdotbelow'] = 0x1EC6;\n t['Ecircumflexgrave'] = 0x1EC0;\n t['Ecircumflexhookabove'] = 0x1EC2;\n t['Ecircumflexsmall'] = 0xF7EA;\n t['Ecircumflextilde'] = 0x1EC4;\n t['Ecyrillic'] = 0x0404;\n t['Edblgrave'] = 0x0204;\n t['Edieresis'] = 0x00CB;\n t['Edieresissmall'] = 0xF7EB;\n t['Edot'] = 0x0116;\n t['Edotaccent'] = 0x0116;\n t['Edotbelow'] = 0x1EB8;\n t['Efcyrillic'] = 0x0424;\n t['Egrave'] = 0x00C8;\n t['Egravesmall'] = 0xF7E8;\n t['Eharmenian'] = 0x0537;\n t['Ehookabove'] = 0x1EBA;\n t['Eightroman'] = 0x2167;\n t['Einvertedbreve'] = 0x0206;\n t['Eiotifiedcyrillic'] = 0x0464;\n t['Elcyrillic'] = 0x041B;\n t['Elevenroman'] = 0x216A;\n t['Emacron'] = 0x0112;\n t['Emacronacute'] = 0x1E16;\n t['Emacrongrave'] = 0x1E14;\n t['Emcyrillic'] = 0x041C;\n t['Emonospace'] = 0xFF25;\n t['Encyrillic'] = 0x041D;\n t['Endescendercyrillic'] = 0x04A2;\n t['Eng'] = 0x014A;\n t['Enghecyrillic'] = 0x04A4;\n t['Enhookcyrillic'] = 0x04C7;\n t['Eogonek'] = 0x0118;\n t['Eopen'] = 0x0190;\n t['Epsilon'] = 0x0395;\n t['Epsilontonos'] = 0x0388;\n t['Ercyrillic'] = 0x0420;\n t['Ereversed'] = 0x018E;\n t['Ereversedcyrillic'] = 0x042D;\n t['Escyrillic'] = 0x0421;\n t['Esdescendercyrillic'] = 0x04AA;\n t['Esh'] = 0x01A9;\n t['Esmall'] = 0xF765;\n t['Eta'] = 0x0397;\n t['Etarmenian'] = 0x0538;\n t['Etatonos'] = 0x0389;\n t['Eth'] = 0x00D0;\n t['Ethsmall'] = 0xF7F0;\n t['Etilde'] = 0x1EBC;\n t['Etildebelow'] = 0x1E1A;\n t['Euro'] = 0x20AC;\n t['Ezh'] = 0x01B7;\n t['Ezhcaron'] = 0x01EE;\n t['Ezhreversed'] = 0x01B8;\n t['F'] = 0x0046;\n t['Fcircle'] = 0x24BB;\n t['Fdotaccent'] = 0x1E1E;\n t['Feharmenian'] = 0x0556;\n t['Feicoptic'] = 0x03E4;\n t['Fhook'] = 0x0191;\n t['Fitacyrillic'] = 0x0472;\n t['Fiveroman'] = 0x2164;\n t['Fmonospace'] = 0xFF26;\n t['Fourroman'] = 0x2163;\n t['Fsmall'] = 0xF766;\n t['G'] = 0x0047;\n t['GBsquare'] = 0x3387;\n t['Gacute'] = 0x01F4;\n t['Gamma'] = 0x0393;\n t['Gammaafrican'] = 0x0194;\n t['Gangiacoptic'] = 0x03EA;\n t['Gbreve'] = 0x011E;\n t['Gcaron'] = 0x01E6;\n t['Gcedilla'] = 0x0122;\n t['Gcircle'] = 0x24BC;\n t['Gcircumflex'] = 0x011C;\n t['Gcommaaccent'] = 0x0122;\n t['Gdot'] = 0x0120;\n t['Gdotaccent'] = 0x0120;\n t['Gecyrillic'] = 0x0413;\n t['Ghadarmenian'] = 0x0542;\n t['Ghemiddlehookcyrillic'] = 0x0494;\n t['Ghestrokecyrillic'] = 0x0492;\n t['Gheupturncyrillic'] = 0x0490;\n t['Ghook'] = 0x0193;\n t['Gimarmenian'] = 0x0533;\n t['Gjecyrillic'] = 0x0403;\n t['Gmacron'] = 0x1E20;\n t['Gmonospace'] = 0xFF27;\n t['Grave'] = 0xF6CE;\n t['Gravesmall'] = 0xF760;\n t['Gsmall'] = 0xF767;\n t['Gsmallhook'] = 0x029B;\n t['Gstroke'] = 0x01E4;\n t['H'] = 0x0048;\n t['H18533'] = 0x25CF;\n t['H18543'] = 0x25AA;\n t['H18551'] = 0x25AB;\n t['H22073'] = 0x25A1;\n t['HPsquare'] = 0x33CB;\n t['Haabkhasiancyrillic'] = 0x04A8;\n t['Hadescendercyrillic'] = 0x04B2;\n t['Hardsigncyrillic'] = 0x042A;\n t['Hbar'] = 0x0126;\n t['Hbrevebelow'] = 0x1E2A;\n t['Hcedilla'] = 0x1E28;\n t['Hcircle'] = 0x24BD;\n t['Hcircumflex'] = 0x0124;\n t['Hdieresis'] = 0x1E26;\n t['Hdotaccent'] = 0x1E22;\n t['Hdotbelow'] = 0x1E24;\n t['Hmonospace'] = 0xFF28;\n t['Hoarmenian'] = 0x0540;\n t['Horicoptic'] = 0x03E8;\n t['Hsmall'] = 0xF768;\n t['Hungarumlaut'] = 0xF6CF;\n t['Hungarumlautsmall'] = 0xF6F8;\n t['Hzsquare'] = 0x3390;\n t['I'] = 0x0049;\n t['IAcyrillic'] = 0x042F;\n t['IJ'] = 0x0132;\n t['IUcyrillic'] = 0x042E;\n t['Iacute'] = 0x00CD;\n t['Iacutesmall'] = 0xF7ED;\n t['Ibreve'] = 0x012C;\n t['Icaron'] = 0x01CF;\n t['Icircle'] = 0x24BE;\n t['Icircumflex'] = 0x00CE;\n t['Icircumflexsmall'] = 0xF7EE;\n t['Icyrillic'] = 0x0406;\n t['Idblgrave'] = 0x0208;\n t['Idieresis'] = 0x00CF;\n t['Idieresisacute'] = 0x1E2E;\n t['Idieresiscyrillic'] = 0x04E4;\n t['Idieresissmall'] = 0xF7EF;\n t['Idot'] = 0x0130;\n t['Idotaccent'] = 0x0130;\n t['Idotbelow'] = 0x1ECA;\n t['Iebrevecyrillic'] = 0x04D6;\n t['Iecyrillic'] = 0x0415;\n t['Ifraktur'] = 0x2111;\n t['Igrave'] = 0x00CC;\n t['Igravesmall'] = 0xF7EC;\n t['Ihookabove'] = 0x1EC8;\n t['Iicyrillic'] = 0x0418;\n t['Iinvertedbreve'] = 0x020A;\n t['Iishortcyrillic'] = 0x0419;\n t['Imacron'] = 0x012A;\n t['Imacroncyrillic'] = 0x04E2;\n t['Imonospace'] = 0xFF29;\n t['Iniarmenian'] = 0x053B;\n t['Iocyrillic'] = 0x0401;\n t['Iogonek'] = 0x012E;\n t['Iota'] = 0x0399;\n t['Iotaafrican'] = 0x0196;\n t['Iotadieresis'] = 0x03AA;\n t['Iotatonos'] = 0x038A;\n t['Ismall'] = 0xF769;\n t['Istroke'] = 0x0197;\n t['Itilde'] = 0x0128;\n t['Itildebelow'] = 0x1E2C;\n t['Izhitsacyrillic'] = 0x0474;\n t['Izhitsadblgravecyrillic'] = 0x0476;\n t['J'] = 0x004A;\n t['Jaarmenian'] = 0x0541;\n t['Jcircle'] = 0x24BF;\n t['Jcircumflex'] = 0x0134;\n t['Jecyrillic'] = 0x0408;\n t['Jheharmenian'] = 0x054B;\n t['Jmonospace'] = 0xFF2A;\n t['Jsmall'] = 0xF76A;\n t['K'] = 0x004B;\n t['KBsquare'] = 0x3385;\n t['KKsquare'] = 0x33CD;\n t['Kabashkircyrillic'] = 0x04A0;\n t['Kacute'] = 0x1E30;\n t['Kacyrillic'] = 0x041A;\n t['Kadescendercyrillic'] = 0x049A;\n t['Kahookcyrillic'] = 0x04C3;\n t['Kappa'] = 0x039A;\n t['Kastrokecyrillic'] = 0x049E;\n t['Kaverticalstrokecyrillic'] = 0x049C;\n t['Kcaron'] = 0x01E8;\n t['Kcedilla'] = 0x0136;\n t['Kcircle'] = 0x24C0;\n t['Kcommaaccent'] = 0x0136;\n t['Kdotbelow'] = 0x1E32;\n t['Keharmenian'] = 0x0554;\n t['Kenarmenian'] = 0x053F;\n t['Khacyrillic'] = 0x0425;\n t['Kheicoptic'] = 0x03E6;\n t['Khook'] = 0x0198;\n t['Kjecyrillic'] = 0x040C;\n t['Klinebelow'] = 0x1E34;\n t['Kmonospace'] = 0xFF2B;\n t['Koppacyrillic'] = 0x0480;\n t['Koppagreek'] = 0x03DE;\n t['Ksicyrillic'] = 0x046E;\n t['Ksmall'] = 0xF76B;\n t['L'] = 0x004C;\n t['LJ'] = 0x01C7;\n t['LL'] = 0xF6BF;\n t['Lacute'] = 0x0139;\n t['Lambda'] = 0x039B;\n t['Lcaron'] = 0x013D;\n t['Lcedilla'] = 0x013B;\n t['Lcircle'] = 0x24C1;\n t['Lcircumflexbelow'] = 0x1E3C;\n t['Lcommaaccent'] = 0x013B;\n t['Ldot'] = 0x013F;\n t['Ldotaccent'] = 0x013F;\n t['Ldotbelow'] = 0x1E36;\n t['Ldotbelowmacron'] = 0x1E38;\n t['Liwnarmenian'] = 0x053C;\n t['Lj'] = 0x01C8;\n t['Ljecyrillic'] = 0x0409;\n t['Llinebelow'] = 0x1E3A;\n t['Lmonospace'] = 0xFF2C;\n t['Lslash'] = 0x0141;\n t['Lslashsmall'] = 0xF6F9;\n t['Lsmall'] = 0xF76C;\n t['M'] = 0x004D;\n t['MBsquare'] = 0x3386;\n t['Macron'] = 0xF6D0;\n t['Macronsmall'] = 0xF7AF;\n t['Macute'] = 0x1E3E;\n t['Mcircle'] = 0x24C2;\n t['Mdotaccent'] = 0x1E40;\n t['Mdotbelow'] = 0x1E42;\n t['Menarmenian'] = 0x0544;\n t['Mmonospace'] = 0xFF2D;\n t['Msmall'] = 0xF76D;\n t['Mturned'] = 0x019C;\n t['Mu'] = 0x039C;\n t['N'] = 0x004E;\n t['NJ'] = 0x01CA;\n t['Nacute'] = 0x0143;\n t['Ncaron'] = 0x0147;\n t['Ncedilla'] = 0x0145;\n t['Ncircle'] = 0x24C3;\n t['Ncircumflexbelow'] = 0x1E4A;\n t['Ncommaaccent'] = 0x0145;\n t['Ndotaccent'] = 0x1E44;\n t['Ndotbelow'] = 0x1E46;\n t['Nhookleft'] = 0x019D;\n t['Nineroman'] = 0x2168;\n t['Nj'] = 0x01CB;\n t['Njecyrillic'] = 0x040A;\n t['Nlinebelow'] = 0x1E48;\n t['Nmonospace'] = 0xFF2E;\n t['Nowarmenian'] = 0x0546;\n t['Nsmall'] = 0xF76E;\n t['Ntilde'] = 0x00D1;\n t['Ntildesmall'] = 0xF7F1;\n t['Nu'] = 0x039D;\n t['O'] = 0x004F;\n t['OE'] = 0x0152;\n t['OEsmall'] = 0xF6FA;\n t['Oacute'] = 0x00D3;\n t['Oacutesmall'] = 0xF7F3;\n t['Obarredcyrillic'] = 0x04E8;\n t['Obarreddieresiscyrillic'] = 0x04EA;\n t['Obreve'] = 0x014E;\n t['Ocaron'] = 0x01D1;\n t['Ocenteredtilde'] = 0x019F;\n t['Ocircle'] = 0x24C4;\n t['Ocircumflex'] = 0x00D4;\n t['Ocircumflexacute'] = 0x1ED0;\n t['Ocircumflexdotbelow'] = 0x1ED8;\n t['Ocircumflexgrave'] = 0x1ED2;\n t['Ocircumflexhookabove'] = 0x1ED4;\n t['Ocircumflexsmall'] = 0xF7F4;\n t['Ocircumflextilde'] = 0x1ED6;\n t['Ocyrillic'] = 0x041E;\n t['Odblacute'] = 0x0150;\n t['Odblgrave'] = 0x020C;\n t['Odieresis'] = 0x00D6;\n t['Odieresiscyrillic'] = 0x04E6;\n t['Odieresissmall'] = 0xF7F6;\n t['Odotbelow'] = 0x1ECC;\n t['Ogoneksmall'] = 0xF6FB;\n t['Ograve'] = 0x00D2;\n t['Ogravesmall'] = 0xF7F2;\n t['Oharmenian'] = 0x0555;\n t['Ohm'] = 0x2126;\n t['Ohookabove'] = 0x1ECE;\n t['Ohorn'] = 0x01A0;\n t['Ohornacute'] = 0x1EDA;\n t['Ohorndotbelow'] = 0x1EE2;\n t['Ohorngrave'] = 0x1EDC;\n t['Ohornhookabove'] = 0x1EDE;\n t['Ohorntilde'] = 0x1EE0;\n t['Ohungarumlaut'] = 0x0150;\n t['Oi'] = 0x01A2;\n t['Oinvertedbreve'] = 0x020E;\n t['Omacron'] = 0x014C;\n t['Omacronacute'] = 0x1E52;\n t['Omacrongrave'] = 0x1E50;\n t['Omega'] = 0x2126;\n t['Omegacyrillic'] = 0x0460;\n t['Omegagreek'] = 0x03A9;\n t['Omegaroundcyrillic'] = 0x047A;\n t['Omegatitlocyrillic'] = 0x047C;\n t['Omegatonos'] = 0x038F;\n t['Omicron'] = 0x039F;\n t['Omicrontonos'] = 0x038C;\n t['Omonospace'] = 0xFF2F;\n t['Oneroman'] = 0x2160;\n t['Oogonek'] = 0x01EA;\n t['Oogonekmacron'] = 0x01EC;\n t['Oopen'] = 0x0186;\n t['Oslash'] = 0x00D8;\n t['Oslashacute'] = 0x01FE;\n t['Oslashsmall'] = 0xF7F8;\n t['Osmall'] = 0xF76F;\n t['Ostrokeacute'] = 0x01FE;\n t['Otcyrillic'] = 0x047E;\n t['Otilde'] = 0x00D5;\n t['Otildeacute'] = 0x1E4C;\n t['Otildedieresis'] = 0x1E4E;\n t['Otildesmall'] = 0xF7F5;\n t['P'] = 0x0050;\n t['Pacute'] = 0x1E54;\n t['Pcircle'] = 0x24C5;\n t['Pdotaccent'] = 0x1E56;\n t['Pecyrillic'] = 0x041F;\n t['Peharmenian'] = 0x054A;\n t['Pemiddlehookcyrillic'] = 0x04A6;\n t['Phi'] = 0x03A6;\n t['Phook'] = 0x01A4;\n t['Pi'] = 0x03A0;\n t['Piwrarmenian'] = 0x0553;\n t['Pmonospace'] = 0xFF30;\n t['Psi'] = 0x03A8;\n t['Psicyrillic'] = 0x0470;\n t['Psmall'] = 0xF770;\n t['Q'] = 0x0051;\n t['Qcircle'] = 0x24C6;\n t['Qmonospace'] = 0xFF31;\n t['Qsmall'] = 0xF771;\n t['R'] = 0x0052;\n t['Raarmenian'] = 0x054C;\n t['Racute'] = 0x0154;\n t['Rcaron'] = 0x0158;\n t['Rcedilla'] = 0x0156;\n t['Rcircle'] = 0x24C7;\n t['Rcommaaccent'] = 0x0156;\n t['Rdblgrave'] = 0x0210;\n t['Rdotaccent'] = 0x1E58;\n t['Rdotbelow'] = 0x1E5A;\n t['Rdotbelowmacron'] = 0x1E5C;\n t['Reharmenian'] = 0x0550;\n t['Rfraktur'] = 0x211C;\n t['Rho'] = 0x03A1;\n t['Ringsmall'] = 0xF6FC;\n t['Rinvertedbreve'] = 0x0212;\n t['Rlinebelow'] = 0x1E5E;\n t['Rmonospace'] = 0xFF32;\n t['Rsmall'] = 0xF772;\n t['Rsmallinverted'] = 0x0281;\n t['Rsmallinvertedsuperior'] = 0x02B6;\n t['S'] = 0x0053;\n t['SF010000'] = 0x250C;\n t['SF020000'] = 0x2514;\n t['SF030000'] = 0x2510;\n t['SF040000'] = 0x2518;\n t['SF050000'] = 0x253C;\n t['SF060000'] = 0x252C;\n t['SF070000'] = 0x2534;\n t['SF080000'] = 0x251C;\n t['SF090000'] = 0x2524;\n t['SF100000'] = 0x2500;\n t['SF110000'] = 0x2502;\n t['SF190000'] = 0x2561;\n t['SF200000'] = 0x2562;\n t['SF210000'] = 0x2556;\n t['SF220000'] = 0x2555;\n t['SF230000'] = 0x2563;\n t['SF240000'] = 0x2551;\n t['SF250000'] = 0x2557;\n t['SF260000'] = 0x255D;\n t['SF270000'] = 0x255C;\n t['SF280000'] = 0x255B;\n t['SF360000'] = 0x255E;\n t['SF370000'] = 0x255F;\n t['SF380000'] = 0x255A;\n t['SF390000'] = 0x2554;\n t['SF400000'] = 0x2569;\n t['SF410000'] = 0x2566;\n t['SF420000'] = 0x2560;\n t['SF430000'] = 0x2550;\n t['SF440000'] = 0x256C;\n t['SF450000'] = 0x2567;\n t['SF460000'] = 0x2568;\n t['SF470000'] = 0x2564;\n t['SF480000'] = 0x2565;\n t['SF490000'] = 0x2559;\n t['SF500000'] = 0x2558;\n t['SF510000'] = 0x2552;\n t['SF520000'] = 0x2553;\n t['SF530000'] = 0x256B;\n t['SF540000'] = 0x256A;\n t['Sacute'] = 0x015A;\n t['Sacutedotaccent'] = 0x1E64;\n t['Sampigreek'] = 0x03E0;\n t['Scaron'] = 0x0160;\n t['Scarondotaccent'] = 0x1E66;\n t['Scaronsmall'] = 0xF6FD;\n t['Scedilla'] = 0x015E;\n t['Schwa'] = 0x018F;\n t['Schwacyrillic'] = 0x04D8;\n t['Schwadieresiscyrillic'] = 0x04DA;\n t['Scircle'] = 0x24C8;\n t['Scircumflex'] = 0x015C;\n t['Scommaaccent'] = 0x0218;\n t['Sdotaccent'] = 0x1E60;\n t['Sdotbelow'] = 0x1E62;\n t['Sdotbelowdotaccent'] = 0x1E68;\n t['Seharmenian'] = 0x054D;\n t['Sevenroman'] = 0x2166;\n t['Shaarmenian'] = 0x0547;\n t['Shacyrillic'] = 0x0428;\n t['Shchacyrillic'] = 0x0429;\n t['Sheicoptic'] = 0x03E2;\n t['Shhacyrillic'] = 0x04BA;\n t['Shimacoptic'] = 0x03EC;\n t['Sigma'] = 0x03A3;\n t['Sixroman'] = 0x2165;\n t['Smonospace'] = 0xFF33;\n t['Softsigncyrillic'] = 0x042C;\n t['Ssmall'] = 0xF773;\n t['Stigmagreek'] = 0x03DA;\n t['T'] = 0x0054;\n t['Tau'] = 0x03A4;\n t['Tbar'] = 0x0166;\n t['Tcaron'] = 0x0164;\n t['Tcedilla'] = 0x0162;\n t['Tcircle'] = 0x24C9;\n t['Tcircumflexbelow'] = 0x1E70;\n t['Tcommaaccent'] = 0x0162;\n t['Tdotaccent'] = 0x1E6A;\n t['Tdotbelow'] = 0x1E6C;\n t['Tecyrillic'] = 0x0422;\n t['Tedescendercyrillic'] = 0x04AC;\n t['Tenroman'] = 0x2169;\n t['Tetsecyrillic'] = 0x04B4;\n t['Theta'] = 0x0398;\n t['Thook'] = 0x01AC;\n t['Thorn'] = 0x00DE;\n t['Thornsmall'] = 0xF7FE;\n t['Threeroman'] = 0x2162;\n t['Tildesmall'] = 0xF6FE;\n t['Tiwnarmenian'] = 0x054F;\n t['Tlinebelow'] = 0x1E6E;\n t['Tmonospace'] = 0xFF34;\n t['Toarmenian'] = 0x0539;\n t['Tonefive'] = 0x01BC;\n t['Tonesix'] = 0x0184;\n t['Tonetwo'] = 0x01A7;\n t['Tretroflexhook'] = 0x01AE;\n t['Tsecyrillic'] = 0x0426;\n t['Tshecyrillic'] = 0x040B;\n t['Tsmall'] = 0xF774;\n t['Twelveroman'] = 0x216B;\n t['Tworoman'] = 0x2161;\n t['U'] = 0x0055;\n t['Uacute'] = 0x00DA;\n t['Uacutesmall'] = 0xF7FA;\n t['Ubreve'] = 0x016C;\n t['Ucaron'] = 0x01D3;\n t['Ucircle'] = 0x24CA;\n t['Ucircumflex'] = 0x00DB;\n t['Ucircumflexbelow'] = 0x1E76;\n t['Ucircumflexsmall'] = 0xF7FB;\n t['Ucyrillic'] = 0x0423;\n t['Udblacute'] = 0x0170;\n t['Udblgrave'] = 0x0214;\n t['Udieresis'] = 0x00DC;\n t['Udieresisacute'] = 0x01D7;\n t['Udieresisbelow'] = 0x1E72;\n t['Udieresiscaron'] = 0x01D9;\n t['Udieresiscyrillic'] = 0x04F0;\n t['Udieresisgrave'] = 0x01DB;\n t['Udieresismacron'] = 0x01D5;\n t['Udieresissmall'] = 0xF7FC;\n t['Udotbelow'] = 0x1EE4;\n t['Ugrave'] = 0x00D9;\n t['Ugravesmall'] = 0xF7F9;\n t['Uhookabove'] = 0x1EE6;\n t['Uhorn'] = 0x01AF;\n t['Uhornacute'] = 0x1EE8;\n t['Uhorndotbelow'] = 0x1EF0;\n t['Uhorngrave'] = 0x1EEA;\n t['Uhornhookabove'] = 0x1EEC;\n t['Uhorntilde'] = 0x1EEE;\n t['Uhungarumlaut'] = 0x0170;\n t['Uhungarumlautcyrillic'] = 0x04F2;\n t['Uinvertedbreve'] = 0x0216;\n t['Ukcyrillic'] = 0x0478;\n t['Umacron'] = 0x016A;\n t['Umacroncyrillic'] = 0x04EE;\n t['Umacrondieresis'] = 0x1E7A;\n t['Umonospace'] = 0xFF35;\n t['Uogonek'] = 0x0172;\n t['Upsilon'] = 0x03A5;\n t['Upsilon1'] = 0x03D2;\n t['Upsilonacutehooksymbolgreek'] = 0x03D3;\n t['Upsilonafrican'] = 0x01B1;\n t['Upsilondieresis'] = 0x03AB;\n t['Upsilondieresishooksymbolgreek'] = 0x03D4;\n t['Upsilonhooksymbol'] = 0x03D2;\n t['Upsilontonos'] = 0x038E;\n t['Uring'] = 0x016E;\n t['Ushortcyrillic'] = 0x040E;\n t['Usmall'] = 0xF775;\n t['Ustraightcyrillic'] = 0x04AE;\n t['Ustraightstrokecyrillic'] = 0x04B0;\n t['Utilde'] = 0x0168;\n t['Utildeacute'] = 0x1E78;\n t['Utildebelow'] = 0x1E74;\n t['V'] = 0x0056;\n t['Vcircle'] = 0x24CB;\n t['Vdotbelow'] = 0x1E7E;\n t['Vecyrillic'] = 0x0412;\n t['Vewarmenian'] = 0x054E;\n t['Vhook'] = 0x01B2;\n t['Vmonospace'] = 0xFF36;\n t['Voarmenian'] = 0x0548;\n t['Vsmall'] = 0xF776;\n t['Vtilde'] = 0x1E7C;\n t['W'] = 0x0057;\n t['Wacute'] = 0x1E82;\n t['Wcircle'] = 0x24CC;\n t['Wcircumflex'] = 0x0174;\n t['Wdieresis'] = 0x1E84;\n t['Wdotaccent'] = 0x1E86;\n t['Wdotbelow'] = 0x1E88;\n t['Wgrave'] = 0x1E80;\n t['Wmonospace'] = 0xFF37;\n t['Wsmall'] = 0xF777;\n t['X'] = 0x0058;\n t['Xcircle'] = 0x24CD;\n t['Xdieresis'] = 0x1E8C;\n t['Xdotaccent'] = 0x1E8A;\n t['Xeharmenian'] = 0x053D;\n t['Xi'] = 0x039E;\n t['Xmonospace'] = 0xFF38;\n t['Xsmall'] = 0xF778;\n t['Y'] = 0x0059;\n t['Yacute'] = 0x00DD;\n t['Yacutesmall'] = 0xF7FD;\n t['Yatcyrillic'] = 0x0462;\n t['Ycircle'] = 0x24CE;\n t['Ycircumflex'] = 0x0176;\n t['Ydieresis'] = 0x0178;\n t['Ydieresissmall'] = 0xF7FF;\n t['Ydotaccent'] = 0x1E8E;\n t['Ydotbelow'] = 0x1EF4;\n t['Yericyrillic'] = 0x042B;\n t['Yerudieresiscyrillic'] = 0x04F8;\n t['Ygrave'] = 0x1EF2;\n t['Yhook'] = 0x01B3;\n t['Yhookabove'] = 0x1EF6;\n t['Yiarmenian'] = 0x0545;\n t['Yicyrillic'] = 0x0407;\n t['Yiwnarmenian'] = 0x0552;\n t['Ymonospace'] = 0xFF39;\n t['Ysmall'] = 0xF779;\n t['Ytilde'] = 0x1EF8;\n t['Yusbigcyrillic'] = 0x046A;\n t['Yusbigiotifiedcyrillic'] = 0x046C;\n t['Yuslittlecyrillic'] = 0x0466;\n t['Yuslittleiotifiedcyrillic'] = 0x0468;\n t['Z'] = 0x005A;\n t['Zaarmenian'] = 0x0536;\n t['Zacute'] = 0x0179;\n t['Zcaron'] = 0x017D;\n t['Zcaronsmall'] = 0xF6FF;\n t['Zcircle'] = 0x24CF;\n t['Zcircumflex'] = 0x1E90;\n t['Zdot'] = 0x017B;\n t['Zdotaccent'] = 0x017B;\n t['Zdotbelow'] = 0x1E92;\n t['Zecyrillic'] = 0x0417;\n t['Zedescendercyrillic'] = 0x0498;\n t['Zedieresiscyrillic'] = 0x04DE;\n t['Zeta'] = 0x0396;\n t['Zhearmenian'] = 0x053A;\n t['Zhebrevecyrillic'] = 0x04C1;\n t['Zhecyrillic'] = 0x0416;\n t['Zhedescendercyrillic'] = 0x0496;\n t['Zhedieresiscyrillic'] = 0x04DC;\n t['Zlinebelow'] = 0x1E94;\n t['Zmonospace'] = 0xFF3A;\n t['Zsmall'] = 0xF77A;\n t['Zstroke'] = 0x01B5;\n t['a'] = 0x0061;\n t['aabengali'] = 0x0986;\n t['aacute'] = 0x00E1;\n t['aadeva'] = 0x0906;\n t['aagujarati'] = 0x0A86;\n t['aagurmukhi'] = 0x0A06;\n t['aamatragurmukhi'] = 0x0A3E;\n t['aarusquare'] = 0x3303;\n t['aavowelsignbengali'] = 0x09BE;\n t['aavowelsigndeva'] = 0x093E;\n t['aavowelsigngujarati'] = 0x0ABE;\n t['abbreviationmarkarmenian'] = 0x055F;\n t['abbreviationsigndeva'] = 0x0970;\n t['abengali'] = 0x0985;\n t['abopomofo'] = 0x311A;\n t['abreve'] = 0x0103;\n t['abreveacute'] = 0x1EAF;\n t['abrevecyrillic'] = 0x04D1;\n t['abrevedotbelow'] = 0x1EB7;\n t['abrevegrave'] = 0x1EB1;\n t['abrevehookabove'] = 0x1EB3;\n t['abrevetilde'] = 0x1EB5;\n t['acaron'] = 0x01CE;\n t['acircle'] = 0x24D0;\n t['acircumflex'] = 0x00E2;\n t['acircumflexacute'] = 0x1EA5;\n t['acircumflexdotbelow'] = 0x1EAD;\n t['acircumflexgrave'] = 0x1EA7;\n t['acircumflexhookabove'] = 0x1EA9;\n t['acircumflextilde'] = 0x1EAB;\n t['acute'] = 0x00B4;\n t['acutebelowcmb'] = 0x0317;\n t['acutecmb'] = 0x0301;\n t['acutecomb'] = 0x0301;\n t['acutedeva'] = 0x0954;\n t['acutelowmod'] = 0x02CF;\n t['acutetonecmb'] = 0x0341;\n t['acyrillic'] = 0x0430;\n t['adblgrave'] = 0x0201;\n t['addakgurmukhi'] = 0x0A71;\n t['adeva'] = 0x0905;\n t['adieresis'] = 0x00E4;\n t['adieresiscyrillic'] = 0x04D3;\n t['adieresismacron'] = 0x01DF;\n t['adotbelow'] = 0x1EA1;\n t['adotmacron'] = 0x01E1;\n t['ae'] = 0x00E6;\n t['aeacute'] = 0x01FD;\n t['aekorean'] = 0x3150;\n t['aemacron'] = 0x01E3;\n t['afii00208'] = 0x2015;\n t['afii08941'] = 0x20A4;\n t['afii10017'] = 0x0410;\n t['afii10018'] = 0x0411;\n t['afii10019'] = 0x0412;\n t['afii10020'] = 0x0413;\n t['afii10021'] = 0x0414;\n t['afii10022'] = 0x0415;\n t['afii10023'] = 0x0401;\n t['afii10024'] = 0x0416;\n t['afii10025'] = 0x0417;\n t['afii10026'] = 0x0418;\n t['afii10027'] = 0x0419;\n t['afii10028'] = 0x041A;\n t['afii10029'] = 0x041B;\n t['afii10030'] = 0x041C;\n t['afii10031'] = 0x041D;\n t['afii10032'] = 0x041E;\n t['afii10033'] = 0x041F;\n t['afii10034'] = 0x0420;\n t['afii10035'] = 0x0421;\n t['afii10036'] = 0x0422;\n t['afii10037'] = 0x0423;\n t['afii10038'] = 0x0424;\n t['afii10039'] = 0x0425;\n t['afii10040'] = 0x0426;\n t['afii10041'] = 0x0427;\n t['afii10042'] = 0x0428;\n t['afii10043'] = 0x0429;\n t['afii10044'] = 0x042A;\n t['afii10045'] = 0x042B;\n t['afii10046'] = 0x042C;\n t['afii10047'] = 0x042D;\n t['afii10048'] = 0x042E;\n t['afii10049'] = 0x042F;\n t['afii10050'] = 0x0490;\n t['afii10051'] = 0x0402;\n t['afii10052'] = 0x0403;\n t['afii10053'] = 0x0404;\n t['afii10054'] = 0x0405;\n t['afii10055'] = 0x0406;\n t['afii10056'] = 0x0407;\n t['afii10057'] = 0x0408;\n t['afii10058'] = 0x0409;\n t['afii10059'] = 0x040A;\n t['afii10060'] = 0x040B;\n t['afii10061'] = 0x040C;\n t['afii10062'] = 0x040E;\n t['afii10063'] = 0xF6C4;\n t['afii10064'] = 0xF6C5;\n t['afii10065'] = 0x0430;\n t['afii10066'] = 0x0431;\n t['afii10067'] = 0x0432;\n t['afii10068'] = 0x0433;\n t['afii10069'] = 0x0434;\n t['afii10070'] = 0x0435;\n t['afii10071'] = 0x0451;\n t['afii10072'] = 0x0436;\n t['afii10073'] = 0x0437;\n t['afii10074'] = 0x0438;\n t['afii10075'] = 0x0439;\n t['afii10076'] = 0x043A;\n t['afii10077'] = 0x043B;\n t['afii10078'] = 0x043C;\n t['afii10079'] = 0x043D;\n t['afii10080'] = 0x043E;\n t['afii10081'] = 0x043F;\n t['afii10082'] = 0x0440;\n t['afii10083'] = 0x0441;\n t['afii10084'] = 0x0442;\n t['afii10085'] = 0x0443;\n t['afii10086'] = 0x0444;\n t['afii10087'] = 0x0445;\n t['afii10088'] = 0x0446;\n t['afii10089'] = 0x0447;\n t['afii10090'] = 0x0448;\n t['afii10091'] = 0x0449;\n t['afii10092'] = 0x044A;\n t['afii10093'] = 0x044B;\n t['afii10094'] = 0x044C;\n t['afii10095'] = 0x044D;\n t['afii10096'] = 0x044E;\n t['afii10097'] = 0x044F;\n t['afii10098'] = 0x0491;\n t['afii10099'] = 0x0452;\n t['afii10100'] = 0x0453;\n t['afii10101'] = 0x0454;\n t['afii10102'] = 0x0455;\n t['afii10103'] = 0x0456;\n t['afii10104'] = 0x0457;\n t['afii10105'] = 0x0458;\n t['afii10106'] = 0x0459;\n t['afii10107'] = 0x045A;\n t['afii10108'] = 0x045B;\n t['afii10109'] = 0x045C;\n t['afii10110'] = 0x045E;\n t['afii10145'] = 0x040F;\n t['afii10146'] = 0x0462;\n t['afii10147'] = 0x0472;\n t['afii10148'] = 0x0474;\n t['afii10192'] = 0xF6C6;\n t['afii10193'] = 0x045F;\n t['afii10194'] = 0x0463;\n t['afii10195'] = 0x0473;\n t['afii10196'] = 0x0475;\n t['afii10831'] = 0xF6C7;\n t['afii10832'] = 0xF6C8;\n t['afii10846'] = 0x04D9;\n t['afii299'] = 0x200E;\n t['afii300'] = 0x200F;\n t['afii301'] = 0x200D;\n t['afii57381'] = 0x066A;\n t['afii57388'] = 0x060C;\n t['afii57392'] = 0x0660;\n t['afii57393'] = 0x0661;\n t['afii57394'] = 0x0662;\n t['afii57395'] = 0x0663;\n t['afii57396'] = 0x0664;\n t['afii57397'] = 0x0665;\n t['afii57398'] = 0x0666;\n t['afii57399'] = 0x0667;\n t['afii57400'] = 0x0668;\n t['afii57401'] = 0x0669;\n t['afii57403'] = 0x061B;\n t['afii57407'] = 0x061F;\n t['afii57409'] = 0x0621;\n t['afii57410'] = 0x0622;\n t['afii57411'] = 0x0623;\n t['afii57412'] = 0x0624;\n t['afii57413'] = 0x0625;\n t['afii57414'] = 0x0626;\n t['afii57415'] = 0x0627;\n t['afii57416'] = 0x0628;\n t['afii57417'] = 0x0629;\n t['afii57418'] = 0x062A;\n t['afii57419'] = 0x062B;\n t['afii57420'] = 0x062C;\n t['afii57421'] = 0x062D;\n t['afii57422'] = 0x062E;\n t['afii57423'] = 0x062F;\n t['afii57424'] = 0x0630;\n t['afii57425'] = 0x0631;\n t['afii57426'] = 0x0632;\n t['afii57427'] = 0x0633;\n t['afii57428'] = 0x0634;\n t['afii57429'] = 0x0635;\n t['afii57430'] = 0x0636;\n t['afii57431'] = 0x0637;\n t['afii57432'] = 0x0638;\n t['afii57433'] = 0x0639;\n t['afii57434'] = 0x063A;\n t['afii57440'] = 0x0640;\n t['afii57441'] = 0x0641;\n t['afii57442'] = 0x0642;\n t['afii57443'] = 0x0643;\n t['afii57444'] = 0x0644;\n t['afii57445'] = 0x0645;\n t['afii57446'] = 0x0646;\n t['afii57448'] = 0x0648;\n t['afii57449'] = 0x0649;\n t['afii57450'] = 0x064A;\n t['afii57451'] = 0x064B;\n t['afii57452'] = 0x064C;\n t['afii57453'] = 0x064D;\n t['afii57454'] = 0x064E;\n t['afii57455'] = 0x064F;\n t['afii57456'] = 0x0650;\n t['afii57457'] = 0x0651;\n t['afii57458'] = 0x0652;\n t['afii57470'] = 0x0647;\n t['afii57505'] = 0x06A4;\n t['afii57506'] = 0x067E;\n t['afii57507'] = 0x0686;\n t['afii57508'] = 0x0698;\n t['afii57509'] = 0x06AF;\n t['afii57511'] = 0x0679;\n t['afii57512'] = 0x0688;\n t['afii57513'] = 0x0691;\n t['afii57514'] = 0x06BA;\n t['afii57519'] = 0x06D2;\n t['afii57534'] = 0x06D5;\n t['afii57636'] = 0x20AA;\n t['afii57645'] = 0x05BE;\n t['afii57658'] = 0x05C3;\n t['afii57664'] = 0x05D0;\n t['afii57665'] = 0x05D1;\n t['afii57666'] = 0x05D2;\n t['afii57667'] = 0x05D3;\n t['afii57668'] = 0x05D4;\n t['afii57669'] = 0x05D5;\n t['afii57670'] = 0x05D6;\n t['afii57671'] = 0x05D7;\n t['afii57672'] = 0x05D8;\n t['afii57673'] = 0x05D9;\n t['afii57674'] = 0x05DA;\n t['afii57675'] = 0x05DB;\n t['afii57676'] = 0x05DC;\n t['afii57677'] = 0x05DD;\n t['afii57678'] = 0x05DE;\n t['afii57679'] = 0x05DF;\n t['afii57680'] = 0x05E0;\n t['afii57681'] = 0x05E1;\n t['afii57682'] = 0x05E2;\n t['afii57683'] = 0x05E3;\n t['afii57684'] = 0x05E4;\n t['afii57685'] = 0x05E5;\n t['afii57686'] = 0x05E6;\n t['afii57687'] = 0x05E7;\n t['afii57688'] = 0x05E8;\n t['afii57689'] = 0x05E9;\n t['afii57690'] = 0x05EA;\n t['afii57694'] = 0xFB2A;\n t['afii57695'] = 0xFB2B;\n t['afii57700'] = 0xFB4B;\n t['afii57705'] = 0xFB1F;\n t['afii57716'] = 0x05F0;\n t['afii57717'] = 0x05F1;\n t['afii57718'] = 0x05F2;\n t['afii57723'] = 0xFB35;\n t['afii57793'] = 0x05B4;\n t['afii57794'] = 0x05B5;\n t['afii57795'] = 0x05B6;\n t['afii57796'] = 0x05BB;\n t['afii57797'] = 0x05B8;\n t['afii57798'] = 0x05B7;\n t['afii57799'] = 0x05B0;\n t['afii57800'] = 0x05B2;\n t['afii57801'] = 0x05B1;\n t['afii57802'] = 0x05B3;\n t['afii57803'] = 0x05C2;\n t['afii57804'] = 0x05C1;\n t['afii57806'] = 0x05B9;\n t['afii57807'] = 0x05BC;\n t['afii57839'] = 0x05BD;\n t['afii57841'] = 0x05BF;\n t['afii57842'] = 0x05C0;\n t['afii57929'] = 0x02BC;\n t['afii61248'] = 0x2105;\n t['afii61289'] = 0x2113;\n t['afii61352'] = 0x2116;\n t['afii61573'] = 0x202C;\n t['afii61574'] = 0x202D;\n t['afii61575'] = 0x202E;\n t['afii61664'] = 0x200C;\n t['afii63167'] = 0x066D;\n t['afii64937'] = 0x02BD;\n t['agrave'] = 0x00E0;\n t['agujarati'] = 0x0A85;\n t['agurmukhi'] = 0x0A05;\n t['ahiragana'] = 0x3042;\n t['ahookabove'] = 0x1EA3;\n t['aibengali'] = 0x0990;\n t['aibopomofo'] = 0x311E;\n t['aideva'] = 0x0910;\n t['aiecyrillic'] = 0x04D5;\n t['aigujarati'] = 0x0A90;\n t['aigurmukhi'] = 0x0A10;\n t['aimatragurmukhi'] = 0x0A48;\n t['ainarabic'] = 0x0639;\n t['ainfinalarabic'] = 0xFECA;\n t['aininitialarabic'] = 0xFECB;\n t['ainmedialarabic'] = 0xFECC;\n t['ainvertedbreve'] = 0x0203;\n t['aivowelsignbengali'] = 0x09C8;\n t['aivowelsigndeva'] = 0x0948;\n t['aivowelsigngujarati'] = 0x0AC8;\n t['akatakana'] = 0x30A2;\n t['akatakanahalfwidth'] = 0xFF71;\n t['akorean'] = 0x314F;\n t['alef'] = 0x05D0;\n t['alefarabic'] = 0x0627;\n t['alefdageshhebrew'] = 0xFB30;\n t['aleffinalarabic'] = 0xFE8E;\n t['alefhamzaabovearabic'] = 0x0623;\n t['alefhamzaabovefinalarabic'] = 0xFE84;\n t['alefhamzabelowarabic'] = 0x0625;\n t['alefhamzabelowfinalarabic'] = 0xFE88;\n t['alefhebrew'] = 0x05D0;\n t['aleflamedhebrew'] = 0xFB4F;\n t['alefmaddaabovearabic'] = 0x0622;\n t['alefmaddaabovefinalarabic'] = 0xFE82;\n t['alefmaksuraarabic'] = 0x0649;\n t['alefmaksurafinalarabic'] = 0xFEF0;\n t['alefmaksurainitialarabic'] = 0xFEF3;\n t['alefmaksuramedialarabic'] = 0xFEF4;\n t['alefpatahhebrew'] = 0xFB2E;\n t['alefqamatshebrew'] = 0xFB2F;\n t['aleph'] = 0x2135;\n t['allequal'] = 0x224C;\n t['alpha'] = 0x03B1;\n t['alphatonos'] = 0x03AC;\n t['amacron'] = 0x0101;\n t['amonospace'] = 0xFF41;\n t['ampersand'] = 0x0026;\n t['ampersandmonospace'] = 0xFF06;\n t['ampersandsmall'] = 0xF726;\n t['amsquare'] = 0x33C2;\n t['anbopomofo'] = 0x3122;\n t['angbopomofo'] = 0x3124;\n t['angbracketleft'] = 0x3008;\n t['angbracketright'] = 0x3009;\n t['angkhankhuthai'] = 0x0E5A;\n t['angle'] = 0x2220;\n t['anglebracketleft'] = 0x3008;\n t['anglebracketleftvertical'] = 0xFE3F;\n t['anglebracketright'] = 0x3009;\n t['anglebracketrightvertical'] = 0xFE40;\n t['angleleft'] = 0x2329;\n t['angleright'] = 0x232A;\n t['angstrom'] = 0x212B;\n t['anoteleia'] = 0x0387;\n t['anudattadeva'] = 0x0952;\n t['anusvarabengali'] = 0x0982;\n t['anusvaradeva'] = 0x0902;\n t['anusvaragujarati'] = 0x0A82;\n t['aogonek'] = 0x0105;\n t['apaatosquare'] = 0x3300;\n t['aparen'] = 0x249C;\n t['apostrophearmenian'] = 0x055A;\n t['apostrophemod'] = 0x02BC;\n t['apple'] = 0xF8FF;\n t['approaches'] = 0x2250;\n t['approxequal'] = 0x2248;\n t['approxequalorimage'] = 0x2252;\n t['approximatelyequal'] = 0x2245;\n t['araeaekorean'] = 0x318E;\n t['araeakorean'] = 0x318D;\n t['arc'] = 0x2312;\n t['arighthalfring'] = 0x1E9A;\n t['aring'] = 0x00E5;\n t['aringacute'] = 0x01FB;\n t['aringbelow'] = 0x1E01;\n t['arrowboth'] = 0x2194;\n t['arrowdashdown'] = 0x21E3;\n t['arrowdashleft'] = 0x21E0;\n t['arrowdashright'] = 0x21E2;\n t['arrowdashup'] = 0x21E1;\n t['arrowdblboth'] = 0x21D4;\n t['arrowdbldown'] = 0x21D3;\n t['arrowdblleft'] = 0x21D0;\n t['arrowdblright'] = 0x21D2;\n t['arrowdblup'] = 0x21D1;\n t['arrowdown'] = 0x2193;\n t['arrowdownleft'] = 0x2199;\n t['arrowdownright'] = 0x2198;\n t['arrowdownwhite'] = 0x21E9;\n t['arrowheaddownmod'] = 0x02C5;\n t['arrowheadleftmod'] = 0x02C2;\n t['arrowheadrightmod'] = 0x02C3;\n t['arrowheadupmod'] = 0x02C4;\n t['arrowhorizex'] = 0xF8E7;\n t['arrowleft'] = 0x2190;\n t['arrowleftdbl'] = 0x21D0;\n t['arrowleftdblstroke'] = 0x21CD;\n t['arrowleftoverright'] = 0x21C6;\n t['arrowleftwhite'] = 0x21E6;\n t['arrowright'] = 0x2192;\n t['arrowrightdblstroke'] = 0x21CF;\n t['arrowrightheavy'] = 0x279E;\n t['arrowrightoverleft'] = 0x21C4;\n t['arrowrightwhite'] = 0x21E8;\n t['arrowtableft'] = 0x21E4;\n t['arrowtabright'] = 0x21E5;\n t['arrowup'] = 0x2191;\n t['arrowupdn'] = 0x2195;\n t['arrowupdnbse'] = 0x21A8;\n t['arrowupdownbase'] = 0x21A8;\n t['arrowupleft'] = 0x2196;\n t['arrowupleftofdown'] = 0x21C5;\n t['arrowupright'] = 0x2197;\n t['arrowupwhite'] = 0x21E7;\n t['arrowvertex'] = 0xF8E6;\n t['asciicircum'] = 0x005E;\n t['asciicircummonospace'] = 0xFF3E;\n t['asciitilde'] = 0x007E;\n t['asciitildemonospace'] = 0xFF5E;\n t['ascript'] = 0x0251;\n t['ascriptturned'] = 0x0252;\n t['asmallhiragana'] = 0x3041;\n t['asmallkatakana'] = 0x30A1;\n t['asmallkatakanahalfwidth'] = 0xFF67;\n t['asterisk'] = 0x002A;\n t['asteriskaltonearabic'] = 0x066D;\n t['asteriskarabic'] = 0x066D;\n t['asteriskmath'] = 0x2217;\n t['asteriskmonospace'] = 0xFF0A;\n t['asterisksmall'] = 0xFE61;\n t['asterism'] = 0x2042;\n t['asuperior'] = 0xF6E9;\n t['asymptoticallyequal'] = 0x2243;\n t['at'] = 0x0040;\n t['atilde'] = 0x00E3;\n t['atmonospace'] = 0xFF20;\n t['atsmall'] = 0xFE6B;\n t['aturned'] = 0x0250;\n t['aubengali'] = 0x0994;\n t['aubopomofo'] = 0x3120;\n t['audeva'] = 0x0914;\n t['augujarati'] = 0x0A94;\n t['augurmukhi'] = 0x0A14;\n t['aulengthmarkbengali'] = 0x09D7;\n t['aumatragurmukhi'] = 0x0A4C;\n t['auvowelsignbengali'] = 0x09CC;\n t['auvowelsigndeva'] = 0x094C;\n t['auvowelsigngujarati'] = 0x0ACC;\n t['avagrahadeva'] = 0x093D;\n t['aybarmenian'] = 0x0561;\n t['ayin'] = 0x05E2;\n t['ayinaltonehebrew'] = 0xFB20;\n t['ayinhebrew'] = 0x05E2;\n t['b'] = 0x0062;\n t['babengali'] = 0x09AC;\n t['backslash'] = 0x005C;\n t['backslashmonospace'] = 0xFF3C;\n t['badeva'] = 0x092C;\n t['bagujarati'] = 0x0AAC;\n t['bagurmukhi'] = 0x0A2C;\n t['bahiragana'] = 0x3070;\n t['bahtthai'] = 0x0E3F;\n t['bakatakana'] = 0x30D0;\n t['bar'] = 0x007C;\n t['barmonospace'] = 0xFF5C;\n t['bbopomofo'] = 0x3105;\n t['bcircle'] = 0x24D1;\n t['bdotaccent'] = 0x1E03;\n t['bdotbelow'] = 0x1E05;\n t['beamedsixteenthnotes'] = 0x266C;\n t['because'] = 0x2235;\n t['becyrillic'] = 0x0431;\n t['beharabic'] = 0x0628;\n t['behfinalarabic'] = 0xFE90;\n t['behinitialarabic'] = 0xFE91;\n t['behiragana'] = 0x3079;\n t['behmedialarabic'] = 0xFE92;\n t['behmeeminitialarabic'] = 0xFC9F;\n t['behmeemisolatedarabic'] = 0xFC08;\n t['behnoonfinalarabic'] = 0xFC6D;\n t['bekatakana'] = 0x30D9;\n t['benarmenian'] = 0x0562;\n t['bet'] = 0x05D1;\n t['beta'] = 0x03B2;\n t['betasymbolgreek'] = 0x03D0;\n t['betdagesh'] = 0xFB31;\n t['betdageshhebrew'] = 0xFB31;\n t['bethebrew'] = 0x05D1;\n t['betrafehebrew'] = 0xFB4C;\n t['bhabengali'] = 0x09AD;\n t['bhadeva'] = 0x092D;\n t['bhagujarati'] = 0x0AAD;\n t['bhagurmukhi'] = 0x0A2D;\n t['bhook'] = 0x0253;\n t['bihiragana'] = 0x3073;\n t['bikatakana'] = 0x30D3;\n t['bilabialclick'] = 0x0298;\n t['bindigurmukhi'] = 0x0A02;\n t['birusquare'] = 0x3331;\n t['blackcircle'] = 0x25CF;\n t['blackdiamond'] = 0x25C6;\n t['blackdownpointingtriangle'] = 0x25BC;\n t['blackleftpointingpointer'] = 0x25C4;\n t['blackleftpointingtriangle'] = 0x25C0;\n t['blacklenticularbracketleft'] = 0x3010;\n t['blacklenticularbracketleftvertical'] = 0xFE3B;\n t['blacklenticularbracketright'] = 0x3011;\n t['blacklenticularbracketrightvertical'] = 0xFE3C;\n t['blacklowerlefttriangle'] = 0x25E3;\n t['blacklowerrighttriangle'] = 0x25E2;\n t['blackrectangle'] = 0x25AC;\n t['blackrightpointingpointer'] = 0x25BA;\n t['blackrightpointingtriangle'] = 0x25B6;\n t['blacksmallsquare'] = 0x25AA;\n t['blacksmilingface'] = 0x263B;\n t['blacksquare'] = 0x25A0;\n t['blackstar'] = 0x2605;\n t['blackupperlefttriangle'] = 0x25E4;\n t['blackupperrighttriangle'] = 0x25E5;\n t['blackuppointingsmalltriangle'] = 0x25B4;\n t['blackuppointingtriangle'] = 0x25B2;\n t['blank'] = 0x2423;\n t['blinebelow'] = 0x1E07;\n t['block'] = 0x2588;\n t['bmonospace'] = 0xFF42;\n t['bobaimaithai'] = 0x0E1A;\n t['bohiragana'] = 0x307C;\n t['bokatakana'] = 0x30DC;\n t['bparen'] = 0x249D;\n t['bqsquare'] = 0x33C3;\n t['braceex'] = 0xF8F4;\n t['braceleft'] = 0x007B;\n t['braceleftbt'] = 0xF8F3;\n t['braceleftmid'] = 0xF8F2;\n t['braceleftmonospace'] = 0xFF5B;\n t['braceleftsmall'] = 0xFE5B;\n t['bracelefttp'] = 0xF8F1;\n t['braceleftvertical'] = 0xFE37;\n t['braceright'] = 0x007D;\n t['bracerightbt'] = 0xF8FE;\n t['bracerightmid'] = 0xF8FD;\n t['bracerightmonospace'] = 0xFF5D;\n t['bracerightsmall'] = 0xFE5C;\n t['bracerighttp'] = 0xF8FC;\n t['bracerightvertical'] = 0xFE38;\n t['bracketleft'] = 0x005B;\n t['bracketleftbt'] = 0xF8F0;\n t['bracketleftex'] = 0xF8EF;\n t['bracketleftmonospace'] = 0xFF3B;\n t['bracketlefttp'] = 0xF8EE;\n t['bracketright'] = 0x005D;\n t['bracketrightbt'] = 0xF8FB;\n t['bracketrightex'] = 0xF8FA;\n t['bracketrightmonospace'] = 0xFF3D;\n t['bracketrighttp'] = 0xF8F9;\n t['breve'] = 0x02D8;\n t['brevebelowcmb'] = 0x032E;\n t['brevecmb'] = 0x0306;\n t['breveinvertedbelowcmb'] = 0x032F;\n t['breveinvertedcmb'] = 0x0311;\n t['breveinverteddoublecmb'] = 0x0361;\n t['bridgebelowcmb'] = 0x032A;\n t['bridgeinvertedbelowcmb'] = 0x033A;\n t['brokenbar'] = 0x00A6;\n t['bstroke'] = 0x0180;\n t['bsuperior'] = 0xF6EA;\n t['btopbar'] = 0x0183;\n t['buhiragana'] = 0x3076;\n t['bukatakana'] = 0x30D6;\n t['bullet'] = 0x2022;\n t['bulletinverse'] = 0x25D8;\n t['bulletoperator'] = 0x2219;\n t['bullseye'] = 0x25CE;\n t['c'] = 0x0063;\n t['caarmenian'] = 0x056E;\n t['cabengali'] = 0x099A;\n t['cacute'] = 0x0107;\n t['cadeva'] = 0x091A;\n t['cagujarati'] = 0x0A9A;\n t['cagurmukhi'] = 0x0A1A;\n t['calsquare'] = 0x3388;\n t['candrabindubengali'] = 0x0981;\n t['candrabinducmb'] = 0x0310;\n t['candrabindudeva'] = 0x0901;\n t['candrabindugujarati'] = 0x0A81;\n t['capslock'] = 0x21EA;\n t['careof'] = 0x2105;\n t['caron'] = 0x02C7;\n t['caronbelowcmb'] = 0x032C;\n t['caroncmb'] = 0x030C;\n t['carriagereturn'] = 0x21B5;\n t['cbopomofo'] = 0x3118;\n t['ccaron'] = 0x010D;\n t['ccedilla'] = 0x00E7;\n t['ccedillaacute'] = 0x1E09;\n t['ccircle'] = 0x24D2;\n t['ccircumflex'] = 0x0109;\n t['ccurl'] = 0x0255;\n t['cdot'] = 0x010B;\n t['cdotaccent'] = 0x010B;\n t['cdsquare'] = 0x33C5;\n t['cedilla'] = 0x00B8;\n t['cedillacmb'] = 0x0327;\n t['cent'] = 0x00A2;\n t['centigrade'] = 0x2103;\n t['centinferior'] = 0xF6DF;\n t['centmonospace'] = 0xFFE0;\n t['centoldstyle'] = 0xF7A2;\n t['centsuperior'] = 0xF6E0;\n t['chaarmenian'] = 0x0579;\n t['chabengali'] = 0x099B;\n t['chadeva'] = 0x091B;\n t['chagujarati'] = 0x0A9B;\n t['chagurmukhi'] = 0x0A1B;\n t['chbopomofo'] = 0x3114;\n t['cheabkhasiancyrillic'] = 0x04BD;\n t['checkmark'] = 0x2713;\n t['checyrillic'] = 0x0447;\n t['chedescenderabkhasiancyrillic'] = 0x04BF;\n t['chedescendercyrillic'] = 0x04B7;\n t['chedieresiscyrillic'] = 0x04F5;\n t['cheharmenian'] = 0x0573;\n t['chekhakassiancyrillic'] = 0x04CC;\n t['cheverticalstrokecyrillic'] = 0x04B9;\n t['chi'] = 0x03C7;\n t['chieuchacirclekorean'] = 0x3277;\n t['chieuchaparenkorean'] = 0x3217;\n t['chieuchcirclekorean'] = 0x3269;\n t['chieuchkorean'] = 0x314A;\n t['chieuchparenkorean'] = 0x3209;\n t['chochangthai'] = 0x0E0A;\n t['chochanthai'] = 0x0E08;\n t['chochingthai'] = 0x0E09;\n t['chochoethai'] = 0x0E0C;\n t['chook'] = 0x0188;\n t['cieucacirclekorean'] = 0x3276;\n t['cieucaparenkorean'] = 0x3216;\n t['cieuccirclekorean'] = 0x3268;\n t['cieuckorean'] = 0x3148;\n t['cieucparenkorean'] = 0x3208;\n t['cieucuparenkorean'] = 0x321C;\n t['circle'] = 0x25CB;\n t['circlecopyrt'] = 0x00A9;\n t['circlemultiply'] = 0x2297;\n t['circleot'] = 0x2299;\n t['circleplus'] = 0x2295;\n t['circlepostalmark'] = 0x3036;\n t['circlewithlefthalfblack'] = 0x25D0;\n t['circlewithrighthalfblack'] = 0x25D1;\n t['circumflex'] = 0x02C6;\n t['circumflexbelowcmb'] = 0x032D;\n t['circumflexcmb'] = 0x0302;\n t['clear'] = 0x2327;\n t['clickalveolar'] = 0x01C2;\n t['clickdental'] = 0x01C0;\n t['clicklateral'] = 0x01C1;\n t['clickretroflex'] = 0x01C3;\n t['club'] = 0x2663;\n t['clubsuitblack'] = 0x2663;\n t['clubsuitwhite'] = 0x2667;\n t['cmcubedsquare'] = 0x33A4;\n t['cmonospace'] = 0xFF43;\n t['cmsquaredsquare'] = 0x33A0;\n t['coarmenian'] = 0x0581;\n t['colon'] = 0x003A;\n t['colonmonetary'] = 0x20A1;\n t['colonmonospace'] = 0xFF1A;\n t['colonsign'] = 0x20A1;\n t['colonsmall'] = 0xFE55;\n t['colontriangularhalfmod'] = 0x02D1;\n t['colontriangularmod'] = 0x02D0;\n t['comma'] = 0x002C;\n t['commaabovecmb'] = 0x0313;\n t['commaaboverightcmb'] = 0x0315;\n t['commaaccent'] = 0xF6C3;\n t['commaarabic'] = 0x060C;\n t['commaarmenian'] = 0x055D;\n t['commainferior'] = 0xF6E1;\n t['commamonospace'] = 0xFF0C;\n t['commareversedabovecmb'] = 0x0314;\n t['commareversedmod'] = 0x02BD;\n t['commasmall'] = 0xFE50;\n t['commasuperior'] = 0xF6E2;\n t['commaturnedabovecmb'] = 0x0312;\n t['commaturnedmod'] = 0x02BB;\n t['compass'] = 0x263C;\n t['congruent'] = 0x2245;\n t['contourintegral'] = 0x222E;\n t['control'] = 0x2303;\n t['controlACK'] = 0x0006;\n t['controlBEL'] = 0x0007;\n t['controlBS'] = 0x0008;\n t['controlCAN'] = 0x0018;\n t['controlCR'] = 0x000D;\n t['controlDC1'] = 0x0011;\n t['controlDC2'] = 0x0012;\n t['controlDC3'] = 0x0013;\n t['controlDC4'] = 0x0014;\n t['controlDEL'] = 0x007F;\n t['controlDLE'] = 0x0010;\n t['controlEM'] = 0x0019;\n t['controlENQ'] = 0x0005;\n t['controlEOT'] = 0x0004;\n t['controlESC'] = 0x001B;\n t['controlETB'] = 0x0017;\n t['controlETX'] = 0x0003;\n t['controlFF'] = 0x000C;\n t['controlFS'] = 0x001C;\n t['controlGS'] = 0x001D;\n t['controlHT'] = 0x0009;\n t['controlLF'] = 0x000A;\n t['controlNAK'] = 0x0015;\n t['controlNULL'] = 0x0000;\n t['controlRS'] = 0x001E;\n t['controlSI'] = 0x000F;\n t['controlSO'] = 0x000E;\n t['controlSOT'] = 0x0002;\n t['controlSTX'] = 0x0001;\n t['controlSUB'] = 0x001A;\n t['controlSYN'] = 0x0016;\n t['controlUS'] = 0x001F;\n t['controlVT'] = 0x000B;\n t['copyright'] = 0x00A9;\n t['copyrightsans'] = 0xF8E9;\n t['copyrightserif'] = 0xF6D9;\n t['cornerbracketleft'] = 0x300C;\n t['cornerbracketlefthalfwidth'] = 0xFF62;\n t['cornerbracketleftvertical'] = 0xFE41;\n t['cornerbracketright'] = 0x300D;\n t['cornerbracketrighthalfwidth'] = 0xFF63;\n t['cornerbracketrightvertical'] = 0xFE42;\n t['corporationsquare'] = 0x337F;\n t['cosquare'] = 0x33C7;\n t['coverkgsquare'] = 0x33C6;\n t['cparen'] = 0x249E;\n t['cruzeiro'] = 0x20A2;\n t['cstretched'] = 0x0297;\n t['curlyand'] = 0x22CF;\n t['curlyor'] = 0x22CE;\n t['currency'] = 0x00A4;\n t['cyrBreve'] = 0xF6D1;\n t['cyrFlex'] = 0xF6D2;\n t['cyrbreve'] = 0xF6D4;\n t['cyrflex'] = 0xF6D5;\n t['d'] = 0x0064;\n t['daarmenian'] = 0x0564;\n t['dabengali'] = 0x09A6;\n t['dadarabic'] = 0x0636;\n t['dadeva'] = 0x0926;\n t['dadfinalarabic'] = 0xFEBE;\n t['dadinitialarabic'] = 0xFEBF;\n t['dadmedialarabic'] = 0xFEC0;\n t['dagesh'] = 0x05BC;\n t['dageshhebrew'] = 0x05BC;\n t['dagger'] = 0x2020;\n t['daggerdbl'] = 0x2021;\n t['dagujarati'] = 0x0AA6;\n t['dagurmukhi'] = 0x0A26;\n t['dahiragana'] = 0x3060;\n t['dakatakana'] = 0x30C0;\n t['dalarabic'] = 0x062F;\n t['dalet'] = 0x05D3;\n t['daletdagesh'] = 0xFB33;\n t['daletdageshhebrew'] = 0xFB33;\n t['dalethebrew'] = 0x05D3;\n t['dalfinalarabic'] = 0xFEAA;\n t['dammaarabic'] = 0x064F;\n t['dammalowarabic'] = 0x064F;\n t['dammatanaltonearabic'] = 0x064C;\n t['dammatanarabic'] = 0x064C;\n t['danda'] = 0x0964;\n t['dargahebrew'] = 0x05A7;\n t['dargalefthebrew'] = 0x05A7;\n t['dasiapneumatacyrilliccmb'] = 0x0485;\n t['dblGrave'] = 0xF6D3;\n t['dblanglebracketleft'] = 0x300A;\n t['dblanglebracketleftvertical'] = 0xFE3D;\n t['dblanglebracketright'] = 0x300B;\n t['dblanglebracketrightvertical'] = 0xFE3E;\n t['dblarchinvertedbelowcmb'] = 0x032B;\n t['dblarrowleft'] = 0x21D4;\n t['dblarrowright'] = 0x21D2;\n t['dbldanda'] = 0x0965;\n t['dblgrave'] = 0xF6D6;\n t['dblgravecmb'] = 0x030F;\n t['dblintegral'] = 0x222C;\n t['dbllowline'] = 0x2017;\n t['dbllowlinecmb'] = 0x0333;\n t['dbloverlinecmb'] = 0x033F;\n t['dblprimemod'] = 0x02BA;\n t['dblverticalbar'] = 0x2016;\n t['dblverticallineabovecmb'] = 0x030E;\n t['dbopomofo'] = 0x3109;\n t['dbsquare'] = 0x33C8;\n t['dcaron'] = 0x010F;\n t['dcedilla'] = 0x1E11;\n t['dcircle'] = 0x24D3;\n t['dcircumflexbelow'] = 0x1E13;\n t['dcroat'] = 0x0111;\n t['ddabengali'] = 0x09A1;\n t['ddadeva'] = 0x0921;\n t['ddagujarati'] = 0x0AA1;\n t['ddagurmukhi'] = 0x0A21;\n t['ddalarabic'] = 0x0688;\n t['ddalfinalarabic'] = 0xFB89;\n t['dddhadeva'] = 0x095C;\n t['ddhabengali'] = 0x09A2;\n t['ddhadeva'] = 0x0922;\n t['ddhagujarati'] = 0x0AA2;\n t['ddhagurmukhi'] = 0x0A22;\n t['ddotaccent'] = 0x1E0B;\n t['ddotbelow'] = 0x1E0D;\n t['decimalseparatorarabic'] = 0x066B;\n t['decimalseparatorpersian'] = 0x066B;\n t['decyrillic'] = 0x0434;\n t['degree'] = 0x00B0;\n t['dehihebrew'] = 0x05AD;\n t['dehiragana'] = 0x3067;\n t['deicoptic'] = 0x03EF;\n t['dekatakana'] = 0x30C7;\n t['deleteleft'] = 0x232B;\n t['deleteright'] = 0x2326;\n t['delta'] = 0x03B4;\n t['deltaturned'] = 0x018D;\n t['denominatorminusonenumeratorbengali'] = 0x09F8;\n t['dezh'] = 0x02A4;\n t['dhabengali'] = 0x09A7;\n t['dhadeva'] = 0x0927;\n t['dhagujarati'] = 0x0AA7;\n t['dhagurmukhi'] = 0x0A27;\n t['dhook'] = 0x0257;\n t['dialytikatonos'] = 0x0385;\n t['dialytikatonoscmb'] = 0x0344;\n t['diamond'] = 0x2666;\n t['diamondsuitwhite'] = 0x2662;\n t['dieresis'] = 0x00A8;\n t['dieresisacute'] = 0xF6D7;\n t['dieresisbelowcmb'] = 0x0324;\n t['dieresiscmb'] = 0x0308;\n t['dieresisgrave'] = 0xF6D8;\n t['dieresistonos'] = 0x0385;\n t['dihiragana'] = 0x3062;\n t['dikatakana'] = 0x30C2;\n t['dittomark'] = 0x3003;\n t['divide'] = 0x00F7;\n t['divides'] = 0x2223;\n t['divisionslash'] = 0x2215;\n t['djecyrillic'] = 0x0452;\n t['dkshade'] = 0x2593;\n t['dlinebelow'] = 0x1E0F;\n t['dlsquare'] = 0x3397;\n t['dmacron'] = 0x0111;\n t['dmonospace'] = 0xFF44;\n t['dnblock'] = 0x2584;\n t['dochadathai'] = 0x0E0E;\n t['dodekthai'] = 0x0E14;\n t['dohiragana'] = 0x3069;\n t['dokatakana'] = 0x30C9;\n t['dollar'] = 0x0024;\n t['dollarinferior'] = 0xF6E3;\n t['dollarmonospace'] = 0xFF04;\n t['dollaroldstyle'] = 0xF724;\n t['dollarsmall'] = 0xFE69;\n t['dollarsuperior'] = 0xF6E4;\n t['dong'] = 0x20AB;\n t['dorusquare'] = 0x3326;\n t['dotaccent'] = 0x02D9;\n t['dotaccentcmb'] = 0x0307;\n t['dotbelowcmb'] = 0x0323;\n t['dotbelowcomb'] = 0x0323;\n t['dotkatakana'] = 0x30FB;\n t['dotlessi'] = 0x0131;\n t['dotlessj'] = 0xF6BE;\n t['dotlessjstrokehook'] = 0x0284;\n t['dotmath'] = 0x22C5;\n t['dottedcircle'] = 0x25CC;\n t['doubleyodpatah'] = 0xFB1F;\n t['doubleyodpatahhebrew'] = 0xFB1F;\n t['downtackbelowcmb'] = 0x031E;\n t['downtackmod'] = 0x02D5;\n t['dparen'] = 0x249F;\n t['dsuperior'] = 0xF6EB;\n t['dtail'] = 0x0256;\n t['dtopbar'] = 0x018C;\n t['duhiragana'] = 0x3065;\n t['dukatakana'] = 0x30C5;\n t['dz'] = 0x01F3;\n t['dzaltone'] = 0x02A3;\n t['dzcaron'] = 0x01C6;\n t['dzcurl'] = 0x02A5;\n t['dzeabkhasiancyrillic'] = 0x04E1;\n t['dzecyrillic'] = 0x0455;\n t['dzhecyrillic'] = 0x045F;\n t['e'] = 0x0065;\n t['eacute'] = 0x00E9;\n t['earth'] = 0x2641;\n t['ebengali'] = 0x098F;\n t['ebopomofo'] = 0x311C;\n t['ebreve'] = 0x0115;\n t['ecandradeva'] = 0x090D;\n t['ecandragujarati'] = 0x0A8D;\n t['ecandravowelsigndeva'] = 0x0945;\n t['ecandravowelsigngujarati'] = 0x0AC5;\n t['ecaron'] = 0x011B;\n t['ecedillabreve'] = 0x1E1D;\n t['echarmenian'] = 0x0565;\n t['echyiwnarmenian'] = 0x0587;\n t['ecircle'] = 0x24D4;\n t['ecircumflex'] = 0x00EA;\n t['ecircumflexacute'] = 0x1EBF;\n t['ecircumflexbelow'] = 0x1E19;\n t['ecircumflexdotbelow'] = 0x1EC7;\n t['ecircumflexgrave'] = 0x1EC1;\n t['ecircumflexhookabove'] = 0x1EC3;\n t['ecircumflextilde'] = 0x1EC5;\n t['ecyrillic'] = 0x0454;\n t['edblgrave'] = 0x0205;\n t['edeva'] = 0x090F;\n t['edieresis'] = 0x00EB;\n t['edot'] = 0x0117;\n t['edotaccent'] = 0x0117;\n t['edotbelow'] = 0x1EB9;\n t['eegurmukhi'] = 0x0A0F;\n t['eematragurmukhi'] = 0x0A47;\n t['efcyrillic'] = 0x0444;\n t['egrave'] = 0x00E8;\n t['egujarati'] = 0x0A8F;\n t['eharmenian'] = 0x0567;\n t['ehbopomofo'] = 0x311D;\n t['ehiragana'] = 0x3048;\n t['ehookabove'] = 0x1EBB;\n t['eibopomofo'] = 0x311F;\n t['eight'] = 0x0038;\n t['eightarabic'] = 0x0668;\n t['eightbengali'] = 0x09EE;\n t['eightcircle'] = 0x2467;\n t['eightcircleinversesansserif'] = 0x2791;\n t['eightdeva'] = 0x096E;\n t['eighteencircle'] = 0x2471;\n t['eighteenparen'] = 0x2485;\n t['eighteenperiod'] = 0x2499;\n t['eightgujarati'] = 0x0AEE;\n t['eightgurmukhi'] = 0x0A6E;\n t['eighthackarabic'] = 0x0668;\n t['eighthangzhou'] = 0x3028;\n t['eighthnotebeamed'] = 0x266B;\n t['eightideographicparen'] = 0x3227;\n t['eightinferior'] = 0x2088;\n t['eightmonospace'] = 0xFF18;\n t['eightoldstyle'] = 0xF738;\n t['eightparen'] = 0x247B;\n t['eightperiod'] = 0x248F;\n t['eightpersian'] = 0x06F8;\n t['eightroman'] = 0x2177;\n t['eightsuperior'] = 0x2078;\n t['eightthai'] = 0x0E58;\n t['einvertedbreve'] = 0x0207;\n t['eiotifiedcyrillic'] = 0x0465;\n t['ekatakana'] = 0x30A8;\n t['ekatakanahalfwidth'] = 0xFF74;\n t['ekonkargurmukhi'] = 0x0A74;\n t['ekorean'] = 0x3154;\n t['elcyrillic'] = 0x043B;\n t['element'] = 0x2208;\n t['elevencircle'] = 0x246A;\n t['elevenparen'] = 0x247E;\n t['elevenperiod'] = 0x2492;\n t['elevenroman'] = 0x217A;\n t['ellipsis'] = 0x2026;\n t['ellipsisvertical'] = 0x22EE;\n t['emacron'] = 0x0113;\n t['emacronacute'] = 0x1E17;\n t['emacrongrave'] = 0x1E15;\n t['emcyrillic'] = 0x043C;\n t['emdash'] = 0x2014;\n t['emdashvertical'] = 0xFE31;\n t['emonospace'] = 0xFF45;\n t['emphasismarkarmenian'] = 0x055B;\n t['emptyset'] = 0x2205;\n t['enbopomofo'] = 0x3123;\n t['encyrillic'] = 0x043D;\n t['endash'] = 0x2013;\n t['endashvertical'] = 0xFE32;\n t['endescendercyrillic'] = 0x04A3;\n t['eng'] = 0x014B;\n t['engbopomofo'] = 0x3125;\n t['enghecyrillic'] = 0x04A5;\n t['enhookcyrillic'] = 0x04C8;\n t['enspace'] = 0x2002;\n t['eogonek'] = 0x0119;\n t['eokorean'] = 0x3153;\n t['eopen'] = 0x025B;\n t['eopenclosed'] = 0x029A;\n t['eopenreversed'] = 0x025C;\n t['eopenreversedclosed'] = 0x025E;\n t['eopenreversedhook'] = 0x025D;\n t['eparen'] = 0x24A0;\n t['epsilon'] = 0x03B5;\n t['epsilontonos'] = 0x03AD;\n t['equal'] = 0x003D;\n t['equalmonospace'] = 0xFF1D;\n t['equalsmall'] = 0xFE66;\n t['equalsuperior'] = 0x207C;\n t['equivalence'] = 0x2261;\n t['erbopomofo'] = 0x3126;\n t['ercyrillic'] = 0x0440;\n t['ereversed'] = 0x0258;\n t['ereversedcyrillic'] = 0x044D;\n t['escyrillic'] = 0x0441;\n t['esdescendercyrillic'] = 0x04AB;\n t['esh'] = 0x0283;\n t['eshcurl'] = 0x0286;\n t['eshortdeva'] = 0x090E;\n t['eshortvowelsigndeva'] = 0x0946;\n t['eshreversedloop'] = 0x01AA;\n t['eshsquatreversed'] = 0x0285;\n t['esmallhiragana'] = 0x3047;\n t['esmallkatakana'] = 0x30A7;\n t['esmallkatakanahalfwidth'] = 0xFF6A;\n t['estimated'] = 0x212E;\n t['esuperior'] = 0xF6EC;\n t['eta'] = 0x03B7;\n t['etarmenian'] = 0x0568;\n t['etatonos'] = 0x03AE;\n t['eth'] = 0x00F0;\n t['etilde'] = 0x1EBD;\n t['etildebelow'] = 0x1E1B;\n t['etnahtafoukhhebrew'] = 0x0591;\n t['etnahtafoukhlefthebrew'] = 0x0591;\n t['etnahtahebrew'] = 0x0591;\n t['etnahtalefthebrew'] = 0x0591;\n t['eturned'] = 0x01DD;\n t['eukorean'] = 0x3161;\n t['euro'] = 0x20AC;\n t['evowelsignbengali'] = 0x09C7;\n t['evowelsigndeva'] = 0x0947;\n t['evowelsigngujarati'] = 0x0AC7;\n t['exclam'] = 0x0021;\n t['exclamarmenian'] = 0x055C;\n t['exclamdbl'] = 0x203C;\n t['exclamdown'] = 0x00A1;\n t['exclamdownsmall'] = 0xF7A1;\n t['exclammonospace'] = 0xFF01;\n t['exclamsmall'] = 0xF721;\n t['existential'] = 0x2203;\n t['ezh'] = 0x0292;\n t['ezhcaron'] = 0x01EF;\n t['ezhcurl'] = 0x0293;\n t['ezhreversed'] = 0x01B9;\n t['ezhtail'] = 0x01BA;\n t['f'] = 0x0066;\n t['fadeva'] = 0x095E;\n t['fagurmukhi'] = 0x0A5E;\n t['fahrenheit'] = 0x2109;\n t['fathaarabic'] = 0x064E;\n t['fathalowarabic'] = 0x064E;\n t['fathatanarabic'] = 0x064B;\n t['fbopomofo'] = 0x3108;\n t['fcircle'] = 0x24D5;\n t['fdotaccent'] = 0x1E1F;\n t['feharabic'] = 0x0641;\n t['feharmenian'] = 0x0586;\n t['fehfinalarabic'] = 0xFED2;\n t['fehinitialarabic'] = 0xFED3;\n t['fehmedialarabic'] = 0xFED4;\n t['feicoptic'] = 0x03E5;\n t['female'] = 0x2640;\n t['ff'] = 0xFB00;\n t['ffi'] = 0xFB03;\n t['ffl'] = 0xFB04;\n t['fi'] = 0xFB01;\n t['fifteencircle'] = 0x246E;\n t['fifteenparen'] = 0x2482;\n t['fifteenperiod'] = 0x2496;\n t['figuredash'] = 0x2012;\n t['filledbox'] = 0x25A0;\n t['filledrect'] = 0x25AC;\n t['finalkaf'] = 0x05DA;\n t['finalkafdagesh'] = 0xFB3A;\n t['finalkafdageshhebrew'] = 0xFB3A;\n t['finalkafhebrew'] = 0x05DA;\n t['finalmem'] = 0x05DD;\n t['finalmemhebrew'] = 0x05DD;\n t['finalnun'] = 0x05DF;\n t['finalnunhebrew'] = 0x05DF;\n t['finalpe'] = 0x05E3;\n t['finalpehebrew'] = 0x05E3;\n t['finaltsadi'] = 0x05E5;\n t['finaltsadihebrew'] = 0x05E5;\n t['firsttonechinese'] = 0x02C9;\n t['fisheye'] = 0x25C9;\n t['fitacyrillic'] = 0x0473;\n t['five'] = 0x0035;\n t['fivearabic'] = 0x0665;\n t['fivebengali'] = 0x09EB;\n t['fivecircle'] = 0x2464;\n t['fivecircleinversesansserif'] = 0x278E;\n t['fivedeva'] = 0x096B;\n t['fiveeighths'] = 0x215D;\n t['fivegujarati'] = 0x0AEB;\n t['fivegurmukhi'] = 0x0A6B;\n t['fivehackarabic'] = 0x0665;\n t['fivehangzhou'] = 0x3025;\n t['fiveideographicparen'] = 0x3224;\n t['fiveinferior'] = 0x2085;\n t['fivemonospace'] = 0xFF15;\n t['fiveoldstyle'] = 0xF735;\n t['fiveparen'] = 0x2478;\n t['fiveperiod'] = 0x248C;\n t['fivepersian'] = 0x06F5;\n t['fiveroman'] = 0x2174;\n t['fivesuperior'] = 0x2075;\n t['fivethai'] = 0x0E55;\n t['fl'] = 0xFB02;\n t['florin'] = 0x0192;\n t['fmonospace'] = 0xFF46;\n t['fmsquare'] = 0x3399;\n t['fofanthai'] = 0x0E1F;\n t['fofathai'] = 0x0E1D;\n t['fongmanthai'] = 0x0E4F;\n t['forall'] = 0x2200;\n t['four'] = 0x0034;\n t['fourarabic'] = 0x0664;\n t['fourbengali'] = 0x09EA;\n t['fourcircle'] = 0x2463;\n t['fourcircleinversesansserif'] = 0x278D;\n t['fourdeva'] = 0x096A;\n t['fourgujarati'] = 0x0AEA;\n t['fourgurmukhi'] = 0x0A6A;\n t['fourhackarabic'] = 0x0664;\n t['fourhangzhou'] = 0x3024;\n t['fourideographicparen'] = 0x3223;\n t['fourinferior'] = 0x2084;\n t['fourmonospace'] = 0xFF14;\n t['fournumeratorbengali'] = 0x09F7;\n t['fouroldstyle'] = 0xF734;\n t['fourparen'] = 0x2477;\n t['fourperiod'] = 0x248B;\n t['fourpersian'] = 0x06F4;\n t['fourroman'] = 0x2173;\n t['foursuperior'] = 0x2074;\n t['fourteencircle'] = 0x246D;\n t['fourteenparen'] = 0x2481;\n t['fourteenperiod'] = 0x2495;\n t['fourthai'] = 0x0E54;\n t['fourthtonechinese'] = 0x02CB;\n t['fparen'] = 0x24A1;\n t['fraction'] = 0x2044;\n t['franc'] = 0x20A3;\n t['g'] = 0x0067;\n t['gabengali'] = 0x0997;\n t['gacute'] = 0x01F5;\n t['gadeva'] = 0x0917;\n t['gafarabic'] = 0x06AF;\n t['gaffinalarabic'] = 0xFB93;\n t['gafinitialarabic'] = 0xFB94;\n t['gafmedialarabic'] = 0xFB95;\n t['gagujarati'] = 0x0A97;\n t['gagurmukhi'] = 0x0A17;\n t['gahiragana'] = 0x304C;\n t['gakatakana'] = 0x30AC;\n t['gamma'] = 0x03B3;\n t['gammalatinsmall'] = 0x0263;\n t['gammasuperior'] = 0x02E0;\n t['gangiacoptic'] = 0x03EB;\n t['gbopomofo'] = 0x310D;\n t['gbreve'] = 0x011F;\n t['gcaron'] = 0x01E7;\n t['gcedilla'] = 0x0123;\n t['gcircle'] = 0x24D6;\n t['gcircumflex'] = 0x011D;\n t['gcommaaccent'] = 0x0123;\n t['gdot'] = 0x0121;\n t['gdotaccent'] = 0x0121;\n t['gecyrillic'] = 0x0433;\n t['gehiragana'] = 0x3052;\n t['gekatakana'] = 0x30B2;\n t['geometricallyequal'] = 0x2251;\n t['gereshaccenthebrew'] = 0x059C;\n t['gereshhebrew'] = 0x05F3;\n t['gereshmuqdamhebrew'] = 0x059D;\n t['germandbls'] = 0x00DF;\n t['gershayimaccenthebrew'] = 0x059E;\n t['gershayimhebrew'] = 0x05F4;\n t['getamark'] = 0x3013;\n t['ghabengali'] = 0x0998;\n t['ghadarmenian'] = 0x0572;\n t['ghadeva'] = 0x0918;\n t['ghagujarati'] = 0x0A98;\n t['ghagurmukhi'] = 0x0A18;\n t['ghainarabic'] = 0x063A;\n t['ghainfinalarabic'] = 0xFECE;\n t['ghaininitialarabic'] = 0xFECF;\n t['ghainmedialarabic'] = 0xFED0;\n t['ghemiddlehookcyrillic'] = 0x0495;\n t['ghestrokecyrillic'] = 0x0493;\n t['gheupturncyrillic'] = 0x0491;\n t['ghhadeva'] = 0x095A;\n t['ghhagurmukhi'] = 0x0A5A;\n t['ghook'] = 0x0260;\n t['ghzsquare'] = 0x3393;\n t['gihiragana'] = 0x304E;\n t['gikatakana'] = 0x30AE;\n t['gimarmenian'] = 0x0563;\n t['gimel'] = 0x05D2;\n t['gimeldagesh'] = 0xFB32;\n t['gimeldageshhebrew'] = 0xFB32;\n t['gimelhebrew'] = 0x05D2;\n t['gjecyrillic'] = 0x0453;\n t['glottalinvertedstroke'] = 0x01BE;\n t['glottalstop'] = 0x0294;\n t['glottalstopinverted'] = 0x0296;\n t['glottalstopmod'] = 0x02C0;\n t['glottalstopreversed'] = 0x0295;\n t['glottalstopreversedmod'] = 0x02C1;\n t['glottalstopreversedsuperior'] = 0x02E4;\n t['glottalstopstroke'] = 0x02A1;\n t['glottalstopstrokereversed'] = 0x02A2;\n t['gmacron'] = 0x1E21;\n t['gmonospace'] = 0xFF47;\n t['gohiragana'] = 0x3054;\n t['gokatakana'] = 0x30B4;\n t['gparen'] = 0x24A2;\n t['gpasquare'] = 0x33AC;\n t['gradient'] = 0x2207;\n t['grave'] = 0x0060;\n t['gravebelowcmb'] = 0x0316;\n t['gravecmb'] = 0x0300;\n t['gravecomb'] = 0x0300;\n t['gravedeva'] = 0x0953;\n t['gravelowmod'] = 0x02CE;\n t['gravemonospace'] = 0xFF40;\n t['gravetonecmb'] = 0x0340;\n t['greater'] = 0x003E;\n t['greaterequal'] = 0x2265;\n t['greaterequalorless'] = 0x22DB;\n t['greatermonospace'] = 0xFF1E;\n t['greaterorequivalent'] = 0x2273;\n t['greaterorless'] = 0x2277;\n t['greateroverequal'] = 0x2267;\n t['greatersmall'] = 0xFE65;\n t['gscript'] = 0x0261;\n t['gstroke'] = 0x01E5;\n t['guhiragana'] = 0x3050;\n t['guillemotleft'] = 0x00AB;\n t['guillemotright'] = 0x00BB;\n t['guilsinglleft'] = 0x2039;\n t['guilsinglright'] = 0x203A;\n t['gukatakana'] = 0x30B0;\n t['guramusquare'] = 0x3318;\n t['gysquare'] = 0x33C9;\n t['h'] = 0x0068;\n t['haabkhasiancyrillic'] = 0x04A9;\n t['haaltonearabic'] = 0x06C1;\n t['habengali'] = 0x09B9;\n t['hadescendercyrillic'] = 0x04B3;\n t['hadeva'] = 0x0939;\n t['hagujarati'] = 0x0AB9;\n t['hagurmukhi'] = 0x0A39;\n t['haharabic'] = 0x062D;\n t['hahfinalarabic'] = 0xFEA2;\n t['hahinitialarabic'] = 0xFEA3;\n t['hahiragana'] = 0x306F;\n t['hahmedialarabic'] = 0xFEA4;\n t['haitusquare'] = 0x332A;\n t['hakatakana'] = 0x30CF;\n t['hakatakanahalfwidth'] = 0xFF8A;\n t['halantgurmukhi'] = 0x0A4D;\n t['hamzaarabic'] = 0x0621;\n t['hamzalowarabic'] = 0x0621;\n t['hangulfiller'] = 0x3164;\n t['hardsigncyrillic'] = 0x044A;\n t['harpoonleftbarbup'] = 0x21BC;\n t['harpoonrightbarbup'] = 0x21C0;\n t['hasquare'] = 0x33CA;\n t['hatafpatah'] = 0x05B2;\n t['hatafpatah16'] = 0x05B2;\n t['hatafpatah23'] = 0x05B2;\n t['hatafpatah2f'] = 0x05B2;\n t['hatafpatahhebrew'] = 0x05B2;\n t['hatafpatahnarrowhebrew'] = 0x05B2;\n t['hatafpatahquarterhebrew'] = 0x05B2;\n t['hatafpatahwidehebrew'] = 0x05B2;\n t['hatafqamats'] = 0x05B3;\n t['hatafqamats1b'] = 0x05B3;\n t['hatafqamats28'] = 0x05B3;\n t['hatafqamats34'] = 0x05B3;\n t['hatafqamatshebrew'] = 0x05B3;\n t['hatafqamatsnarrowhebrew'] = 0x05B3;\n t['hatafqamatsquarterhebrew'] = 0x05B3;\n t['hatafqamatswidehebrew'] = 0x05B3;\n t['hatafsegol'] = 0x05B1;\n t['hatafsegol17'] = 0x05B1;\n t['hatafsegol24'] = 0x05B1;\n t['hatafsegol30'] = 0x05B1;\n t['hatafsegolhebrew'] = 0x05B1;\n t['hatafsegolnarrowhebrew'] = 0x05B1;\n t['hatafsegolquarterhebrew'] = 0x05B1;\n t['hatafsegolwidehebrew'] = 0x05B1;\n t['hbar'] = 0x0127;\n t['hbopomofo'] = 0x310F;\n t['hbrevebelow'] = 0x1E2B;\n t['hcedilla'] = 0x1E29;\n t['hcircle'] = 0x24D7;\n t['hcircumflex'] = 0x0125;\n t['hdieresis'] = 0x1E27;\n t['hdotaccent'] = 0x1E23;\n t['hdotbelow'] = 0x1E25;\n t['he'] = 0x05D4;\n t['heart'] = 0x2665;\n t['heartsuitblack'] = 0x2665;\n t['heartsuitwhite'] = 0x2661;\n t['hedagesh'] = 0xFB34;\n t['hedageshhebrew'] = 0xFB34;\n t['hehaltonearabic'] = 0x06C1;\n t['heharabic'] = 0x0647;\n t['hehebrew'] = 0x05D4;\n t['hehfinalaltonearabic'] = 0xFBA7;\n t['hehfinalalttwoarabic'] = 0xFEEA;\n t['hehfinalarabic'] = 0xFEEA;\n t['hehhamzaabovefinalarabic'] = 0xFBA5;\n t['hehhamzaaboveisolatedarabic'] = 0xFBA4;\n t['hehinitialaltonearabic'] = 0xFBA8;\n t['hehinitialarabic'] = 0xFEEB;\n t['hehiragana'] = 0x3078;\n t['hehmedialaltonearabic'] = 0xFBA9;\n t['hehmedialarabic'] = 0xFEEC;\n t['heiseierasquare'] = 0x337B;\n t['hekatakana'] = 0x30D8;\n t['hekatakanahalfwidth'] = 0xFF8D;\n t['hekutaarusquare'] = 0x3336;\n t['henghook'] = 0x0267;\n t['herutusquare'] = 0x3339;\n t['het'] = 0x05D7;\n t['hethebrew'] = 0x05D7;\n t['hhook'] = 0x0266;\n t['hhooksuperior'] = 0x02B1;\n t['hieuhacirclekorean'] = 0x327B;\n t['hieuhaparenkorean'] = 0x321B;\n t['hieuhcirclekorean'] = 0x326D;\n t['hieuhkorean'] = 0x314E;\n t['hieuhparenkorean'] = 0x320D;\n t['hihiragana'] = 0x3072;\n t['hikatakana'] = 0x30D2;\n t['hikatakanahalfwidth'] = 0xFF8B;\n t['hiriq'] = 0x05B4;\n t['hiriq14'] = 0x05B4;\n t['hiriq21'] = 0x05B4;\n t['hiriq2d'] = 0x05B4;\n t['hiriqhebrew'] = 0x05B4;\n t['hiriqnarrowhebrew'] = 0x05B4;\n t['hiriqquarterhebrew'] = 0x05B4;\n t['hiriqwidehebrew'] = 0x05B4;\n t['hlinebelow'] = 0x1E96;\n t['hmonospace'] = 0xFF48;\n t['hoarmenian'] = 0x0570;\n t['hohipthai'] = 0x0E2B;\n t['hohiragana'] = 0x307B;\n t['hokatakana'] = 0x30DB;\n t['hokatakanahalfwidth'] = 0xFF8E;\n t['holam'] = 0x05B9;\n t['holam19'] = 0x05B9;\n t['holam26'] = 0x05B9;\n t['holam32'] = 0x05B9;\n t['holamhebrew'] = 0x05B9;\n t['holamnarrowhebrew'] = 0x05B9;\n t['holamquarterhebrew'] = 0x05B9;\n t['holamwidehebrew'] = 0x05B9;\n t['honokhukthai'] = 0x0E2E;\n t['hookabovecomb'] = 0x0309;\n t['hookcmb'] = 0x0309;\n t['hookpalatalizedbelowcmb'] = 0x0321;\n t['hookretroflexbelowcmb'] = 0x0322;\n t['hoonsquare'] = 0x3342;\n t['horicoptic'] = 0x03E9;\n t['horizontalbar'] = 0x2015;\n t['horncmb'] = 0x031B;\n t['hotsprings'] = 0x2668;\n t['house'] = 0x2302;\n t['hparen'] = 0x24A3;\n t['hsuperior'] = 0x02B0;\n t['hturned'] = 0x0265;\n t['huhiragana'] = 0x3075;\n t['huiitosquare'] = 0x3333;\n t['hukatakana'] = 0x30D5;\n t['hukatakanahalfwidth'] = 0xFF8C;\n t['hungarumlaut'] = 0x02DD;\n t['hungarumlautcmb'] = 0x030B;\n t['hv'] = 0x0195;\n t['hyphen'] = 0x002D;\n t['hypheninferior'] = 0xF6E5;\n t['hyphenmonospace'] = 0xFF0D;\n t['hyphensmall'] = 0xFE63;\n t['hyphensuperior'] = 0xF6E6;\n t['hyphentwo'] = 0x2010;\n t['i'] = 0x0069;\n t['iacute'] = 0x00ED;\n t['iacyrillic'] = 0x044F;\n t['ibengali'] = 0x0987;\n t['ibopomofo'] = 0x3127;\n t['ibreve'] = 0x012D;\n t['icaron'] = 0x01D0;\n t['icircle'] = 0x24D8;\n t['icircumflex'] = 0x00EE;\n t['icyrillic'] = 0x0456;\n t['idblgrave'] = 0x0209;\n t['ideographearthcircle'] = 0x328F;\n t['ideographfirecircle'] = 0x328B;\n t['ideographicallianceparen'] = 0x323F;\n t['ideographiccallparen'] = 0x323A;\n t['ideographiccentrecircle'] = 0x32A5;\n t['ideographicclose'] = 0x3006;\n t['ideographiccomma'] = 0x3001;\n t['ideographiccommaleft'] = 0xFF64;\n t['ideographiccongratulationparen'] = 0x3237;\n t['ideographiccorrectcircle'] = 0x32A3;\n t['ideographicearthparen'] = 0x322F;\n t['ideographicenterpriseparen'] = 0x323D;\n t['ideographicexcellentcircle'] = 0x329D;\n t['ideographicfestivalparen'] = 0x3240;\n t['ideographicfinancialcircle'] = 0x3296;\n t['ideographicfinancialparen'] = 0x3236;\n t['ideographicfireparen'] = 0x322B;\n t['ideographichaveparen'] = 0x3232;\n t['ideographichighcircle'] = 0x32A4;\n t['ideographiciterationmark'] = 0x3005;\n t['ideographiclaborcircle'] = 0x3298;\n t['ideographiclaborparen'] = 0x3238;\n t['ideographicleftcircle'] = 0x32A7;\n t['ideographiclowcircle'] = 0x32A6;\n t['ideographicmedicinecircle'] = 0x32A9;\n t['ideographicmetalparen'] = 0x322E;\n t['ideographicmoonparen'] = 0x322A;\n t['ideographicnameparen'] = 0x3234;\n t['ideographicperiod'] = 0x3002;\n t['ideographicprintcircle'] = 0x329E;\n t['ideographicreachparen'] = 0x3243;\n t['ideographicrepresentparen'] = 0x3239;\n t['ideographicresourceparen'] = 0x323E;\n t['ideographicrightcircle'] = 0x32A8;\n t['ideographicsecretcircle'] = 0x3299;\n t['ideographicselfparen'] = 0x3242;\n t['ideographicsocietyparen'] = 0x3233;\n t['ideographicspace'] = 0x3000;\n t['ideographicspecialparen'] = 0x3235;\n t['ideographicstockparen'] = 0x3231;\n t['ideographicstudyparen'] = 0x323B;\n t['ideographicsunparen'] = 0x3230;\n t['ideographicsuperviseparen'] = 0x323C;\n t['ideographicwaterparen'] = 0x322C;\n t['ideographicwoodparen'] = 0x322D;\n t['ideographiczero'] = 0x3007;\n t['ideographmetalcircle'] = 0x328E;\n t['ideographmooncircle'] = 0x328A;\n t['ideographnamecircle'] = 0x3294;\n t['ideographsuncircle'] = 0x3290;\n t['ideographwatercircle'] = 0x328C;\n t['ideographwoodcircle'] = 0x328D;\n t['ideva'] = 0x0907;\n t['idieresis'] = 0x00EF;\n t['idieresisacute'] = 0x1E2F;\n t['idieresiscyrillic'] = 0x04E5;\n t['idotbelow'] = 0x1ECB;\n t['iebrevecyrillic'] = 0x04D7;\n t['iecyrillic'] = 0x0435;\n t['ieungacirclekorean'] = 0x3275;\n t['ieungaparenkorean'] = 0x3215;\n t['ieungcirclekorean'] = 0x3267;\n t['ieungkorean'] = 0x3147;\n t['ieungparenkorean'] = 0x3207;\n t['igrave'] = 0x00EC;\n t['igujarati'] = 0x0A87;\n t['igurmukhi'] = 0x0A07;\n t['ihiragana'] = 0x3044;\n t['ihookabove'] = 0x1EC9;\n t['iibengali'] = 0x0988;\n t['iicyrillic'] = 0x0438;\n t['iideva'] = 0x0908;\n t['iigujarati'] = 0x0A88;\n t['iigurmukhi'] = 0x0A08;\n t['iimatragurmukhi'] = 0x0A40;\n t['iinvertedbreve'] = 0x020B;\n t['iishortcyrillic'] = 0x0439;\n t['iivowelsignbengali'] = 0x09C0;\n t['iivowelsigndeva'] = 0x0940;\n t['iivowelsigngujarati'] = 0x0AC0;\n t['ij'] = 0x0133;\n t['ikatakana'] = 0x30A4;\n t['ikatakanahalfwidth'] = 0xFF72;\n t['ikorean'] = 0x3163;\n t['ilde'] = 0x02DC;\n t['iluyhebrew'] = 0x05AC;\n t['imacron'] = 0x012B;\n t['imacroncyrillic'] = 0x04E3;\n t['imageorapproximatelyequal'] = 0x2253;\n t['imatragurmukhi'] = 0x0A3F;\n t['imonospace'] = 0xFF49;\n t['increment'] = 0x2206;\n t['infinity'] = 0x221E;\n t['iniarmenian'] = 0x056B;\n t['integral'] = 0x222B;\n t['integralbottom'] = 0x2321;\n t['integralbt'] = 0x2321;\n t['integralex'] = 0xF8F5;\n t['integraltop'] = 0x2320;\n t['integraltp'] = 0x2320;\n t['intersection'] = 0x2229;\n t['intisquare'] = 0x3305;\n t['invbullet'] = 0x25D8;\n t['invcircle'] = 0x25D9;\n t['invsmileface'] = 0x263B;\n t['iocyrillic'] = 0x0451;\n t['iogonek'] = 0x012F;\n t['iota'] = 0x03B9;\n t['iotadieresis'] = 0x03CA;\n t['iotadieresistonos'] = 0x0390;\n t['iotalatin'] = 0x0269;\n t['iotatonos'] = 0x03AF;\n t['iparen'] = 0x24A4;\n t['irigurmukhi'] = 0x0A72;\n t['ismallhiragana'] = 0x3043;\n t['ismallkatakana'] = 0x30A3;\n t['ismallkatakanahalfwidth'] = 0xFF68;\n t['issharbengali'] = 0x09FA;\n t['istroke'] = 0x0268;\n t['isuperior'] = 0xF6ED;\n t['iterationhiragana'] = 0x309D;\n t['iterationkatakana'] = 0x30FD;\n t['itilde'] = 0x0129;\n t['itildebelow'] = 0x1E2D;\n t['iubopomofo'] = 0x3129;\n t['iucyrillic'] = 0x044E;\n t['ivowelsignbengali'] = 0x09BF;\n t['ivowelsigndeva'] = 0x093F;\n t['ivowelsigngujarati'] = 0x0ABF;\n t['izhitsacyrillic'] = 0x0475;\n t['izhitsadblgravecyrillic'] = 0x0477;\n t['j'] = 0x006A;\n t['jaarmenian'] = 0x0571;\n t['jabengali'] = 0x099C;\n t['jadeva'] = 0x091C;\n t['jagujarati'] = 0x0A9C;\n t['jagurmukhi'] = 0x0A1C;\n t['jbopomofo'] = 0x3110;\n t['jcaron'] = 0x01F0;\n t['jcircle'] = 0x24D9;\n t['jcircumflex'] = 0x0135;\n t['jcrossedtail'] = 0x029D;\n t['jdotlessstroke'] = 0x025F;\n t['jecyrillic'] = 0x0458;\n t['jeemarabic'] = 0x062C;\n t['jeemfinalarabic'] = 0xFE9E;\n t['jeeminitialarabic'] = 0xFE9F;\n t['jeemmedialarabic'] = 0xFEA0;\n t['jeharabic'] = 0x0698;\n t['jehfinalarabic'] = 0xFB8B;\n t['jhabengali'] = 0x099D;\n t['jhadeva'] = 0x091D;\n t['jhagujarati'] = 0x0A9D;\n t['jhagurmukhi'] = 0x0A1D;\n t['jheharmenian'] = 0x057B;\n t['jis'] = 0x3004;\n t['jmonospace'] = 0xFF4A;\n t['jparen'] = 0x24A5;\n t['jsuperior'] = 0x02B2;\n t['k'] = 0x006B;\n t['kabashkircyrillic'] = 0x04A1;\n t['kabengali'] = 0x0995;\n t['kacute'] = 0x1E31;\n t['kacyrillic'] = 0x043A;\n t['kadescendercyrillic'] = 0x049B;\n t['kadeva'] = 0x0915;\n t['kaf'] = 0x05DB;\n t['kafarabic'] = 0x0643;\n t['kafdagesh'] = 0xFB3B;\n t['kafdageshhebrew'] = 0xFB3B;\n t['kaffinalarabic'] = 0xFEDA;\n t['kafhebrew'] = 0x05DB;\n t['kafinitialarabic'] = 0xFEDB;\n t['kafmedialarabic'] = 0xFEDC;\n t['kafrafehebrew'] = 0xFB4D;\n t['kagujarati'] = 0x0A95;\n t['kagurmukhi'] = 0x0A15;\n t['kahiragana'] = 0x304B;\n t['kahookcyrillic'] = 0x04C4;\n t['kakatakana'] = 0x30AB;\n t['kakatakanahalfwidth'] = 0xFF76;\n t['kappa'] = 0x03BA;\n t['kappasymbolgreek'] = 0x03F0;\n t['kapyeounmieumkorean'] = 0x3171;\n t['kapyeounphieuphkorean'] = 0x3184;\n t['kapyeounpieupkorean'] = 0x3178;\n t['kapyeounssangpieupkorean'] = 0x3179;\n t['karoriisquare'] = 0x330D;\n t['kashidaautoarabic'] = 0x0640;\n t['kashidaautonosidebearingarabic'] = 0x0640;\n t['kasmallkatakana'] = 0x30F5;\n t['kasquare'] = 0x3384;\n t['kasraarabic'] = 0x0650;\n t['kasratanarabic'] = 0x064D;\n t['kastrokecyrillic'] = 0x049F;\n t['katahiraprolongmarkhalfwidth'] = 0xFF70;\n t['kaverticalstrokecyrillic'] = 0x049D;\n t['kbopomofo'] = 0x310E;\n t['kcalsquare'] = 0x3389;\n t['kcaron'] = 0x01E9;\n t['kcedilla'] = 0x0137;\n t['kcircle'] = 0x24DA;\n t['kcommaaccent'] = 0x0137;\n t['kdotbelow'] = 0x1E33;\n t['keharmenian'] = 0x0584;\n t['kehiragana'] = 0x3051;\n t['kekatakana'] = 0x30B1;\n t['kekatakanahalfwidth'] = 0xFF79;\n t['kenarmenian'] = 0x056F;\n t['kesmallkatakana'] = 0x30F6;\n t['kgreenlandic'] = 0x0138;\n t['khabengali'] = 0x0996;\n t['khacyrillic'] = 0x0445;\n t['khadeva'] = 0x0916;\n t['khagujarati'] = 0x0A96;\n t['khagurmukhi'] = 0x0A16;\n t['khaharabic'] = 0x062E;\n t['khahfinalarabic'] = 0xFEA6;\n t['khahinitialarabic'] = 0xFEA7;\n t['khahmedialarabic'] = 0xFEA8;\n t['kheicoptic'] = 0x03E7;\n t['khhadeva'] = 0x0959;\n t['khhagurmukhi'] = 0x0A59;\n t['khieukhacirclekorean'] = 0x3278;\n t['khieukhaparenkorean'] = 0x3218;\n t['khieukhcirclekorean'] = 0x326A;\n t['khieukhkorean'] = 0x314B;\n t['khieukhparenkorean'] = 0x320A;\n t['khokhaithai'] = 0x0E02;\n t['khokhonthai'] = 0x0E05;\n t['khokhuatthai'] = 0x0E03;\n t['khokhwaithai'] = 0x0E04;\n t['khomutthai'] = 0x0E5B;\n t['khook'] = 0x0199;\n t['khorakhangthai'] = 0x0E06;\n t['khzsquare'] = 0x3391;\n t['kihiragana'] = 0x304D;\n t['kikatakana'] = 0x30AD;\n t['kikatakanahalfwidth'] = 0xFF77;\n t['kiroguramusquare'] = 0x3315;\n t['kiromeetorusquare'] = 0x3316;\n t['kirosquare'] = 0x3314;\n t['kiyeokacirclekorean'] = 0x326E;\n t['kiyeokaparenkorean'] = 0x320E;\n t['kiyeokcirclekorean'] = 0x3260;\n t['kiyeokkorean'] = 0x3131;\n t['kiyeokparenkorean'] = 0x3200;\n t['kiyeoksioskorean'] = 0x3133;\n t['kjecyrillic'] = 0x045C;\n t['klinebelow'] = 0x1E35;\n t['klsquare'] = 0x3398;\n t['kmcubedsquare'] = 0x33A6;\n t['kmonospace'] = 0xFF4B;\n t['kmsquaredsquare'] = 0x33A2;\n t['kohiragana'] = 0x3053;\n t['kohmsquare'] = 0x33C0;\n t['kokaithai'] = 0x0E01;\n t['kokatakana'] = 0x30B3;\n t['kokatakanahalfwidth'] = 0xFF7A;\n t['kooposquare'] = 0x331E;\n t['koppacyrillic'] = 0x0481;\n t['koreanstandardsymbol'] = 0x327F;\n t['koroniscmb'] = 0x0343;\n t['kparen'] = 0x24A6;\n t['kpasquare'] = 0x33AA;\n t['ksicyrillic'] = 0x046F;\n t['ktsquare'] = 0x33CF;\n t['kturned'] = 0x029E;\n t['kuhiragana'] = 0x304F;\n t['kukatakana'] = 0x30AF;\n t['kukatakanahalfwidth'] = 0xFF78;\n t['kvsquare'] = 0x33B8;\n t['kwsquare'] = 0x33BE;\n t['l'] = 0x006C;\n t['labengali'] = 0x09B2;\n t['lacute'] = 0x013A;\n t['ladeva'] = 0x0932;\n t['lagujarati'] = 0x0AB2;\n t['lagurmukhi'] = 0x0A32;\n t['lakkhangyaothai'] = 0x0E45;\n t['lamaleffinalarabic'] = 0xFEFC;\n t['lamalefhamzaabovefinalarabic'] = 0xFEF8;\n t['lamalefhamzaaboveisolatedarabic'] = 0xFEF7;\n t['lamalefhamzabelowfinalarabic'] = 0xFEFA;\n t['lamalefhamzabelowisolatedarabic'] = 0xFEF9;\n t['lamalefisolatedarabic'] = 0xFEFB;\n t['lamalefmaddaabovefinalarabic'] = 0xFEF6;\n t['lamalefmaddaaboveisolatedarabic'] = 0xFEF5;\n t['lamarabic'] = 0x0644;\n t['lambda'] = 0x03BB;\n t['lambdastroke'] = 0x019B;\n t['lamed'] = 0x05DC;\n t['lameddagesh'] = 0xFB3C;\n t['lameddageshhebrew'] = 0xFB3C;\n t['lamedhebrew'] = 0x05DC;\n t['lamfinalarabic'] = 0xFEDE;\n t['lamhahinitialarabic'] = 0xFCCA;\n t['laminitialarabic'] = 0xFEDF;\n t['lamjeeminitialarabic'] = 0xFCC9;\n t['lamkhahinitialarabic'] = 0xFCCB;\n t['lamlamhehisolatedarabic'] = 0xFDF2;\n t['lammedialarabic'] = 0xFEE0;\n t['lammeemhahinitialarabic'] = 0xFD88;\n t['lammeeminitialarabic'] = 0xFCCC;\n t['largecircle'] = 0x25EF;\n t['lbar'] = 0x019A;\n t['lbelt'] = 0x026C;\n t['lbopomofo'] = 0x310C;\n t['lcaron'] = 0x013E;\n t['lcedilla'] = 0x013C;\n t['lcircle'] = 0x24DB;\n t['lcircumflexbelow'] = 0x1E3D;\n t['lcommaaccent'] = 0x013C;\n t['ldot'] = 0x0140;\n t['ldotaccent'] = 0x0140;\n t['ldotbelow'] = 0x1E37;\n t['ldotbelowmacron'] = 0x1E39;\n t['leftangleabovecmb'] = 0x031A;\n t['lefttackbelowcmb'] = 0x0318;\n t['less'] = 0x003C;\n t['lessequal'] = 0x2264;\n t['lessequalorgreater'] = 0x22DA;\n t['lessmonospace'] = 0xFF1C;\n t['lessorequivalent'] = 0x2272;\n t['lessorgreater'] = 0x2276;\n t['lessoverequal'] = 0x2266;\n t['lesssmall'] = 0xFE64;\n t['lezh'] = 0x026E;\n t['lfblock'] = 0x258C;\n t['lhookretroflex'] = 0x026D;\n t['lira'] = 0x20A4;\n t['liwnarmenian'] = 0x056C;\n t['lj'] = 0x01C9;\n t['ljecyrillic'] = 0x0459;\n t['ll'] = 0xF6C0;\n t['lladeva'] = 0x0933;\n t['llagujarati'] = 0x0AB3;\n t['llinebelow'] = 0x1E3B;\n t['llladeva'] = 0x0934;\n t['llvocalicbengali'] = 0x09E1;\n t['llvocalicdeva'] = 0x0961;\n t['llvocalicvowelsignbengali'] = 0x09E3;\n t['llvocalicvowelsigndeva'] = 0x0963;\n t['lmiddletilde'] = 0x026B;\n t['lmonospace'] = 0xFF4C;\n t['lmsquare'] = 0x33D0;\n t['lochulathai'] = 0x0E2C;\n t['logicaland'] = 0x2227;\n t['logicalnot'] = 0x00AC;\n t['logicalnotreversed'] = 0x2310;\n t['logicalor'] = 0x2228;\n t['lolingthai'] = 0x0E25;\n t['longs'] = 0x017F;\n t['lowlinecenterline'] = 0xFE4E;\n t['lowlinecmb'] = 0x0332;\n t['lowlinedashed'] = 0xFE4D;\n t['lozenge'] = 0x25CA;\n t['lparen'] = 0x24A7;\n t['lslash'] = 0x0142;\n t['lsquare'] = 0x2113;\n t['lsuperior'] = 0xF6EE;\n t['ltshade'] = 0x2591;\n t['luthai'] = 0x0E26;\n t['lvocalicbengali'] = 0x098C;\n t['lvocalicdeva'] = 0x090C;\n t['lvocalicvowelsignbengali'] = 0x09E2;\n t['lvocalicvowelsigndeva'] = 0x0962;\n t['lxsquare'] = 0x33D3;\n t['m'] = 0x006D;\n t['mabengali'] = 0x09AE;\n t['macron'] = 0x00AF;\n t['macronbelowcmb'] = 0x0331;\n t['macroncmb'] = 0x0304;\n t['macronlowmod'] = 0x02CD;\n t['macronmonospace'] = 0xFFE3;\n t['macute'] = 0x1E3F;\n t['madeva'] = 0x092E;\n t['magujarati'] = 0x0AAE;\n t['magurmukhi'] = 0x0A2E;\n t['mahapakhhebrew'] = 0x05A4;\n t['mahapakhlefthebrew'] = 0x05A4;\n t['mahiragana'] = 0x307E;\n t['maichattawalowleftthai'] = 0xF895;\n t['maichattawalowrightthai'] = 0xF894;\n t['maichattawathai'] = 0x0E4B;\n t['maichattawaupperleftthai'] = 0xF893;\n t['maieklowleftthai'] = 0xF88C;\n t['maieklowrightthai'] = 0xF88B;\n t['maiekthai'] = 0x0E48;\n t['maiekupperleftthai'] = 0xF88A;\n t['maihanakatleftthai'] = 0xF884;\n t['maihanakatthai'] = 0x0E31;\n t['maitaikhuleftthai'] = 0xF889;\n t['maitaikhuthai'] = 0x0E47;\n t['maitholowleftthai'] = 0xF88F;\n t['maitholowrightthai'] = 0xF88E;\n t['maithothai'] = 0x0E49;\n t['maithoupperleftthai'] = 0xF88D;\n t['maitrilowleftthai'] = 0xF892;\n t['maitrilowrightthai'] = 0xF891;\n t['maitrithai'] = 0x0E4A;\n t['maitriupperleftthai'] = 0xF890;\n t['maiyamokthai'] = 0x0E46;\n t['makatakana'] = 0x30DE;\n t['makatakanahalfwidth'] = 0xFF8F;\n t['male'] = 0x2642;\n t['mansyonsquare'] = 0x3347;\n t['maqafhebrew'] = 0x05BE;\n t['mars'] = 0x2642;\n t['masoracirclehebrew'] = 0x05AF;\n t['masquare'] = 0x3383;\n t['mbopomofo'] = 0x3107;\n t['mbsquare'] = 0x33D4;\n t['mcircle'] = 0x24DC;\n t['mcubedsquare'] = 0x33A5;\n t['mdotaccent'] = 0x1E41;\n t['mdotbelow'] = 0x1E43;\n t['meemarabic'] = 0x0645;\n t['meemfinalarabic'] = 0xFEE2;\n t['meeminitialarabic'] = 0xFEE3;\n t['meemmedialarabic'] = 0xFEE4;\n t['meemmeeminitialarabic'] = 0xFCD1;\n t['meemmeemisolatedarabic'] = 0xFC48;\n t['meetorusquare'] = 0x334D;\n t['mehiragana'] = 0x3081;\n t['meizierasquare'] = 0x337E;\n t['mekatakana'] = 0x30E1;\n t['mekatakanahalfwidth'] = 0xFF92;\n t['mem'] = 0x05DE;\n t['memdagesh'] = 0xFB3E;\n t['memdageshhebrew'] = 0xFB3E;\n t['memhebrew'] = 0x05DE;\n t['menarmenian'] = 0x0574;\n t['merkhahebrew'] = 0x05A5;\n t['merkhakefulahebrew'] = 0x05A6;\n t['merkhakefulalefthebrew'] = 0x05A6;\n t['merkhalefthebrew'] = 0x05A5;\n t['mhook'] = 0x0271;\n t['mhzsquare'] = 0x3392;\n t['middledotkatakanahalfwidth'] = 0xFF65;\n t['middot'] = 0x00B7;\n t['mieumacirclekorean'] = 0x3272;\n t['mieumaparenkorean'] = 0x3212;\n t['mieumcirclekorean'] = 0x3264;\n t['mieumkorean'] = 0x3141;\n t['mieumpansioskorean'] = 0x3170;\n t['mieumparenkorean'] = 0x3204;\n t['mieumpieupkorean'] = 0x316E;\n t['mieumsioskorean'] = 0x316F;\n t['mihiragana'] = 0x307F;\n t['mikatakana'] = 0x30DF;\n t['mikatakanahalfwidth'] = 0xFF90;\n t['minus'] = 0x2212;\n t['minusbelowcmb'] = 0x0320;\n t['minuscircle'] = 0x2296;\n t['minusmod'] = 0x02D7;\n t['minusplus'] = 0x2213;\n t['minute'] = 0x2032;\n t['miribaarusquare'] = 0x334A;\n t['mirisquare'] = 0x3349;\n t['mlonglegturned'] = 0x0270;\n t['mlsquare'] = 0x3396;\n t['mmcubedsquare'] = 0x33A3;\n t['mmonospace'] = 0xFF4D;\n t['mmsquaredsquare'] = 0x339F;\n t['mohiragana'] = 0x3082;\n t['mohmsquare'] = 0x33C1;\n t['mokatakana'] = 0x30E2;\n t['mokatakanahalfwidth'] = 0xFF93;\n t['molsquare'] = 0x33D6;\n t['momathai'] = 0x0E21;\n t['moverssquare'] = 0x33A7;\n t['moverssquaredsquare'] = 0x33A8;\n t['mparen'] = 0x24A8;\n t['mpasquare'] = 0x33AB;\n t['mssquare'] = 0x33B3;\n t['msuperior'] = 0xF6EF;\n t['mturned'] = 0x026F;\n t['mu'] = 0x00B5;\n t['mu1'] = 0x00B5;\n t['muasquare'] = 0x3382;\n t['muchgreater'] = 0x226B;\n t['muchless'] = 0x226A;\n t['mufsquare'] = 0x338C;\n t['mugreek'] = 0x03BC;\n t['mugsquare'] = 0x338D;\n t['muhiragana'] = 0x3080;\n t['mukatakana'] = 0x30E0;\n t['mukatakanahalfwidth'] = 0xFF91;\n t['mulsquare'] = 0x3395;\n t['multiply'] = 0x00D7;\n t['mumsquare'] = 0x339B;\n t['munahhebrew'] = 0x05A3;\n t['munahlefthebrew'] = 0x05A3;\n t['musicalnote'] = 0x266A;\n t['musicalnotedbl'] = 0x266B;\n t['musicflatsign'] = 0x266D;\n t['musicsharpsign'] = 0x266F;\n t['mussquare'] = 0x33B2;\n t['muvsquare'] = 0x33B6;\n t['muwsquare'] = 0x33BC;\n t['mvmegasquare'] = 0x33B9;\n t['mvsquare'] = 0x33B7;\n t['mwmegasquare'] = 0x33BF;\n t['mwsquare'] = 0x33BD;\n t['n'] = 0x006E;\n t['nabengali'] = 0x09A8;\n t['nabla'] = 0x2207;\n t['nacute'] = 0x0144;\n t['nadeva'] = 0x0928;\n t['nagujarati'] = 0x0AA8;\n t['nagurmukhi'] = 0x0A28;\n t['nahiragana'] = 0x306A;\n t['nakatakana'] = 0x30CA;\n t['nakatakanahalfwidth'] = 0xFF85;\n t['napostrophe'] = 0x0149;\n t['nasquare'] = 0x3381;\n t['nbopomofo'] = 0x310B;\n t['nbspace'] = 0x00A0;\n t['ncaron'] = 0x0148;\n t['ncedilla'] = 0x0146;\n t['ncircle'] = 0x24DD;\n t['ncircumflexbelow'] = 0x1E4B;\n t['ncommaaccent'] = 0x0146;\n t['ndotaccent'] = 0x1E45;\n t['ndotbelow'] = 0x1E47;\n t['nehiragana'] = 0x306D;\n t['nekatakana'] = 0x30CD;\n t['nekatakanahalfwidth'] = 0xFF88;\n t['newsheqelsign'] = 0x20AA;\n t['nfsquare'] = 0x338B;\n t['ngabengali'] = 0x0999;\n t['ngadeva'] = 0x0919;\n t['ngagujarati'] = 0x0A99;\n t['ngagurmukhi'] = 0x0A19;\n t['ngonguthai'] = 0x0E07;\n t['nhiragana'] = 0x3093;\n t['nhookleft'] = 0x0272;\n t['nhookretroflex'] = 0x0273;\n t['nieunacirclekorean'] = 0x326F;\n t['nieunaparenkorean'] = 0x320F;\n t['nieuncieuckorean'] = 0x3135;\n t['nieuncirclekorean'] = 0x3261;\n t['nieunhieuhkorean'] = 0x3136;\n t['nieunkorean'] = 0x3134;\n t['nieunpansioskorean'] = 0x3168;\n t['nieunparenkorean'] = 0x3201;\n t['nieunsioskorean'] = 0x3167;\n t['nieuntikeutkorean'] = 0x3166;\n t['nihiragana'] = 0x306B;\n t['nikatakana'] = 0x30CB;\n t['nikatakanahalfwidth'] = 0xFF86;\n t['nikhahitleftthai'] = 0xF899;\n t['nikhahitthai'] = 0x0E4D;\n t['nine'] = 0x0039;\n t['ninearabic'] = 0x0669;\n t['ninebengali'] = 0x09EF;\n t['ninecircle'] = 0x2468;\n t['ninecircleinversesansserif'] = 0x2792;\n t['ninedeva'] = 0x096F;\n t['ninegujarati'] = 0x0AEF;\n t['ninegurmukhi'] = 0x0A6F;\n t['ninehackarabic'] = 0x0669;\n t['ninehangzhou'] = 0x3029;\n t['nineideographicparen'] = 0x3228;\n t['nineinferior'] = 0x2089;\n t['ninemonospace'] = 0xFF19;\n t['nineoldstyle'] = 0xF739;\n t['nineparen'] = 0x247C;\n t['nineperiod'] = 0x2490;\n t['ninepersian'] = 0x06F9;\n t['nineroman'] = 0x2178;\n t['ninesuperior'] = 0x2079;\n t['nineteencircle'] = 0x2472;\n t['nineteenparen'] = 0x2486;\n t['nineteenperiod'] = 0x249A;\n t['ninethai'] = 0x0E59;\n t['nj'] = 0x01CC;\n t['njecyrillic'] = 0x045A;\n t['nkatakana'] = 0x30F3;\n t['nkatakanahalfwidth'] = 0xFF9D;\n t['nlegrightlong'] = 0x019E;\n t['nlinebelow'] = 0x1E49;\n t['nmonospace'] = 0xFF4E;\n t['nmsquare'] = 0x339A;\n t['nnabengali'] = 0x09A3;\n t['nnadeva'] = 0x0923;\n t['nnagujarati'] = 0x0AA3;\n t['nnagurmukhi'] = 0x0A23;\n t['nnnadeva'] = 0x0929;\n t['nohiragana'] = 0x306E;\n t['nokatakana'] = 0x30CE;\n t['nokatakanahalfwidth'] = 0xFF89;\n t['nonbreakingspace'] = 0x00A0;\n t['nonenthai'] = 0x0E13;\n t['nonuthai'] = 0x0E19;\n t['noonarabic'] = 0x0646;\n t['noonfinalarabic'] = 0xFEE6;\n t['noonghunnaarabic'] = 0x06BA;\n t['noonghunnafinalarabic'] = 0xFB9F;\n t['nooninitialarabic'] = 0xFEE7;\n t['noonjeeminitialarabic'] = 0xFCD2;\n t['noonjeemisolatedarabic'] = 0xFC4B;\n t['noonmedialarabic'] = 0xFEE8;\n t['noonmeeminitialarabic'] = 0xFCD5;\n t['noonmeemisolatedarabic'] = 0xFC4E;\n t['noonnoonfinalarabic'] = 0xFC8D;\n t['notcontains'] = 0x220C;\n t['notelement'] = 0x2209;\n t['notelementof'] = 0x2209;\n t['notequal'] = 0x2260;\n t['notgreater'] = 0x226F;\n t['notgreaternorequal'] = 0x2271;\n t['notgreaternorless'] = 0x2279;\n t['notidentical'] = 0x2262;\n t['notless'] = 0x226E;\n t['notlessnorequal'] = 0x2270;\n t['notparallel'] = 0x2226;\n t['notprecedes'] = 0x2280;\n t['notsubset'] = 0x2284;\n t['notsucceeds'] = 0x2281;\n t['notsuperset'] = 0x2285;\n t['nowarmenian'] = 0x0576;\n t['nparen'] = 0x24A9;\n t['nssquare'] = 0x33B1;\n t['nsuperior'] = 0x207F;\n t['ntilde'] = 0x00F1;\n t['nu'] = 0x03BD;\n t['nuhiragana'] = 0x306C;\n t['nukatakana'] = 0x30CC;\n t['nukatakanahalfwidth'] = 0xFF87;\n t['nuktabengali'] = 0x09BC;\n t['nuktadeva'] = 0x093C;\n t['nuktagujarati'] = 0x0ABC;\n t['nuktagurmukhi'] = 0x0A3C;\n t['numbersign'] = 0x0023;\n t['numbersignmonospace'] = 0xFF03;\n t['numbersignsmall'] = 0xFE5F;\n t['numeralsigngreek'] = 0x0374;\n t['numeralsignlowergreek'] = 0x0375;\n t['numero'] = 0x2116;\n t['nun'] = 0x05E0;\n t['nundagesh'] = 0xFB40;\n t['nundageshhebrew'] = 0xFB40;\n t['nunhebrew'] = 0x05E0;\n t['nvsquare'] = 0x33B5;\n t['nwsquare'] = 0x33BB;\n t['nyabengali'] = 0x099E;\n t['nyadeva'] = 0x091E;\n t['nyagujarati'] = 0x0A9E;\n t['nyagurmukhi'] = 0x0A1E;\n t['o'] = 0x006F;\n t['oacute'] = 0x00F3;\n t['oangthai'] = 0x0E2D;\n t['obarred'] = 0x0275;\n t['obarredcyrillic'] = 0x04E9;\n t['obarreddieresiscyrillic'] = 0x04EB;\n t['obengali'] = 0x0993;\n t['obopomofo'] = 0x311B;\n t['obreve'] = 0x014F;\n t['ocandradeva'] = 0x0911;\n t['ocandragujarati'] = 0x0A91;\n t['ocandravowelsigndeva'] = 0x0949;\n t['ocandravowelsigngujarati'] = 0x0AC9;\n t['ocaron'] = 0x01D2;\n t['ocircle'] = 0x24DE;\n t['ocircumflex'] = 0x00F4;\n t['ocircumflexacute'] = 0x1ED1;\n t['ocircumflexdotbelow'] = 0x1ED9;\n t['ocircumflexgrave'] = 0x1ED3;\n t['ocircumflexhookabove'] = 0x1ED5;\n t['ocircumflextilde'] = 0x1ED7;\n t['ocyrillic'] = 0x043E;\n t['odblacute'] = 0x0151;\n t['odblgrave'] = 0x020D;\n t['odeva'] = 0x0913;\n t['odieresis'] = 0x00F6;\n t['odieresiscyrillic'] = 0x04E7;\n t['odotbelow'] = 0x1ECD;\n t['oe'] = 0x0153;\n t['oekorean'] = 0x315A;\n t['ogonek'] = 0x02DB;\n t['ogonekcmb'] = 0x0328;\n t['ograve'] = 0x00F2;\n t['ogujarati'] = 0x0A93;\n t['oharmenian'] = 0x0585;\n t['ohiragana'] = 0x304A;\n t['ohookabove'] = 0x1ECF;\n t['ohorn'] = 0x01A1;\n t['ohornacute'] = 0x1EDB;\n t['ohorndotbelow'] = 0x1EE3;\n t['ohorngrave'] = 0x1EDD;\n t['ohornhookabove'] = 0x1EDF;\n t['ohorntilde'] = 0x1EE1;\n t['ohungarumlaut'] = 0x0151;\n t['oi'] = 0x01A3;\n t['oinvertedbreve'] = 0x020F;\n t['okatakana'] = 0x30AA;\n t['okatakanahalfwidth'] = 0xFF75;\n t['okorean'] = 0x3157;\n t['olehebrew'] = 0x05AB;\n t['omacron'] = 0x014D;\n t['omacronacute'] = 0x1E53;\n t['omacrongrave'] = 0x1E51;\n t['omdeva'] = 0x0950;\n t['omega'] = 0x03C9;\n t['omega1'] = 0x03D6;\n t['omegacyrillic'] = 0x0461;\n t['omegalatinclosed'] = 0x0277;\n t['omegaroundcyrillic'] = 0x047B;\n t['omegatitlocyrillic'] = 0x047D;\n t['omegatonos'] = 0x03CE;\n t['omgujarati'] = 0x0AD0;\n t['omicron'] = 0x03BF;\n t['omicrontonos'] = 0x03CC;\n t['omonospace'] = 0xFF4F;\n t['one'] = 0x0031;\n t['onearabic'] = 0x0661;\n t['onebengali'] = 0x09E7;\n t['onecircle'] = 0x2460;\n t['onecircleinversesansserif'] = 0x278A;\n t['onedeva'] = 0x0967;\n t['onedotenleader'] = 0x2024;\n t['oneeighth'] = 0x215B;\n t['onefitted'] = 0xF6DC;\n t['onegujarati'] = 0x0AE7;\n t['onegurmukhi'] = 0x0A67;\n t['onehackarabic'] = 0x0661;\n t['onehalf'] = 0x00BD;\n t['onehangzhou'] = 0x3021;\n t['oneideographicparen'] = 0x3220;\n t['oneinferior'] = 0x2081;\n t['onemonospace'] = 0xFF11;\n t['onenumeratorbengali'] = 0x09F4;\n t['oneoldstyle'] = 0xF731;\n t['oneparen'] = 0x2474;\n t['oneperiod'] = 0x2488;\n t['onepersian'] = 0x06F1;\n t['onequarter'] = 0x00BC;\n t['oneroman'] = 0x2170;\n t['onesuperior'] = 0x00B9;\n t['onethai'] = 0x0E51;\n t['onethird'] = 0x2153;\n t['oogonek'] = 0x01EB;\n t['oogonekmacron'] = 0x01ED;\n t['oogurmukhi'] = 0x0A13;\n t['oomatragurmukhi'] = 0x0A4B;\n t['oopen'] = 0x0254;\n t['oparen'] = 0x24AA;\n t['openbullet'] = 0x25E6;\n t['option'] = 0x2325;\n t['ordfeminine'] = 0x00AA;\n t['ordmasculine'] = 0x00BA;\n t['orthogonal'] = 0x221F;\n t['oshortdeva'] = 0x0912;\n t['oshortvowelsigndeva'] = 0x094A;\n t['oslash'] = 0x00F8;\n t['oslashacute'] = 0x01FF;\n t['osmallhiragana'] = 0x3049;\n t['osmallkatakana'] = 0x30A9;\n t['osmallkatakanahalfwidth'] = 0xFF6B;\n t['ostrokeacute'] = 0x01FF;\n t['osuperior'] = 0xF6F0;\n t['otcyrillic'] = 0x047F;\n t['otilde'] = 0x00F5;\n t['otildeacute'] = 0x1E4D;\n t['otildedieresis'] = 0x1E4F;\n t['oubopomofo'] = 0x3121;\n t['overline'] = 0x203E;\n t['overlinecenterline'] = 0xFE4A;\n t['overlinecmb'] = 0x0305;\n t['overlinedashed'] = 0xFE49;\n t['overlinedblwavy'] = 0xFE4C;\n t['overlinewavy'] = 0xFE4B;\n t['overscore'] = 0x00AF;\n t['ovowelsignbengali'] = 0x09CB;\n t['ovowelsigndeva'] = 0x094B;\n t['ovowelsigngujarati'] = 0x0ACB;\n t['p'] = 0x0070;\n t['paampssquare'] = 0x3380;\n t['paasentosquare'] = 0x332B;\n t['pabengali'] = 0x09AA;\n t['pacute'] = 0x1E55;\n t['padeva'] = 0x092A;\n t['pagedown'] = 0x21DF;\n t['pageup'] = 0x21DE;\n t['pagujarati'] = 0x0AAA;\n t['pagurmukhi'] = 0x0A2A;\n t['pahiragana'] = 0x3071;\n t['paiyannoithai'] = 0x0E2F;\n t['pakatakana'] = 0x30D1;\n t['palatalizationcyrilliccmb'] = 0x0484;\n t['palochkacyrillic'] = 0x04C0;\n t['pansioskorean'] = 0x317F;\n t['paragraph'] = 0x00B6;\n t['parallel'] = 0x2225;\n t['parenleft'] = 0x0028;\n t['parenleftaltonearabic'] = 0xFD3E;\n t['parenleftbt'] = 0xF8ED;\n t['parenleftex'] = 0xF8EC;\n t['parenleftinferior'] = 0x208D;\n t['parenleftmonospace'] = 0xFF08;\n t['parenleftsmall'] = 0xFE59;\n t['parenleftsuperior'] = 0x207D;\n t['parenlefttp'] = 0xF8EB;\n t['parenleftvertical'] = 0xFE35;\n t['parenright'] = 0x0029;\n t['parenrightaltonearabic'] = 0xFD3F;\n t['parenrightbt'] = 0xF8F8;\n t['parenrightex'] = 0xF8F7;\n t['parenrightinferior'] = 0x208E;\n t['parenrightmonospace'] = 0xFF09;\n t['parenrightsmall'] = 0xFE5A;\n t['parenrightsuperior'] = 0x207E;\n t['parenrighttp'] = 0xF8F6;\n t['parenrightvertical'] = 0xFE36;\n t['partialdiff'] = 0x2202;\n t['paseqhebrew'] = 0x05C0;\n t['pashtahebrew'] = 0x0599;\n t['pasquare'] = 0x33A9;\n t['patah'] = 0x05B7;\n t['patah11'] = 0x05B7;\n t['patah1d'] = 0x05B7;\n t['patah2a'] = 0x05B7;\n t['patahhebrew'] = 0x05B7;\n t['patahnarrowhebrew'] = 0x05B7;\n t['patahquarterhebrew'] = 0x05B7;\n t['patahwidehebrew'] = 0x05B7;\n t['pazerhebrew'] = 0x05A1;\n t['pbopomofo'] = 0x3106;\n t['pcircle'] = 0x24DF;\n t['pdotaccent'] = 0x1E57;\n t['pe'] = 0x05E4;\n t['pecyrillic'] = 0x043F;\n t['pedagesh'] = 0xFB44;\n t['pedageshhebrew'] = 0xFB44;\n t['peezisquare'] = 0x333B;\n t['pefinaldageshhebrew'] = 0xFB43;\n t['peharabic'] = 0x067E;\n t['peharmenian'] = 0x057A;\n t['pehebrew'] = 0x05E4;\n t['pehfinalarabic'] = 0xFB57;\n t['pehinitialarabic'] = 0xFB58;\n t['pehiragana'] = 0x307A;\n t['pehmedialarabic'] = 0xFB59;\n t['pekatakana'] = 0x30DA;\n t['pemiddlehookcyrillic'] = 0x04A7;\n t['perafehebrew'] = 0xFB4E;\n t['percent'] = 0x0025;\n t['percentarabic'] = 0x066A;\n t['percentmonospace'] = 0xFF05;\n t['percentsmall'] = 0xFE6A;\n t['period'] = 0x002E;\n t['periodarmenian'] = 0x0589;\n t['periodcentered'] = 0x00B7;\n t['periodhalfwidth'] = 0xFF61;\n t['periodinferior'] = 0xF6E7;\n t['periodmonospace'] = 0xFF0E;\n t['periodsmall'] = 0xFE52;\n t['periodsuperior'] = 0xF6E8;\n t['perispomenigreekcmb'] = 0x0342;\n t['perpendicular'] = 0x22A5;\n t['perthousand'] = 0x2030;\n t['peseta'] = 0x20A7;\n t['pfsquare'] = 0x338A;\n t['phabengali'] = 0x09AB;\n t['phadeva'] = 0x092B;\n t['phagujarati'] = 0x0AAB;\n t['phagurmukhi'] = 0x0A2B;\n t['phi'] = 0x03C6;\n t['phi1'] = 0x03D5;\n t['phieuphacirclekorean'] = 0x327A;\n t['phieuphaparenkorean'] = 0x321A;\n t['phieuphcirclekorean'] = 0x326C;\n t['phieuphkorean'] = 0x314D;\n t['phieuphparenkorean'] = 0x320C;\n t['philatin'] = 0x0278;\n t['phinthuthai'] = 0x0E3A;\n t['phisymbolgreek'] = 0x03D5;\n t['phook'] = 0x01A5;\n t['phophanthai'] = 0x0E1E;\n t['phophungthai'] = 0x0E1C;\n t['phosamphaothai'] = 0x0E20;\n t['pi'] = 0x03C0;\n t['pieupacirclekorean'] = 0x3273;\n t['pieupaparenkorean'] = 0x3213;\n t['pieupcieuckorean'] = 0x3176;\n t['pieupcirclekorean'] = 0x3265;\n t['pieupkiyeokkorean'] = 0x3172;\n t['pieupkorean'] = 0x3142;\n t['pieupparenkorean'] = 0x3205;\n t['pieupsioskiyeokkorean'] = 0x3174;\n t['pieupsioskorean'] = 0x3144;\n t['pieupsiostikeutkorean'] = 0x3175;\n t['pieupthieuthkorean'] = 0x3177;\n t['pieuptikeutkorean'] = 0x3173;\n t['pihiragana'] = 0x3074;\n t['pikatakana'] = 0x30D4;\n t['pisymbolgreek'] = 0x03D6;\n t['piwrarmenian'] = 0x0583;\n t['plus'] = 0x002B;\n t['plusbelowcmb'] = 0x031F;\n t['pluscircle'] = 0x2295;\n t['plusminus'] = 0x00B1;\n t['plusmod'] = 0x02D6;\n t['plusmonospace'] = 0xFF0B;\n t['plussmall'] = 0xFE62;\n t['plussuperior'] = 0x207A;\n t['pmonospace'] = 0xFF50;\n t['pmsquare'] = 0x33D8;\n t['pohiragana'] = 0x307D;\n t['pointingindexdownwhite'] = 0x261F;\n t['pointingindexleftwhite'] = 0x261C;\n t['pointingindexrightwhite'] = 0x261E;\n t['pointingindexupwhite'] = 0x261D;\n t['pokatakana'] = 0x30DD;\n t['poplathai'] = 0x0E1B;\n t['postalmark'] = 0x3012;\n t['postalmarkface'] = 0x3020;\n t['pparen'] = 0x24AB;\n t['precedes'] = 0x227A;\n t['prescription'] = 0x211E;\n t['primemod'] = 0x02B9;\n t['primereversed'] = 0x2035;\n t['product'] = 0x220F;\n t['projective'] = 0x2305;\n t['prolongedkana'] = 0x30FC;\n t['propellor'] = 0x2318;\n t['propersubset'] = 0x2282;\n t['propersuperset'] = 0x2283;\n t['proportion'] = 0x2237;\n t['proportional'] = 0x221D;\n t['psi'] = 0x03C8;\n t['psicyrillic'] = 0x0471;\n t['psilipneumatacyrilliccmb'] = 0x0486;\n t['pssquare'] = 0x33B0;\n t['puhiragana'] = 0x3077;\n t['pukatakana'] = 0x30D7;\n t['pvsquare'] = 0x33B4;\n t['pwsquare'] = 0x33BA;\n t['q'] = 0x0071;\n t['qadeva'] = 0x0958;\n t['qadmahebrew'] = 0x05A8;\n t['qafarabic'] = 0x0642;\n t['qaffinalarabic'] = 0xFED6;\n t['qafinitialarabic'] = 0xFED7;\n t['qafmedialarabic'] = 0xFED8;\n t['qamats'] = 0x05B8;\n t['qamats10'] = 0x05B8;\n t['qamats1a'] = 0x05B8;\n t['qamats1c'] = 0x05B8;\n t['qamats27'] = 0x05B8;\n t['qamats29'] = 0x05B8;\n t['qamats33'] = 0x05B8;\n t['qamatsde'] = 0x05B8;\n t['qamatshebrew'] = 0x05B8;\n t['qamatsnarrowhebrew'] = 0x05B8;\n t['qamatsqatanhebrew'] = 0x05B8;\n t['qamatsqatannarrowhebrew'] = 0x05B8;\n t['qamatsqatanquarterhebrew'] = 0x05B8;\n t['qamatsqatanwidehebrew'] = 0x05B8;\n t['qamatsquarterhebrew'] = 0x05B8;\n t['qamatswidehebrew'] = 0x05B8;\n t['qarneyparahebrew'] = 0x059F;\n t['qbopomofo'] = 0x3111;\n t['qcircle'] = 0x24E0;\n t['qhook'] = 0x02A0;\n t['qmonospace'] = 0xFF51;\n t['qof'] = 0x05E7;\n t['qofdagesh'] = 0xFB47;\n t['qofdageshhebrew'] = 0xFB47;\n t['qofhebrew'] = 0x05E7;\n t['qparen'] = 0x24AC;\n t['quarternote'] = 0x2669;\n t['qubuts'] = 0x05BB;\n t['qubuts18'] = 0x05BB;\n t['qubuts25'] = 0x05BB;\n t['qubuts31'] = 0x05BB;\n t['qubutshebrew'] = 0x05BB;\n t['qubutsnarrowhebrew'] = 0x05BB;\n t['qubutsquarterhebrew'] = 0x05BB;\n t['qubutswidehebrew'] = 0x05BB;\n t['question'] = 0x003F;\n t['questionarabic'] = 0x061F;\n t['questionarmenian'] = 0x055E;\n t['questiondown'] = 0x00BF;\n t['questiondownsmall'] = 0xF7BF;\n t['questiongreek'] = 0x037E;\n t['questionmonospace'] = 0xFF1F;\n t['questionsmall'] = 0xF73F;\n t['quotedbl'] = 0x0022;\n t['quotedblbase'] = 0x201E;\n t['quotedblleft'] = 0x201C;\n t['quotedblmonospace'] = 0xFF02;\n t['quotedblprime'] = 0x301E;\n t['quotedblprimereversed'] = 0x301D;\n t['quotedblright'] = 0x201D;\n t['quoteleft'] = 0x2018;\n t['quoteleftreversed'] = 0x201B;\n t['quotereversed'] = 0x201B;\n t['quoteright'] = 0x2019;\n t['quoterightn'] = 0x0149;\n t['quotesinglbase'] = 0x201A;\n t['quotesingle'] = 0x0027;\n t['quotesinglemonospace'] = 0xFF07;\n t['r'] = 0x0072;\n t['raarmenian'] = 0x057C;\n t['rabengali'] = 0x09B0;\n t['racute'] = 0x0155;\n t['radeva'] = 0x0930;\n t['radical'] = 0x221A;\n t['radicalex'] = 0xF8E5;\n t['radoverssquare'] = 0x33AE;\n t['radoverssquaredsquare'] = 0x33AF;\n t['radsquare'] = 0x33AD;\n t['rafe'] = 0x05BF;\n t['rafehebrew'] = 0x05BF;\n t['ragujarati'] = 0x0AB0;\n t['ragurmukhi'] = 0x0A30;\n t['rahiragana'] = 0x3089;\n t['rakatakana'] = 0x30E9;\n t['rakatakanahalfwidth'] = 0xFF97;\n t['ralowerdiagonalbengali'] = 0x09F1;\n t['ramiddlediagonalbengali'] = 0x09F0;\n t['ramshorn'] = 0x0264;\n t['ratio'] = 0x2236;\n t['rbopomofo'] = 0x3116;\n t['rcaron'] = 0x0159;\n t['rcedilla'] = 0x0157;\n t['rcircle'] = 0x24E1;\n t['rcommaaccent'] = 0x0157;\n t['rdblgrave'] = 0x0211;\n t['rdotaccent'] = 0x1E59;\n t['rdotbelow'] = 0x1E5B;\n t['rdotbelowmacron'] = 0x1E5D;\n t['referencemark'] = 0x203B;\n t['reflexsubset'] = 0x2286;\n t['reflexsuperset'] = 0x2287;\n t['registered'] = 0x00AE;\n t['registersans'] = 0xF8E8;\n t['registerserif'] = 0xF6DA;\n t['reharabic'] = 0x0631;\n t['reharmenian'] = 0x0580;\n t['rehfinalarabic'] = 0xFEAE;\n t['rehiragana'] = 0x308C;\n t['rekatakana'] = 0x30EC;\n t['rekatakanahalfwidth'] = 0xFF9A;\n t['resh'] = 0x05E8;\n t['reshdageshhebrew'] = 0xFB48;\n t['reshhebrew'] = 0x05E8;\n t['reversedtilde'] = 0x223D;\n t['reviahebrew'] = 0x0597;\n t['reviamugrashhebrew'] = 0x0597;\n t['revlogicalnot'] = 0x2310;\n t['rfishhook'] = 0x027E;\n t['rfishhookreversed'] = 0x027F;\n t['rhabengali'] = 0x09DD;\n t['rhadeva'] = 0x095D;\n t['rho'] = 0x03C1;\n t['rhook'] = 0x027D;\n t['rhookturned'] = 0x027B;\n t['rhookturnedsuperior'] = 0x02B5;\n t['rhosymbolgreek'] = 0x03F1;\n t['rhotichookmod'] = 0x02DE;\n t['rieulacirclekorean'] = 0x3271;\n t['rieulaparenkorean'] = 0x3211;\n t['rieulcirclekorean'] = 0x3263;\n t['rieulhieuhkorean'] = 0x3140;\n t['rieulkiyeokkorean'] = 0x313A;\n t['rieulkiyeoksioskorean'] = 0x3169;\n t['rieulkorean'] = 0x3139;\n t['rieulmieumkorean'] = 0x313B;\n t['rieulpansioskorean'] = 0x316C;\n t['rieulparenkorean'] = 0x3203;\n t['rieulphieuphkorean'] = 0x313F;\n t['rieulpieupkorean'] = 0x313C;\n t['rieulpieupsioskorean'] = 0x316B;\n t['rieulsioskorean'] = 0x313D;\n t['rieulthieuthkorean'] = 0x313E;\n t['rieultikeutkorean'] = 0x316A;\n t['rieulyeorinhieuhkorean'] = 0x316D;\n t['rightangle'] = 0x221F;\n t['righttackbelowcmb'] = 0x0319;\n t['righttriangle'] = 0x22BF;\n t['rihiragana'] = 0x308A;\n t['rikatakana'] = 0x30EA;\n t['rikatakanahalfwidth'] = 0xFF98;\n t['ring'] = 0x02DA;\n t['ringbelowcmb'] = 0x0325;\n t['ringcmb'] = 0x030A;\n t['ringhalfleft'] = 0x02BF;\n t['ringhalfleftarmenian'] = 0x0559;\n t['ringhalfleftbelowcmb'] = 0x031C;\n t['ringhalfleftcentered'] = 0x02D3;\n t['ringhalfright'] = 0x02BE;\n t['ringhalfrightbelowcmb'] = 0x0339;\n t['ringhalfrightcentered'] = 0x02D2;\n t['rinvertedbreve'] = 0x0213;\n t['rittorusquare'] = 0x3351;\n t['rlinebelow'] = 0x1E5F;\n t['rlongleg'] = 0x027C;\n t['rlonglegturned'] = 0x027A;\n t['rmonospace'] = 0xFF52;\n t['rohiragana'] = 0x308D;\n t['rokatakana'] = 0x30ED;\n t['rokatakanahalfwidth'] = 0xFF9B;\n t['roruathai'] = 0x0E23;\n t['rparen'] = 0x24AD;\n t['rrabengali'] = 0x09DC;\n t['rradeva'] = 0x0931;\n t['rragurmukhi'] = 0x0A5C;\n t['rreharabic'] = 0x0691;\n t['rrehfinalarabic'] = 0xFB8D;\n t['rrvocalicbengali'] = 0x09E0;\n t['rrvocalicdeva'] = 0x0960;\n t['rrvocalicgujarati'] = 0x0AE0;\n t['rrvocalicvowelsignbengali'] = 0x09C4;\n t['rrvocalicvowelsigndeva'] = 0x0944;\n t['rrvocalicvowelsigngujarati'] = 0x0AC4;\n t['rsuperior'] = 0xF6F1;\n t['rtblock'] = 0x2590;\n t['rturned'] = 0x0279;\n t['rturnedsuperior'] = 0x02B4;\n t['ruhiragana'] = 0x308B;\n t['rukatakana'] = 0x30EB;\n t['rukatakanahalfwidth'] = 0xFF99;\n t['rupeemarkbengali'] = 0x09F2;\n t['rupeesignbengali'] = 0x09F3;\n t['rupiah'] = 0xF6DD;\n t['ruthai'] = 0x0E24;\n t['rvocalicbengali'] = 0x098B;\n t['rvocalicdeva'] = 0x090B;\n t['rvocalicgujarati'] = 0x0A8B;\n t['rvocalicvowelsignbengali'] = 0x09C3;\n t['rvocalicvowelsigndeva'] = 0x0943;\n t['rvocalicvowelsigngujarati'] = 0x0AC3;\n t['s'] = 0x0073;\n t['sabengali'] = 0x09B8;\n t['sacute'] = 0x015B;\n t['sacutedotaccent'] = 0x1E65;\n t['sadarabic'] = 0x0635;\n t['sadeva'] = 0x0938;\n t['sadfinalarabic'] = 0xFEBA;\n t['sadinitialarabic'] = 0xFEBB;\n t['sadmedialarabic'] = 0xFEBC;\n t['sagujarati'] = 0x0AB8;\n t['sagurmukhi'] = 0x0A38;\n t['sahiragana'] = 0x3055;\n t['sakatakana'] = 0x30B5;\n t['sakatakanahalfwidth'] = 0xFF7B;\n t['sallallahoualayhewasallamarabic'] = 0xFDFA;\n t['samekh'] = 0x05E1;\n t['samekhdagesh'] = 0xFB41;\n t['samekhdageshhebrew'] = 0xFB41;\n t['samekhhebrew'] = 0x05E1;\n t['saraaathai'] = 0x0E32;\n t['saraaethai'] = 0x0E41;\n t['saraaimaimalaithai'] = 0x0E44;\n t['saraaimaimuanthai'] = 0x0E43;\n t['saraamthai'] = 0x0E33;\n t['saraathai'] = 0x0E30;\n t['saraethai'] = 0x0E40;\n t['saraiileftthai'] = 0xF886;\n t['saraiithai'] = 0x0E35;\n t['saraileftthai'] = 0xF885;\n t['saraithai'] = 0x0E34;\n t['saraothai'] = 0x0E42;\n t['saraueeleftthai'] = 0xF888;\n t['saraueethai'] = 0x0E37;\n t['saraueleftthai'] = 0xF887;\n t['sarauethai'] = 0x0E36;\n t['sarauthai'] = 0x0E38;\n t['sarauuthai'] = 0x0E39;\n t['sbopomofo'] = 0x3119;\n t['scaron'] = 0x0161;\n t['scarondotaccent'] = 0x1E67;\n t['scedilla'] = 0x015F;\n t['schwa'] = 0x0259;\n t['schwacyrillic'] = 0x04D9;\n t['schwadieresiscyrillic'] = 0x04DB;\n t['schwahook'] = 0x025A;\n t['scircle'] = 0x24E2;\n t['scircumflex'] = 0x015D;\n t['scommaaccent'] = 0x0219;\n t['sdotaccent'] = 0x1E61;\n t['sdotbelow'] = 0x1E63;\n t['sdotbelowdotaccent'] = 0x1E69;\n t['seagullbelowcmb'] = 0x033C;\n t['second'] = 0x2033;\n t['secondtonechinese'] = 0x02CA;\n t['section'] = 0x00A7;\n t['seenarabic'] = 0x0633;\n t['seenfinalarabic'] = 0xFEB2;\n t['seeninitialarabic'] = 0xFEB3;\n t['seenmedialarabic'] = 0xFEB4;\n t['segol'] = 0x05B6;\n t['segol13'] = 0x05B6;\n t['segol1f'] = 0x05B6;\n t['segol2c'] = 0x05B6;\n t['segolhebrew'] = 0x05B6;\n t['segolnarrowhebrew'] = 0x05B6;\n t['segolquarterhebrew'] = 0x05B6;\n t['segoltahebrew'] = 0x0592;\n t['segolwidehebrew'] = 0x05B6;\n t['seharmenian'] = 0x057D;\n t['sehiragana'] = 0x305B;\n t['sekatakana'] = 0x30BB;\n t['sekatakanahalfwidth'] = 0xFF7E;\n t['semicolon'] = 0x003B;\n t['semicolonarabic'] = 0x061B;\n t['semicolonmonospace'] = 0xFF1B;\n t['semicolonsmall'] = 0xFE54;\n t['semivoicedmarkkana'] = 0x309C;\n t['semivoicedmarkkanahalfwidth'] = 0xFF9F;\n t['sentisquare'] = 0x3322;\n t['sentosquare'] = 0x3323;\n t['seven'] = 0x0037;\n t['sevenarabic'] = 0x0667;\n t['sevenbengali'] = 0x09ED;\n t['sevencircle'] = 0x2466;\n t['sevencircleinversesansserif'] = 0x2790;\n t['sevendeva'] = 0x096D;\n t['seveneighths'] = 0x215E;\n t['sevengujarati'] = 0x0AED;\n t['sevengurmukhi'] = 0x0A6D;\n t['sevenhackarabic'] = 0x0667;\n t['sevenhangzhou'] = 0x3027;\n t['sevenideographicparen'] = 0x3226;\n t['seveninferior'] = 0x2087;\n t['sevenmonospace'] = 0xFF17;\n t['sevenoldstyle'] = 0xF737;\n t['sevenparen'] = 0x247A;\n t['sevenperiod'] = 0x248E;\n t['sevenpersian'] = 0x06F7;\n t['sevenroman'] = 0x2176;\n t['sevensuperior'] = 0x2077;\n t['seventeencircle'] = 0x2470;\n t['seventeenparen'] = 0x2484;\n t['seventeenperiod'] = 0x2498;\n t['seventhai'] = 0x0E57;\n t['sfthyphen'] = 0x00AD;\n t['shaarmenian'] = 0x0577;\n t['shabengali'] = 0x09B6;\n t['shacyrillic'] = 0x0448;\n t['shaddaarabic'] = 0x0651;\n t['shaddadammaarabic'] = 0xFC61;\n t['shaddadammatanarabic'] = 0xFC5E;\n t['shaddafathaarabic'] = 0xFC60;\n t['shaddakasraarabic'] = 0xFC62;\n t['shaddakasratanarabic'] = 0xFC5F;\n t['shade'] = 0x2592;\n t['shadedark'] = 0x2593;\n t['shadelight'] = 0x2591;\n t['shademedium'] = 0x2592;\n t['shadeva'] = 0x0936;\n t['shagujarati'] = 0x0AB6;\n t['shagurmukhi'] = 0x0A36;\n t['shalshelethebrew'] = 0x0593;\n t['shbopomofo'] = 0x3115;\n t['shchacyrillic'] = 0x0449;\n t['sheenarabic'] = 0x0634;\n t['sheenfinalarabic'] = 0xFEB6;\n t['sheeninitialarabic'] = 0xFEB7;\n t['sheenmedialarabic'] = 0xFEB8;\n t['sheicoptic'] = 0x03E3;\n t['sheqel'] = 0x20AA;\n t['sheqelhebrew'] = 0x20AA;\n t['sheva'] = 0x05B0;\n t['sheva115'] = 0x05B0;\n t['sheva15'] = 0x05B0;\n t['sheva22'] = 0x05B0;\n t['sheva2e'] = 0x05B0;\n t['shevahebrew'] = 0x05B0;\n t['shevanarrowhebrew'] = 0x05B0;\n t['shevaquarterhebrew'] = 0x05B0;\n t['shevawidehebrew'] = 0x05B0;\n t['shhacyrillic'] = 0x04BB;\n t['shimacoptic'] = 0x03ED;\n t['shin'] = 0x05E9;\n t['shindagesh'] = 0xFB49;\n t['shindageshhebrew'] = 0xFB49;\n t['shindageshshindot'] = 0xFB2C;\n t['shindageshshindothebrew'] = 0xFB2C;\n t['shindageshsindot'] = 0xFB2D;\n t['shindageshsindothebrew'] = 0xFB2D;\n t['shindothebrew'] = 0x05C1;\n t['shinhebrew'] = 0x05E9;\n t['shinshindot'] = 0xFB2A;\n t['shinshindothebrew'] = 0xFB2A;\n t['shinsindot'] = 0xFB2B;\n t['shinsindothebrew'] = 0xFB2B;\n t['shook'] = 0x0282;\n t['sigma'] = 0x03C3;\n t['sigma1'] = 0x03C2;\n t['sigmafinal'] = 0x03C2;\n t['sigmalunatesymbolgreek'] = 0x03F2;\n t['sihiragana'] = 0x3057;\n t['sikatakana'] = 0x30B7;\n t['sikatakanahalfwidth'] = 0xFF7C;\n t['siluqhebrew'] = 0x05BD;\n t['siluqlefthebrew'] = 0x05BD;\n t['similar'] = 0x223C;\n t['sindothebrew'] = 0x05C2;\n t['siosacirclekorean'] = 0x3274;\n t['siosaparenkorean'] = 0x3214;\n t['sioscieuckorean'] = 0x317E;\n t['sioscirclekorean'] = 0x3266;\n t['sioskiyeokkorean'] = 0x317A;\n t['sioskorean'] = 0x3145;\n t['siosnieunkorean'] = 0x317B;\n t['siosparenkorean'] = 0x3206;\n t['siospieupkorean'] = 0x317D;\n t['siostikeutkorean'] = 0x317C;\n t['six'] = 0x0036;\n t['sixarabic'] = 0x0666;\n t['sixbengali'] = 0x09EC;\n t['sixcircle'] = 0x2465;\n t['sixcircleinversesansserif'] = 0x278F;\n t['sixdeva'] = 0x096C;\n t['sixgujarati'] = 0x0AEC;\n t['sixgurmukhi'] = 0x0A6C;\n t['sixhackarabic'] = 0x0666;\n t['sixhangzhou'] = 0x3026;\n t['sixideographicparen'] = 0x3225;\n t['sixinferior'] = 0x2086;\n t['sixmonospace'] = 0xFF16;\n t['sixoldstyle'] = 0xF736;\n t['sixparen'] = 0x2479;\n t['sixperiod'] = 0x248D;\n t['sixpersian'] = 0x06F6;\n t['sixroman'] = 0x2175;\n t['sixsuperior'] = 0x2076;\n t['sixteencircle'] = 0x246F;\n t['sixteencurrencydenominatorbengali'] = 0x09F9;\n t['sixteenparen'] = 0x2483;\n t['sixteenperiod'] = 0x2497;\n t['sixthai'] = 0x0E56;\n t['slash'] = 0x002F;\n t['slashmonospace'] = 0xFF0F;\n t['slong'] = 0x017F;\n t['slongdotaccent'] = 0x1E9B;\n t['smileface'] = 0x263A;\n t['smonospace'] = 0xFF53;\n t['sofpasuqhebrew'] = 0x05C3;\n t['softhyphen'] = 0x00AD;\n t['softsigncyrillic'] = 0x044C;\n t['sohiragana'] = 0x305D;\n t['sokatakana'] = 0x30BD;\n t['sokatakanahalfwidth'] = 0xFF7F;\n t['soliduslongoverlaycmb'] = 0x0338;\n t['solidusshortoverlaycmb'] = 0x0337;\n t['sorusithai'] = 0x0E29;\n t['sosalathai'] = 0x0E28;\n t['sosothai'] = 0x0E0B;\n t['sosuathai'] = 0x0E2A;\n t['space'] = 0x0020;\n t['spacehackarabic'] = 0x0020;\n t['spade'] = 0x2660;\n t['spadesuitblack'] = 0x2660;\n t['spadesuitwhite'] = 0x2664;\n t['sparen'] = 0x24AE;\n t['squarebelowcmb'] = 0x033B;\n t['squarecc'] = 0x33C4;\n t['squarecm'] = 0x339D;\n t['squarediagonalcrosshatchfill'] = 0x25A9;\n t['squarehorizontalfill'] = 0x25A4;\n t['squarekg'] = 0x338F;\n t['squarekm'] = 0x339E;\n t['squarekmcapital'] = 0x33CE;\n t['squareln'] = 0x33D1;\n t['squarelog'] = 0x33D2;\n t['squaremg'] = 0x338E;\n t['squaremil'] = 0x33D5;\n t['squaremm'] = 0x339C;\n t['squaremsquared'] = 0x33A1;\n t['squareorthogonalcrosshatchfill'] = 0x25A6;\n t['squareupperlefttolowerrightfill'] = 0x25A7;\n t['squareupperrighttolowerleftfill'] = 0x25A8;\n t['squareverticalfill'] = 0x25A5;\n t['squarewhitewithsmallblack'] = 0x25A3;\n t['srsquare'] = 0x33DB;\n t['ssabengali'] = 0x09B7;\n t['ssadeva'] = 0x0937;\n t['ssagujarati'] = 0x0AB7;\n t['ssangcieuckorean'] = 0x3149;\n t['ssanghieuhkorean'] = 0x3185;\n t['ssangieungkorean'] = 0x3180;\n t['ssangkiyeokkorean'] = 0x3132;\n t['ssangnieunkorean'] = 0x3165;\n t['ssangpieupkorean'] = 0x3143;\n t['ssangsioskorean'] = 0x3146;\n t['ssangtikeutkorean'] = 0x3138;\n t['ssuperior'] = 0xF6F2;\n t['sterling'] = 0x00A3;\n t['sterlingmonospace'] = 0xFFE1;\n t['strokelongoverlaycmb'] = 0x0336;\n t['strokeshortoverlaycmb'] = 0x0335;\n t['subset'] = 0x2282;\n t['subsetnotequal'] = 0x228A;\n t['subsetorequal'] = 0x2286;\n t['succeeds'] = 0x227B;\n t['suchthat'] = 0x220B;\n t['suhiragana'] = 0x3059;\n t['sukatakana'] = 0x30B9;\n t['sukatakanahalfwidth'] = 0xFF7D;\n t['sukunarabic'] = 0x0652;\n t['summation'] = 0x2211;\n t['sun'] = 0x263C;\n t['superset'] = 0x2283;\n t['supersetnotequal'] = 0x228B;\n t['supersetorequal'] = 0x2287;\n t['svsquare'] = 0x33DC;\n t['syouwaerasquare'] = 0x337C;\n t['t'] = 0x0074;\n t['tabengali'] = 0x09A4;\n t['tackdown'] = 0x22A4;\n t['tackleft'] = 0x22A3;\n t['tadeva'] = 0x0924;\n t['tagujarati'] = 0x0AA4;\n t['tagurmukhi'] = 0x0A24;\n t['taharabic'] = 0x0637;\n t['tahfinalarabic'] = 0xFEC2;\n t['tahinitialarabic'] = 0xFEC3;\n t['tahiragana'] = 0x305F;\n t['tahmedialarabic'] = 0xFEC4;\n t['taisyouerasquare'] = 0x337D;\n t['takatakana'] = 0x30BF;\n t['takatakanahalfwidth'] = 0xFF80;\n t['tatweelarabic'] = 0x0640;\n t['tau'] = 0x03C4;\n t['tav'] = 0x05EA;\n t['tavdages'] = 0xFB4A;\n t['tavdagesh'] = 0xFB4A;\n t['tavdageshhebrew'] = 0xFB4A;\n t['tavhebrew'] = 0x05EA;\n t['tbar'] = 0x0167;\n t['tbopomofo'] = 0x310A;\n t['tcaron'] = 0x0165;\n t['tccurl'] = 0x02A8;\n t['tcedilla'] = 0x0163;\n t['tcheharabic'] = 0x0686;\n t['tchehfinalarabic'] = 0xFB7B;\n t['tchehinitialarabic'] = 0xFB7C;\n t['tchehmedialarabic'] = 0xFB7D;\n t['tcircle'] = 0x24E3;\n t['tcircumflexbelow'] = 0x1E71;\n t['tcommaaccent'] = 0x0163;\n t['tdieresis'] = 0x1E97;\n t['tdotaccent'] = 0x1E6B;\n t['tdotbelow'] = 0x1E6D;\n t['tecyrillic'] = 0x0442;\n t['tedescendercyrillic'] = 0x04AD;\n t['teharabic'] = 0x062A;\n t['tehfinalarabic'] = 0xFE96;\n t['tehhahinitialarabic'] = 0xFCA2;\n t['tehhahisolatedarabic'] = 0xFC0C;\n t['tehinitialarabic'] = 0xFE97;\n t['tehiragana'] = 0x3066;\n t['tehjeeminitialarabic'] = 0xFCA1;\n t['tehjeemisolatedarabic'] = 0xFC0B;\n t['tehmarbutaarabic'] = 0x0629;\n t['tehmarbutafinalarabic'] = 0xFE94;\n t['tehmedialarabic'] = 0xFE98;\n t['tehmeeminitialarabic'] = 0xFCA4;\n t['tehmeemisolatedarabic'] = 0xFC0E;\n t['tehnoonfinalarabic'] = 0xFC73;\n t['tekatakana'] = 0x30C6;\n t['tekatakanahalfwidth'] = 0xFF83;\n t['telephone'] = 0x2121;\n t['telephoneblack'] = 0x260E;\n t['telishagedolahebrew'] = 0x05A0;\n t['telishaqetanahebrew'] = 0x05A9;\n t['tencircle'] = 0x2469;\n t['tenideographicparen'] = 0x3229;\n t['tenparen'] = 0x247D;\n t['tenperiod'] = 0x2491;\n t['tenroman'] = 0x2179;\n t['tesh'] = 0x02A7;\n t['tet'] = 0x05D8;\n t['tetdagesh'] = 0xFB38;\n t['tetdageshhebrew'] = 0xFB38;\n t['tethebrew'] = 0x05D8;\n t['tetsecyrillic'] = 0x04B5;\n t['tevirhebrew'] = 0x059B;\n t['tevirlefthebrew'] = 0x059B;\n t['thabengali'] = 0x09A5;\n t['thadeva'] = 0x0925;\n t['thagujarati'] = 0x0AA5;\n t['thagurmukhi'] = 0x0A25;\n t['thalarabic'] = 0x0630;\n t['thalfinalarabic'] = 0xFEAC;\n t['thanthakhatlowleftthai'] = 0xF898;\n t['thanthakhatlowrightthai'] = 0xF897;\n t['thanthakhatthai'] = 0x0E4C;\n t['thanthakhatupperleftthai'] = 0xF896;\n t['theharabic'] = 0x062B;\n t['thehfinalarabic'] = 0xFE9A;\n t['thehinitialarabic'] = 0xFE9B;\n t['thehmedialarabic'] = 0xFE9C;\n t['thereexists'] = 0x2203;\n t['therefore'] = 0x2234;\n t['theta'] = 0x03B8;\n t['theta1'] = 0x03D1;\n t['thetasymbolgreek'] = 0x03D1;\n t['thieuthacirclekorean'] = 0x3279;\n t['thieuthaparenkorean'] = 0x3219;\n t['thieuthcirclekorean'] = 0x326B;\n t['thieuthkorean'] = 0x314C;\n t['thieuthparenkorean'] = 0x320B;\n t['thirteencircle'] = 0x246C;\n t['thirteenparen'] = 0x2480;\n t['thirteenperiod'] = 0x2494;\n t['thonangmonthothai'] = 0x0E11;\n t['thook'] = 0x01AD;\n t['thophuthaothai'] = 0x0E12;\n t['thorn'] = 0x00FE;\n t['thothahanthai'] = 0x0E17;\n t['thothanthai'] = 0x0E10;\n t['thothongthai'] = 0x0E18;\n t['thothungthai'] = 0x0E16;\n t['thousandcyrillic'] = 0x0482;\n t['thousandsseparatorarabic'] = 0x066C;\n t['thousandsseparatorpersian'] = 0x066C;\n t['three'] = 0x0033;\n t['threearabic'] = 0x0663;\n t['threebengali'] = 0x09E9;\n t['threecircle'] = 0x2462;\n t['threecircleinversesansserif'] = 0x278C;\n t['threedeva'] = 0x0969;\n t['threeeighths'] = 0x215C;\n t['threegujarati'] = 0x0AE9;\n t['threegurmukhi'] = 0x0A69;\n t['threehackarabic'] = 0x0663;\n t['threehangzhou'] = 0x3023;\n t['threeideographicparen'] = 0x3222;\n t['threeinferior'] = 0x2083;\n t['threemonospace'] = 0xFF13;\n t['threenumeratorbengali'] = 0x09F6;\n t['threeoldstyle'] = 0xF733;\n t['threeparen'] = 0x2476;\n t['threeperiod'] = 0x248A;\n t['threepersian'] = 0x06F3;\n t['threequarters'] = 0x00BE;\n t['threequartersemdash'] = 0xF6DE;\n t['threeroman'] = 0x2172;\n t['threesuperior'] = 0x00B3;\n t['threethai'] = 0x0E53;\n t['thzsquare'] = 0x3394;\n t['tihiragana'] = 0x3061;\n t['tikatakana'] = 0x30C1;\n t['tikatakanahalfwidth'] = 0xFF81;\n t['tikeutacirclekorean'] = 0x3270;\n t['tikeutaparenkorean'] = 0x3210;\n t['tikeutcirclekorean'] = 0x3262;\n t['tikeutkorean'] = 0x3137;\n t['tikeutparenkorean'] = 0x3202;\n t['tilde'] = 0x02DC;\n t['tildebelowcmb'] = 0x0330;\n t['tildecmb'] = 0x0303;\n t['tildecomb'] = 0x0303;\n t['tildedoublecmb'] = 0x0360;\n t['tildeoperator'] = 0x223C;\n t['tildeoverlaycmb'] = 0x0334;\n t['tildeverticalcmb'] = 0x033E;\n t['timescircle'] = 0x2297;\n t['tipehahebrew'] = 0x0596;\n t['tipehalefthebrew'] = 0x0596;\n t['tippigurmukhi'] = 0x0A70;\n t['titlocyrilliccmb'] = 0x0483;\n t['tiwnarmenian'] = 0x057F;\n t['tlinebelow'] = 0x1E6F;\n t['tmonospace'] = 0xFF54;\n t['toarmenian'] = 0x0569;\n t['tohiragana'] = 0x3068;\n t['tokatakana'] = 0x30C8;\n t['tokatakanahalfwidth'] = 0xFF84;\n t['tonebarextrahighmod'] = 0x02E5;\n t['tonebarextralowmod'] = 0x02E9;\n t['tonebarhighmod'] = 0x02E6;\n t['tonebarlowmod'] = 0x02E8;\n t['tonebarmidmod'] = 0x02E7;\n t['tonefive'] = 0x01BD;\n t['tonesix'] = 0x0185;\n t['tonetwo'] = 0x01A8;\n t['tonos'] = 0x0384;\n t['tonsquare'] = 0x3327;\n t['topatakthai'] = 0x0E0F;\n t['tortoiseshellbracketleft'] = 0x3014;\n t['tortoiseshellbracketleftsmall'] = 0xFE5D;\n t['tortoiseshellbracketleftvertical'] = 0xFE39;\n t['tortoiseshellbracketright'] = 0x3015;\n t['tortoiseshellbracketrightsmall'] = 0xFE5E;\n t['tortoiseshellbracketrightvertical'] = 0xFE3A;\n t['totaothai'] = 0x0E15;\n t['tpalatalhook'] = 0x01AB;\n t['tparen'] = 0x24AF;\n t['trademark'] = 0x2122;\n t['trademarksans'] = 0xF8EA;\n t['trademarkserif'] = 0xF6DB;\n t['tretroflexhook'] = 0x0288;\n t['triagdn'] = 0x25BC;\n t['triaglf'] = 0x25C4;\n t['triagrt'] = 0x25BA;\n t['triagup'] = 0x25B2;\n t['ts'] = 0x02A6;\n t['tsadi'] = 0x05E6;\n t['tsadidagesh'] = 0xFB46;\n t['tsadidageshhebrew'] = 0xFB46;\n t['tsadihebrew'] = 0x05E6;\n t['tsecyrillic'] = 0x0446;\n t['tsere'] = 0x05B5;\n t['tsere12'] = 0x05B5;\n t['tsere1e'] = 0x05B5;\n t['tsere2b'] = 0x05B5;\n t['tserehebrew'] = 0x05B5;\n t['tserenarrowhebrew'] = 0x05B5;\n t['tserequarterhebrew'] = 0x05B5;\n t['tserewidehebrew'] = 0x05B5;\n t['tshecyrillic'] = 0x045B;\n t['tsuperior'] = 0xF6F3;\n t['ttabengali'] = 0x099F;\n t['ttadeva'] = 0x091F;\n t['ttagujarati'] = 0x0A9F;\n t['ttagurmukhi'] = 0x0A1F;\n t['tteharabic'] = 0x0679;\n t['ttehfinalarabic'] = 0xFB67;\n t['ttehinitialarabic'] = 0xFB68;\n t['ttehmedialarabic'] = 0xFB69;\n t['tthabengali'] = 0x09A0;\n t['tthadeva'] = 0x0920;\n t['tthagujarati'] = 0x0AA0;\n t['tthagurmukhi'] = 0x0A20;\n t['tturned'] = 0x0287;\n t['tuhiragana'] = 0x3064;\n t['tukatakana'] = 0x30C4;\n t['tukatakanahalfwidth'] = 0xFF82;\n t['tusmallhiragana'] = 0x3063;\n t['tusmallkatakana'] = 0x30C3;\n t['tusmallkatakanahalfwidth'] = 0xFF6F;\n t['twelvecircle'] = 0x246B;\n t['twelveparen'] = 0x247F;\n t['twelveperiod'] = 0x2493;\n t['twelveroman'] = 0x217B;\n t['twentycircle'] = 0x2473;\n t['twentyhangzhou'] = 0x5344;\n t['twentyparen'] = 0x2487;\n t['twentyperiod'] = 0x249B;\n t['two'] = 0x0032;\n t['twoarabic'] = 0x0662;\n t['twobengali'] = 0x09E8;\n t['twocircle'] = 0x2461;\n t['twocircleinversesansserif'] = 0x278B;\n t['twodeva'] = 0x0968;\n t['twodotenleader'] = 0x2025;\n t['twodotleader'] = 0x2025;\n t['twodotleadervertical'] = 0xFE30;\n t['twogujarati'] = 0x0AE8;\n t['twogurmukhi'] = 0x0A68;\n t['twohackarabic'] = 0x0662;\n t['twohangzhou'] = 0x3022;\n t['twoideographicparen'] = 0x3221;\n t['twoinferior'] = 0x2082;\n t['twomonospace'] = 0xFF12;\n t['twonumeratorbengali'] = 0x09F5;\n t['twooldstyle'] = 0xF732;\n t['twoparen'] = 0x2475;\n t['twoperiod'] = 0x2489;\n t['twopersian'] = 0x06F2;\n t['tworoman'] = 0x2171;\n t['twostroke'] = 0x01BB;\n t['twosuperior'] = 0x00B2;\n t['twothai'] = 0x0E52;\n t['twothirds'] = 0x2154;\n t['u'] = 0x0075;\n t['uacute'] = 0x00FA;\n t['ubar'] = 0x0289;\n t['ubengali'] = 0x0989;\n t['ubopomofo'] = 0x3128;\n t['ubreve'] = 0x016D;\n t['ucaron'] = 0x01D4;\n t['ucircle'] = 0x24E4;\n t['ucircumflex'] = 0x00FB;\n t['ucircumflexbelow'] = 0x1E77;\n t['ucyrillic'] = 0x0443;\n t['udattadeva'] = 0x0951;\n t['udblacute'] = 0x0171;\n t['udblgrave'] = 0x0215;\n t['udeva'] = 0x0909;\n t['udieresis'] = 0x00FC;\n t['udieresisacute'] = 0x01D8;\n t['udieresisbelow'] = 0x1E73;\n t['udieresiscaron'] = 0x01DA;\n t['udieresiscyrillic'] = 0x04F1;\n t['udieresisgrave'] = 0x01DC;\n t['udieresismacron'] = 0x01D6;\n t['udotbelow'] = 0x1EE5;\n t['ugrave'] = 0x00F9;\n t['ugujarati'] = 0x0A89;\n t['ugurmukhi'] = 0x0A09;\n t['uhiragana'] = 0x3046;\n t['uhookabove'] = 0x1EE7;\n t['uhorn'] = 0x01B0;\n t['uhornacute'] = 0x1EE9;\n t['uhorndotbelow'] = 0x1EF1;\n t['uhorngrave'] = 0x1EEB;\n t['uhornhookabove'] = 0x1EED;\n t['uhorntilde'] = 0x1EEF;\n t['uhungarumlaut'] = 0x0171;\n t['uhungarumlautcyrillic'] = 0x04F3;\n t['uinvertedbreve'] = 0x0217;\n t['ukatakana'] = 0x30A6;\n t['ukatakanahalfwidth'] = 0xFF73;\n t['ukcyrillic'] = 0x0479;\n t['ukorean'] = 0x315C;\n t['umacron'] = 0x016B;\n t['umacroncyrillic'] = 0x04EF;\n t['umacrondieresis'] = 0x1E7B;\n t['umatragurmukhi'] = 0x0A41;\n t['umonospace'] = 0xFF55;\n t['underscore'] = 0x005F;\n t['underscoredbl'] = 0x2017;\n t['underscoremonospace'] = 0xFF3F;\n t['underscorevertical'] = 0xFE33;\n t['underscorewavy'] = 0xFE4F;\n t['union'] = 0x222A;\n t['universal'] = 0x2200;\n t['uogonek'] = 0x0173;\n t['uparen'] = 0x24B0;\n t['upblock'] = 0x2580;\n t['upperdothebrew'] = 0x05C4;\n t['upsilon'] = 0x03C5;\n t['upsilondieresis'] = 0x03CB;\n t['upsilondieresistonos'] = 0x03B0;\n t['upsilonlatin'] = 0x028A;\n t['upsilontonos'] = 0x03CD;\n t['uptackbelowcmb'] = 0x031D;\n t['uptackmod'] = 0x02D4;\n t['uragurmukhi'] = 0x0A73;\n t['uring'] = 0x016F;\n t['ushortcyrillic'] = 0x045E;\n t['usmallhiragana'] = 0x3045;\n t['usmallkatakana'] = 0x30A5;\n t['usmallkatakanahalfwidth'] = 0xFF69;\n t['ustraightcyrillic'] = 0x04AF;\n t['ustraightstrokecyrillic'] = 0x04B1;\n t['utilde'] = 0x0169;\n t['utildeacute'] = 0x1E79;\n t['utildebelow'] = 0x1E75;\n t['uubengali'] = 0x098A;\n t['uudeva'] = 0x090A;\n t['uugujarati'] = 0x0A8A;\n t['uugurmukhi'] = 0x0A0A;\n t['uumatragurmukhi'] = 0x0A42;\n t['uuvowelsignbengali'] = 0x09C2;\n t['uuvowelsigndeva'] = 0x0942;\n t['uuvowelsigngujarati'] = 0x0AC2;\n t['uvowelsignbengali'] = 0x09C1;\n t['uvowelsigndeva'] = 0x0941;\n t['uvowelsigngujarati'] = 0x0AC1;\n t['v'] = 0x0076;\n t['vadeva'] = 0x0935;\n t['vagujarati'] = 0x0AB5;\n t['vagurmukhi'] = 0x0A35;\n t['vakatakana'] = 0x30F7;\n t['vav'] = 0x05D5;\n t['vavdagesh'] = 0xFB35;\n t['vavdagesh65'] = 0xFB35;\n t['vavdageshhebrew'] = 0xFB35;\n t['vavhebrew'] = 0x05D5;\n t['vavholam'] = 0xFB4B;\n t['vavholamhebrew'] = 0xFB4B;\n t['vavvavhebrew'] = 0x05F0;\n t['vavyodhebrew'] = 0x05F1;\n t['vcircle'] = 0x24E5;\n t['vdotbelow'] = 0x1E7F;\n t['vecyrillic'] = 0x0432;\n t['veharabic'] = 0x06A4;\n t['vehfinalarabic'] = 0xFB6B;\n t['vehinitialarabic'] = 0xFB6C;\n t['vehmedialarabic'] = 0xFB6D;\n t['vekatakana'] = 0x30F9;\n t['venus'] = 0x2640;\n t['verticalbar'] = 0x007C;\n t['verticallineabovecmb'] = 0x030D;\n t['verticallinebelowcmb'] = 0x0329;\n t['verticallinelowmod'] = 0x02CC;\n t['verticallinemod'] = 0x02C8;\n t['vewarmenian'] = 0x057E;\n t['vhook'] = 0x028B;\n t['vikatakana'] = 0x30F8;\n t['viramabengali'] = 0x09CD;\n t['viramadeva'] = 0x094D;\n t['viramagujarati'] = 0x0ACD;\n t['visargabengali'] = 0x0983;\n t['visargadeva'] = 0x0903;\n t['visargagujarati'] = 0x0A83;\n t['vmonospace'] = 0xFF56;\n t['voarmenian'] = 0x0578;\n t['voicediterationhiragana'] = 0x309E;\n t['voicediterationkatakana'] = 0x30FE;\n t['voicedmarkkana'] = 0x309B;\n t['voicedmarkkanahalfwidth'] = 0xFF9E;\n t['vokatakana'] = 0x30FA;\n t['vparen'] = 0x24B1;\n t['vtilde'] = 0x1E7D;\n t['vturned'] = 0x028C;\n t['vuhiragana'] = 0x3094;\n t['vukatakana'] = 0x30F4;\n t['w'] = 0x0077;\n t['wacute'] = 0x1E83;\n t['waekorean'] = 0x3159;\n t['wahiragana'] = 0x308F;\n t['wakatakana'] = 0x30EF;\n t['wakatakanahalfwidth'] = 0xFF9C;\n t['wakorean'] = 0x3158;\n t['wasmallhiragana'] = 0x308E;\n t['wasmallkatakana'] = 0x30EE;\n t['wattosquare'] = 0x3357;\n t['wavedash'] = 0x301C;\n t['wavyunderscorevertical'] = 0xFE34;\n t['wawarabic'] = 0x0648;\n t['wawfinalarabic'] = 0xFEEE;\n t['wawhamzaabovearabic'] = 0x0624;\n t['wawhamzaabovefinalarabic'] = 0xFE86;\n t['wbsquare'] = 0x33DD;\n t['wcircle'] = 0x24E6;\n t['wcircumflex'] = 0x0175;\n t['wdieresis'] = 0x1E85;\n t['wdotaccent'] = 0x1E87;\n t['wdotbelow'] = 0x1E89;\n t['wehiragana'] = 0x3091;\n t['weierstrass'] = 0x2118;\n t['wekatakana'] = 0x30F1;\n t['wekorean'] = 0x315E;\n t['weokorean'] = 0x315D;\n t['wgrave'] = 0x1E81;\n t['whitebullet'] = 0x25E6;\n t['whitecircle'] = 0x25CB;\n t['whitecircleinverse'] = 0x25D9;\n t['whitecornerbracketleft'] = 0x300E;\n t['whitecornerbracketleftvertical'] = 0xFE43;\n t['whitecornerbracketright'] = 0x300F;\n t['whitecornerbracketrightvertical'] = 0xFE44;\n t['whitediamond'] = 0x25C7;\n t['whitediamondcontainingblacksmalldiamond'] = 0x25C8;\n t['whitedownpointingsmalltriangle'] = 0x25BF;\n t['whitedownpointingtriangle'] = 0x25BD;\n t['whiteleftpointingsmalltriangle'] = 0x25C3;\n t['whiteleftpointingtriangle'] = 0x25C1;\n t['whitelenticularbracketleft'] = 0x3016;\n t['whitelenticularbracketright'] = 0x3017;\n t['whiterightpointingsmalltriangle'] = 0x25B9;\n t['whiterightpointingtriangle'] = 0x25B7;\n t['whitesmallsquare'] = 0x25AB;\n t['whitesmilingface'] = 0x263A;\n t['whitesquare'] = 0x25A1;\n t['whitestar'] = 0x2606;\n t['whitetelephone'] = 0x260F;\n t['whitetortoiseshellbracketleft'] = 0x3018;\n t['whitetortoiseshellbracketright'] = 0x3019;\n t['whiteuppointingsmalltriangle'] = 0x25B5;\n t['whiteuppointingtriangle'] = 0x25B3;\n t['wihiragana'] = 0x3090;\n t['wikatakana'] = 0x30F0;\n t['wikorean'] = 0x315F;\n t['wmonospace'] = 0xFF57;\n t['wohiragana'] = 0x3092;\n t['wokatakana'] = 0x30F2;\n t['wokatakanahalfwidth'] = 0xFF66;\n t['won'] = 0x20A9;\n t['wonmonospace'] = 0xFFE6;\n t['wowaenthai'] = 0x0E27;\n t['wparen'] = 0x24B2;\n t['wring'] = 0x1E98;\n t['wsuperior'] = 0x02B7;\n t['wturned'] = 0x028D;\n t['wynn'] = 0x01BF;\n t['x'] = 0x0078;\n t['xabovecmb'] = 0x033D;\n t['xbopomofo'] = 0x3112;\n t['xcircle'] = 0x24E7;\n t['xdieresis'] = 0x1E8D;\n t['xdotaccent'] = 0x1E8B;\n t['xeharmenian'] = 0x056D;\n t['xi'] = 0x03BE;\n t['xmonospace'] = 0xFF58;\n t['xparen'] = 0x24B3;\n t['xsuperior'] = 0x02E3;\n t['y'] = 0x0079;\n t['yaadosquare'] = 0x334E;\n t['yabengali'] = 0x09AF;\n t['yacute'] = 0x00FD;\n t['yadeva'] = 0x092F;\n t['yaekorean'] = 0x3152;\n t['yagujarati'] = 0x0AAF;\n t['yagurmukhi'] = 0x0A2F;\n t['yahiragana'] = 0x3084;\n t['yakatakana'] = 0x30E4;\n t['yakatakanahalfwidth'] = 0xFF94;\n t['yakorean'] = 0x3151;\n t['yamakkanthai'] = 0x0E4E;\n t['yasmallhiragana'] = 0x3083;\n t['yasmallkatakana'] = 0x30E3;\n t['yasmallkatakanahalfwidth'] = 0xFF6C;\n t['yatcyrillic'] = 0x0463;\n t['ycircle'] = 0x24E8;\n t['ycircumflex'] = 0x0177;\n t['ydieresis'] = 0x00FF;\n t['ydotaccent'] = 0x1E8F;\n t['ydotbelow'] = 0x1EF5;\n t['yeharabic'] = 0x064A;\n t['yehbarreearabic'] = 0x06D2;\n t['yehbarreefinalarabic'] = 0xFBAF;\n t['yehfinalarabic'] = 0xFEF2;\n t['yehhamzaabovearabic'] = 0x0626;\n t['yehhamzaabovefinalarabic'] = 0xFE8A;\n t['yehhamzaaboveinitialarabic'] = 0xFE8B;\n t['yehhamzaabovemedialarabic'] = 0xFE8C;\n t['yehinitialarabic'] = 0xFEF3;\n t['yehmedialarabic'] = 0xFEF4;\n t['yehmeeminitialarabic'] = 0xFCDD;\n t['yehmeemisolatedarabic'] = 0xFC58;\n t['yehnoonfinalarabic'] = 0xFC94;\n t['yehthreedotsbelowarabic'] = 0x06D1;\n t['yekorean'] = 0x3156;\n t['yen'] = 0x00A5;\n t['yenmonospace'] = 0xFFE5;\n t['yeokorean'] = 0x3155;\n t['yeorinhieuhkorean'] = 0x3186;\n t['yerahbenyomohebrew'] = 0x05AA;\n t['yerahbenyomolefthebrew'] = 0x05AA;\n t['yericyrillic'] = 0x044B;\n t['yerudieresiscyrillic'] = 0x04F9;\n t['yesieungkorean'] = 0x3181;\n t['yesieungpansioskorean'] = 0x3183;\n t['yesieungsioskorean'] = 0x3182;\n t['yetivhebrew'] = 0x059A;\n t['ygrave'] = 0x1EF3;\n t['yhook'] = 0x01B4;\n t['yhookabove'] = 0x1EF7;\n t['yiarmenian'] = 0x0575;\n t['yicyrillic'] = 0x0457;\n t['yikorean'] = 0x3162;\n t['yinyang'] = 0x262F;\n t['yiwnarmenian'] = 0x0582;\n t['ymonospace'] = 0xFF59;\n t['yod'] = 0x05D9;\n t['yoddagesh'] = 0xFB39;\n t['yoddageshhebrew'] = 0xFB39;\n t['yodhebrew'] = 0x05D9;\n t['yodyodhebrew'] = 0x05F2;\n t['yodyodpatahhebrew'] = 0xFB1F;\n t['yohiragana'] = 0x3088;\n t['yoikorean'] = 0x3189;\n t['yokatakana'] = 0x30E8;\n t['yokatakanahalfwidth'] = 0xFF96;\n t['yokorean'] = 0x315B;\n t['yosmallhiragana'] = 0x3087;\n t['yosmallkatakana'] = 0x30E7;\n t['yosmallkatakanahalfwidth'] = 0xFF6E;\n t['yotgreek'] = 0x03F3;\n t['yoyaekorean'] = 0x3188;\n t['yoyakorean'] = 0x3187;\n t['yoyakthai'] = 0x0E22;\n t['yoyingthai'] = 0x0E0D;\n t['yparen'] = 0x24B4;\n t['ypogegrammeni'] = 0x037A;\n t['ypogegrammenigreekcmb'] = 0x0345;\n t['yr'] = 0x01A6;\n t['yring'] = 0x1E99;\n t['ysuperior'] = 0x02B8;\n t['ytilde'] = 0x1EF9;\n t['yturned'] = 0x028E;\n t['yuhiragana'] = 0x3086;\n t['yuikorean'] = 0x318C;\n t['yukatakana'] = 0x30E6;\n t['yukatakanahalfwidth'] = 0xFF95;\n t['yukorean'] = 0x3160;\n t['yusbigcyrillic'] = 0x046B;\n t['yusbigiotifiedcyrillic'] = 0x046D;\n t['yuslittlecyrillic'] = 0x0467;\n t['yuslittleiotifiedcyrillic'] = 0x0469;\n t['yusmallhiragana'] = 0x3085;\n t['yusmallkatakana'] = 0x30E5;\n t['yusmallkatakanahalfwidth'] = 0xFF6D;\n t['yuyekorean'] = 0x318B;\n t['yuyeokorean'] = 0x318A;\n t['yyabengali'] = 0x09DF;\n t['yyadeva'] = 0x095F;\n t['z'] = 0x007A;\n t['zaarmenian'] = 0x0566;\n t['zacute'] = 0x017A;\n t['zadeva'] = 0x095B;\n t['zagurmukhi'] = 0x0A5B;\n t['zaharabic'] = 0x0638;\n t['zahfinalarabic'] = 0xFEC6;\n t['zahinitialarabic'] = 0xFEC7;\n t['zahiragana'] = 0x3056;\n t['zahmedialarabic'] = 0xFEC8;\n t['zainarabic'] = 0x0632;\n t['zainfinalarabic'] = 0xFEB0;\n t['zakatakana'] = 0x30B6;\n t['zaqefgadolhebrew'] = 0x0595;\n t['zaqefqatanhebrew'] = 0x0594;\n t['zarqahebrew'] = 0x0598;\n t['zayin'] = 0x05D6;\n t['zayindagesh'] = 0xFB36;\n t['zayindageshhebrew'] = 0xFB36;\n t['zayinhebrew'] = 0x05D6;\n t['zbopomofo'] = 0x3117;\n t['zcaron'] = 0x017E;\n t['zcircle'] = 0x24E9;\n t['zcircumflex'] = 0x1E91;\n t['zcurl'] = 0x0291;\n t['zdot'] = 0x017C;\n t['zdotaccent'] = 0x017C;\n t['zdotbelow'] = 0x1E93;\n t['zecyrillic'] = 0x0437;\n t['zedescendercyrillic'] = 0x0499;\n t['zedieresiscyrillic'] = 0x04DF;\n t['zehiragana'] = 0x305C;\n t['zekatakana'] = 0x30BC;\n t['zero'] = 0x0030;\n t['zeroarabic'] = 0x0660;\n t['zerobengali'] = 0x09E6;\n t['zerodeva'] = 0x0966;\n t['zerogujarati'] = 0x0AE6;\n t['zerogurmukhi'] = 0x0A66;\n t['zerohackarabic'] = 0x0660;\n t['zeroinferior'] = 0x2080;\n t['zeromonospace'] = 0xFF10;\n t['zerooldstyle'] = 0xF730;\n t['zeropersian'] = 0x06F0;\n t['zerosuperior'] = 0x2070;\n t['zerothai'] = 0x0E50;\n t['zerowidthjoiner'] = 0xFEFF;\n t['zerowidthnonjoiner'] = 0x200C;\n t['zerowidthspace'] = 0x200B;\n t['zeta'] = 0x03B6;\n t['zhbopomofo'] = 0x3113;\n t['zhearmenian'] = 0x056A;\n t['zhebrevecyrillic'] = 0x04C2;\n t['zhecyrillic'] = 0x0436;\n t['zhedescendercyrillic'] = 0x0497;\n t['zhedieresiscyrillic'] = 0x04DD;\n t['zihiragana'] = 0x3058;\n t['zikatakana'] = 0x30B8;\n t['zinorhebrew'] = 0x05AE;\n t['zlinebelow'] = 0x1E95;\n t['zmonospace'] = 0xFF5A;\n t['zohiragana'] = 0x305E;\n t['zokatakana'] = 0x30BE;\n t['zparen'] = 0x24B5;\n t['zretroflexhook'] = 0x0290;\n t['zstroke'] = 0x01B6;\n t['zuhiragana'] = 0x305A;\n t['zukatakana'] = 0x30BA;\n t['.notdef'] = 0x0000;\n t['angbracketleftbig'] = 0x2329;\n t['angbracketleftBig'] = 0x2329;\n t['angbracketleftbigg'] = 0x2329;\n t['angbracketleftBigg'] = 0x2329;\n t['angbracketrightBig'] = 0x232A;\n t['angbracketrightbig'] = 0x232A;\n t['angbracketrightBigg'] = 0x232A;\n t['angbracketrightbigg'] = 0x232A;\n t['arrowhookleft'] = 0x21AA;\n t['arrowhookright'] = 0x21A9;\n t['arrowlefttophalf'] = 0x21BC;\n t['arrowleftbothalf'] = 0x21BD;\n t['arrownortheast'] = 0x2197;\n t['arrownorthwest'] = 0x2196;\n t['arrowrighttophalf'] = 0x21C0;\n t['arrowrightbothalf'] = 0x21C1;\n t['arrowsoutheast'] = 0x2198;\n t['arrowsouthwest'] = 0x2199;\n t['backslashbig'] = 0x2216;\n t['backslashBig'] = 0x2216;\n t['backslashBigg'] = 0x2216;\n t['backslashbigg'] = 0x2216;\n t['bardbl'] = 0x2016;\n t['bracehtipdownleft'] = 0xFE37;\n t['bracehtipdownright'] = 0xFE37;\n t['bracehtipupleft'] = 0xFE38;\n t['bracehtipupright'] = 0xFE38;\n t['braceleftBig'] = 0x007B;\n t['braceleftbig'] = 0x007B;\n t['braceleftbigg'] = 0x007B;\n t['braceleftBigg'] = 0x007B;\n t['bracerightBig'] = 0x007D;\n t['bracerightbig'] = 0x007D;\n t['bracerightbigg'] = 0x007D;\n t['bracerightBigg'] = 0x007D;\n t['bracketleftbig'] = 0x005B;\n t['bracketleftBig'] = 0x005B;\n t['bracketleftbigg'] = 0x005B;\n t['bracketleftBigg'] = 0x005B;\n t['bracketrightBig'] = 0x005D;\n t['bracketrightbig'] = 0x005D;\n t['bracketrightbigg'] = 0x005D;\n t['bracketrightBigg'] = 0x005D;\n t['ceilingleftbig'] = 0x2308;\n t['ceilingleftBig'] = 0x2308;\n t['ceilingleftBigg'] = 0x2308;\n t['ceilingleftbigg'] = 0x2308;\n t['ceilingrightbig'] = 0x2309;\n t['ceilingrightBig'] = 0x2309;\n t['ceilingrightbigg'] = 0x2309;\n t['ceilingrightBigg'] = 0x2309;\n t['circledotdisplay'] = 0x2299;\n t['circledottext'] = 0x2299;\n t['circlemultiplydisplay'] = 0x2297;\n t['circlemultiplytext'] = 0x2297;\n t['circleplusdisplay'] = 0x2295;\n t['circleplustext'] = 0x2295;\n t['contintegraldisplay'] = 0x222E;\n t['contintegraltext'] = 0x222E;\n t['coproductdisplay'] = 0x2210;\n t['coproducttext'] = 0x2210;\n t['floorleftBig'] = 0x230A;\n t['floorleftbig'] = 0x230A;\n t['floorleftbigg'] = 0x230A;\n t['floorleftBigg'] = 0x230A;\n t['floorrightbig'] = 0x230B;\n t['floorrightBig'] = 0x230B;\n t['floorrightBigg'] = 0x230B;\n t['floorrightbigg'] = 0x230B;\n t['hatwide'] = 0x0302;\n t['hatwider'] = 0x0302;\n t['hatwidest'] = 0x0302;\n t['intercal'] = 0x1D40;\n t['integraldisplay'] = 0x222B;\n t['integraltext'] = 0x222B;\n t['intersectiondisplay'] = 0x22C2;\n t['intersectiontext'] = 0x22C2;\n t['logicalanddisplay'] = 0x2227;\n t['logicalandtext'] = 0x2227;\n t['logicalordisplay'] = 0x2228;\n t['logicalortext'] = 0x2228;\n t['parenleftBig'] = 0x0028;\n t['parenleftbig'] = 0x0028;\n t['parenleftBigg'] = 0x0028;\n t['parenleftbigg'] = 0x0028;\n t['parenrightBig'] = 0x0029;\n t['parenrightbig'] = 0x0029;\n t['parenrightBigg'] = 0x0029;\n t['parenrightbigg'] = 0x0029;\n t['prime'] = 0x2032;\n t['productdisplay'] = 0x220F;\n t['producttext'] = 0x220F;\n t['radicalbig'] = 0x221A;\n t['radicalBig'] = 0x221A;\n t['radicalBigg'] = 0x221A;\n t['radicalbigg'] = 0x221A;\n t['radicalbt'] = 0x221A;\n t['radicaltp'] = 0x221A;\n t['radicalvertex'] = 0x221A;\n t['slashbig'] = 0x002F;\n t['slashBig'] = 0x002F;\n t['slashBigg'] = 0x002F;\n t['slashbigg'] = 0x002F;\n t['summationdisplay'] = 0x2211;\n t['summationtext'] = 0x2211;\n t['tildewide'] = 0x02DC;\n t['tildewider'] = 0x02DC;\n t['tildewidest'] = 0x02DC;\n t['uniondisplay'] = 0x22C3;\n t['unionmultidisplay'] = 0x228E;\n t['unionmultitext'] = 0x228E;\n t['unionsqdisplay'] = 0x2294;\n t['unionsqtext'] = 0x2294;\n t['uniontext'] = 0x22C3;\n t['vextenddouble'] = 0x2225;\n t['vextendsingle'] = 0x2223;\n});\nvar getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {\n t['space'] = 0x0020;\n t['a1'] = 0x2701;\n t['a2'] = 0x2702;\n t['a202'] = 0x2703;\n t['a3'] = 0x2704;\n t['a4'] = 0x260E;\n t['a5'] = 0x2706;\n t['a119'] = 0x2707;\n t['a118'] = 0x2708;\n t['a117'] = 0x2709;\n t['a11'] = 0x261B;\n t['a12'] = 0x261E;\n t['a13'] = 0x270C;\n t['a14'] = 0x270D;\n t['a15'] = 0x270E;\n t['a16'] = 0x270F;\n t['a105'] = 0x2710;\n t['a17'] = 0x2711;\n t['a18'] = 0x2712;\n t['a19'] = 0x2713;\n t['a20'] = 0x2714;\n t['a21'] = 0x2715;\n t['a22'] = 0x2716;\n t['a23'] = 0x2717;\n t['a24'] = 0x2718;\n t['a25'] = 0x2719;\n t['a26'] = 0x271A;\n t['a27'] = 0x271B;\n t['a28'] = 0x271C;\n t['a6'] = 0x271D;\n t['a7'] = 0x271E;\n t['a8'] = 0x271F;\n t['a9'] = 0x2720;\n t['a10'] = 0x2721;\n t['a29'] = 0x2722;\n t['a30'] = 0x2723;\n t['a31'] = 0x2724;\n t['a32'] = 0x2725;\n t['a33'] = 0x2726;\n t['a34'] = 0x2727;\n t['a35'] = 0x2605;\n t['a36'] = 0x2729;\n t['a37'] = 0x272A;\n t['a38'] = 0x272B;\n t['a39'] = 0x272C;\n t['a40'] = 0x272D;\n t['a41'] = 0x272E;\n t['a42'] = 0x272F;\n t['a43'] = 0x2730;\n t['a44'] = 0x2731;\n t['a45'] = 0x2732;\n t['a46'] = 0x2733;\n t['a47'] = 0x2734;\n t['a48'] = 0x2735;\n t['a49'] = 0x2736;\n t['a50'] = 0x2737;\n t['a51'] = 0x2738;\n t['a52'] = 0x2739;\n t['a53'] = 0x273A;\n t['a54'] = 0x273B;\n t['a55'] = 0x273C;\n t['a56'] = 0x273D;\n t['a57'] = 0x273E;\n t['a58'] = 0x273F;\n t['a59'] = 0x2740;\n t['a60'] = 0x2741;\n t['a61'] = 0x2742;\n t['a62'] = 0x2743;\n t['a63'] = 0x2744;\n t['a64'] = 0x2745;\n t['a65'] = 0x2746;\n t['a66'] = 0x2747;\n t['a67'] = 0x2748;\n t['a68'] = 0x2749;\n t['a69'] = 0x274A;\n t['a70'] = 0x274B;\n t['a71'] = 0x25CF;\n t['a72'] = 0x274D;\n t['a73'] = 0x25A0;\n t['a74'] = 0x274F;\n t['a203'] = 0x2750;\n t['a75'] = 0x2751;\n t['a204'] = 0x2752;\n t['a76'] = 0x25B2;\n t['a77'] = 0x25BC;\n t['a78'] = 0x25C6;\n t['a79'] = 0x2756;\n t['a81'] = 0x25D7;\n t['a82'] = 0x2758;\n t['a83'] = 0x2759;\n t['a84'] = 0x275A;\n t['a97'] = 0x275B;\n t['a98'] = 0x275C;\n t['a99'] = 0x275D;\n t['a100'] = 0x275E;\n t['a101'] = 0x2761;\n t['a102'] = 0x2762;\n t['a103'] = 0x2763;\n t['a104'] = 0x2764;\n t['a106'] = 0x2765;\n t['a107'] = 0x2766;\n t['a108'] = 0x2767;\n t['a112'] = 0x2663;\n t['a111'] = 0x2666;\n t['a110'] = 0x2665;\n t['a109'] = 0x2660;\n t['a120'] = 0x2460;\n t['a121'] = 0x2461;\n t['a122'] = 0x2462;\n t['a123'] = 0x2463;\n t['a124'] = 0x2464;\n t['a125'] = 0x2465;\n t['a126'] = 0x2466;\n t['a127'] = 0x2467;\n t['a128'] = 0x2468;\n t['a129'] = 0x2469;\n t['a130'] = 0x2776;\n t['a131'] = 0x2777;\n t['a132'] = 0x2778;\n t['a133'] = 0x2779;\n t['a134'] = 0x277A;\n t['a135'] = 0x277B;\n t['a136'] = 0x277C;\n t['a137'] = 0x277D;\n t['a138'] = 0x277E;\n t['a139'] = 0x277F;\n t['a140'] = 0x2780;\n t['a141'] = 0x2781;\n t['a142'] = 0x2782;\n t['a143'] = 0x2783;\n t['a144'] = 0x2784;\n t['a145'] = 0x2785;\n t['a146'] = 0x2786;\n t['a147'] = 0x2787;\n t['a148'] = 0x2788;\n t['a149'] = 0x2789;\n t['a150'] = 0x278A;\n t['a151'] = 0x278B;\n t['a152'] = 0x278C;\n t['a153'] = 0x278D;\n t['a154'] = 0x278E;\n t['a155'] = 0x278F;\n t['a156'] = 0x2790;\n t['a157'] = 0x2791;\n t['a158'] = 0x2792;\n t['a159'] = 0x2793;\n t['a160'] = 0x2794;\n t['a161'] = 0x2192;\n t['a163'] = 0x2194;\n t['a164'] = 0x2195;\n t['a196'] = 0x2798;\n t['a165'] = 0x2799;\n t['a192'] = 0x279A;\n t['a166'] = 0x279B;\n t['a167'] = 0x279C;\n t['a168'] = 0x279D;\n t['a169'] = 0x279E;\n t['a170'] = 0x279F;\n t['a171'] = 0x27A0;\n t['a172'] = 0x27A1;\n t['a173'] = 0x27A2;\n t['a162'] = 0x27A3;\n t['a174'] = 0x27A4;\n t['a175'] = 0x27A5;\n t['a176'] = 0x27A6;\n t['a177'] = 0x27A7;\n t['a178'] = 0x27A8;\n t['a179'] = 0x27A9;\n t['a193'] = 0x27AA;\n t['a180'] = 0x27AB;\n t['a199'] = 0x27AC;\n t['a181'] = 0x27AD;\n t['a200'] = 0x27AE;\n t['a182'] = 0x27AF;\n t['a201'] = 0x27B1;\n t['a183'] = 0x27B2;\n t['a184'] = 0x27B3;\n t['a197'] = 0x27B4;\n t['a185'] = 0x27B5;\n t['a194'] = 0x27B6;\n t['a198'] = 0x27B7;\n t['a186'] = 0x27B8;\n t['a195'] = 0x27B9;\n t['a187'] = 0x27BA;\n t['a188'] = 0x27BB;\n t['a189'] = 0x27BC;\n t['a190'] = 0x27BD;\n t['a191'] = 0x27BE;\n t['a89'] = 0x2768;\n t['a90'] = 0x2769;\n t['a93'] = 0x276A;\n t['a94'] = 0x276B;\n t['a91'] = 0x276C;\n t['a92'] = 0x276D;\n t['a205'] = 0x276E;\n t['a85'] = 0x276F;\n t['a206'] = 0x2770;\n t['a86'] = 0x2771;\n t['a87'] = 0x2772;\n t['a88'] = 0x2773;\n t['a95'] = 0x2774;\n t['a96'] = 0x2775;\n t['.notdef'] = 0x0000;\n});\nexports.getGlyphsUnicode = getGlyphsUnicode;\nexports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar getStdFontMap = (0, _util.getLookupTableFactory)(function (t) {\n t['ArialNarrow'] = 'Helvetica';\n t['ArialNarrow-Bold'] = 'Helvetica-Bold';\n t['ArialNarrow-BoldItalic'] = 'Helvetica-BoldOblique';\n t['ArialNarrow-Italic'] = 'Helvetica-Oblique';\n t['ArialBlack'] = 'Helvetica';\n t['ArialBlack-Bold'] = 'Helvetica-Bold';\n t['ArialBlack-BoldItalic'] = 'Helvetica-BoldOblique';\n t['ArialBlack-Italic'] = 'Helvetica-Oblique';\n t['Arial-Black'] = 'Helvetica';\n t['Arial-Black-Bold'] = 'Helvetica-Bold';\n t['Arial-Black-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Arial-Black-Italic'] = 'Helvetica-Oblique';\n t['Arial'] = 'Helvetica';\n t['Arial-Bold'] = 'Helvetica-Bold';\n t['Arial-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Arial-Italic'] = 'Helvetica-Oblique';\n t['Arial-BoldItalicMT'] = 'Helvetica-BoldOblique';\n t['Arial-BoldMT'] = 'Helvetica-Bold';\n t['Arial-ItalicMT'] = 'Helvetica-Oblique';\n t['ArialMT'] = 'Helvetica';\n t['Courier-Bold'] = 'Courier-Bold';\n t['Courier-BoldItalic'] = 'Courier-BoldOblique';\n t['Courier-Italic'] = 'Courier-Oblique';\n t['CourierNew'] = 'Courier';\n t['CourierNew-Bold'] = 'Courier-Bold';\n t['CourierNew-BoldItalic'] = 'Courier-BoldOblique';\n t['CourierNew-Italic'] = 'Courier-Oblique';\n t['CourierNewPS-BoldItalicMT'] = 'Courier-BoldOblique';\n t['CourierNewPS-BoldMT'] = 'Courier-Bold';\n t['CourierNewPS-ItalicMT'] = 'Courier-Oblique';\n t['CourierNewPSMT'] = 'Courier';\n t['Helvetica'] = 'Helvetica';\n t['Helvetica-Bold'] = 'Helvetica-Bold';\n t['Helvetica-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Helvetica-BoldOblique'] = 'Helvetica-BoldOblique';\n t['Helvetica-Italic'] = 'Helvetica-Oblique';\n t['Helvetica-Oblique'] = 'Helvetica-Oblique';\n t['SegoeUISymbol'] = 'Helvetica';\n t['Symbol-Bold'] = 'Symbol';\n t['Symbol-BoldItalic'] = 'Symbol';\n t['Symbol-Italic'] = 'Symbol';\n t['TimesNewRoman'] = 'Times-Roman';\n t['TimesNewRoman-Bold'] = 'Times-Bold';\n t['TimesNewRoman-BoldItalic'] = 'Times-BoldItalic';\n t['TimesNewRoman-Italic'] = 'Times-Italic';\n t['TimesNewRomanPS'] = 'Times-Roman';\n t['TimesNewRomanPS-Bold'] = 'Times-Bold';\n t['TimesNewRomanPS-BoldItalic'] = 'Times-BoldItalic';\n t['TimesNewRomanPS-BoldItalicMT'] = 'Times-BoldItalic';\n t['TimesNewRomanPS-BoldMT'] = 'Times-Bold';\n t['TimesNewRomanPS-Italic'] = 'Times-Italic';\n t['TimesNewRomanPS-ItalicMT'] = 'Times-Italic';\n t['TimesNewRomanPSMT'] = 'Times-Roman';\n t['TimesNewRomanPSMT-Bold'] = 'Times-Bold';\n t['TimesNewRomanPSMT-BoldItalic'] = 'Times-BoldItalic';\n t['TimesNewRomanPSMT-Italic'] = 'Times-Italic';\n});\nexports.getStdFontMap = getStdFontMap;\nvar getNonStdFontMap = (0, _util.getLookupTableFactory)(function (t) {\n t['Calibri'] = 'Helvetica';\n t['Calibri-Bold'] = 'Helvetica-Bold';\n t['Calibri-BoldItalic'] = 'Helvetica-BoldOblique';\n t['Calibri-Italic'] = 'Helvetica-Oblique';\n t['CenturyGothic'] = 'Helvetica';\n t['CenturyGothic-Bold'] = 'Helvetica-Bold';\n t['CenturyGothic-BoldItalic'] = 'Helvetica-BoldOblique';\n t['CenturyGothic-Italic'] = 'Helvetica-Oblique';\n t['ComicSansMS'] = 'Comic Sans MS';\n t['ComicSansMS-Bold'] = 'Comic Sans MS-Bold';\n t['ComicSansMS-BoldItalic'] = 'Comic Sans MS-BoldItalic';\n t['ComicSansMS-Italic'] = 'Comic Sans MS-Italic';\n t['LucidaConsole'] = 'Courier';\n t['LucidaConsole-Bold'] = 'Courier-Bold';\n t['LucidaConsole-BoldItalic'] = 'Courier-BoldOblique';\n t['LucidaConsole-Italic'] = 'Courier-Oblique';\n t['LucidaSans-Demi'] = 'Helvetica-Bold';\n t['MS-Gothic'] = 'MS Gothic';\n t['MS-Gothic-Bold'] = 'MS Gothic-Bold';\n t['MS-Gothic-BoldItalic'] = 'MS Gothic-BoldItalic';\n t['MS-Gothic-Italic'] = 'MS Gothic-Italic';\n t['MS-Mincho'] = 'MS Mincho';\n t['MS-Mincho-Bold'] = 'MS Mincho-Bold';\n t['MS-Mincho-BoldItalic'] = 'MS Mincho-BoldItalic';\n t['MS-Mincho-Italic'] = 'MS Mincho-Italic';\n t['MS-PGothic'] = 'MS PGothic';\n t['MS-PGothic-Bold'] = 'MS PGothic-Bold';\n t['MS-PGothic-BoldItalic'] = 'MS PGothic-BoldItalic';\n t['MS-PGothic-Italic'] = 'MS PGothic-Italic';\n t['MS-PMincho'] = 'MS PMincho';\n t['MS-PMincho-Bold'] = 'MS PMincho-Bold';\n t['MS-PMincho-BoldItalic'] = 'MS PMincho-BoldItalic';\n t['MS-PMincho-Italic'] = 'MS PMincho-Italic';\n t['NuptialScript'] = 'Times-Italic';\n t['Wingdings'] = 'ZapfDingbats';\n});\nexports.getNonStdFontMap = getNonStdFontMap;\nvar getSerifFonts = (0, _util.getLookupTableFactory)(function (t) {\n t['Adobe Jenson'] = true;\n t['Adobe Text'] = true;\n t['Albertus'] = true;\n t['Aldus'] = true;\n t['Alexandria'] = true;\n t['Algerian'] = true;\n t['American Typewriter'] = true;\n t['Antiqua'] = true;\n t['Apex'] = true;\n t['Arno'] = true;\n t['Aster'] = true;\n t['Aurora'] = true;\n t['Baskerville'] = true;\n t['Bell'] = true;\n t['Bembo'] = true;\n t['Bembo Schoolbook'] = true;\n t['Benguiat'] = true;\n t['Berkeley Old Style'] = true;\n t['Bernhard Modern'] = true;\n t['Berthold City'] = true;\n t['Bodoni'] = true;\n t['Bauer Bodoni'] = true;\n t['Book Antiqua'] = true;\n t['Bookman'] = true;\n t['Bordeaux Roman'] = true;\n t['Californian FB'] = true;\n t['Calisto'] = true;\n t['Calvert'] = true;\n t['Capitals'] = true;\n t['Cambria'] = true;\n t['Cartier'] = true;\n t['Caslon'] = true;\n t['Catull'] = true;\n t['Centaur'] = true;\n t['Century Old Style'] = true;\n t['Century Schoolbook'] = true;\n t['Chaparral'] = true;\n t['Charis SIL'] = true;\n t['Cheltenham'] = true;\n t['Cholla Slab'] = true;\n t['Clarendon'] = true;\n t['Clearface'] = true;\n t['Cochin'] = true;\n t['Colonna'] = true;\n t['Computer Modern'] = true;\n t['Concrete Roman'] = true;\n t['Constantia'] = true;\n t['Cooper Black'] = true;\n t['Corona'] = true;\n t['Ecotype'] = true;\n t['Egyptienne'] = true;\n t['Elephant'] = true;\n t['Excelsior'] = true;\n t['Fairfield'] = true;\n t['FF Scala'] = true;\n t['Folkard'] = true;\n t['Footlight'] = true;\n t['FreeSerif'] = true;\n t['Friz Quadrata'] = true;\n t['Garamond'] = true;\n t['Gentium'] = true;\n t['Georgia'] = true;\n t['Gloucester'] = true;\n t['Goudy Old Style'] = true;\n t['Goudy Schoolbook'] = true;\n t['Goudy Pro Font'] = true;\n t['Granjon'] = true;\n t['Guardian Egyptian'] = true;\n t['Heather'] = true;\n t['Hercules'] = true;\n t['High Tower Text'] = true;\n t['Hiroshige'] = true;\n t['Hoefler Text'] = true;\n t['Humana Serif'] = true;\n t['Imprint'] = true;\n t['Ionic No. 5'] = true;\n t['Janson'] = true;\n t['Joanna'] = true;\n t['Korinna'] = true;\n t['Lexicon'] = true;\n t['Liberation Serif'] = true;\n t['Linux Libertine'] = true;\n t['Literaturnaya'] = true;\n t['Lucida'] = true;\n t['Lucida Bright'] = true;\n t['Melior'] = true;\n t['Memphis'] = true;\n t['Miller'] = true;\n t['Minion'] = true;\n t['Modern'] = true;\n t['Mona Lisa'] = true;\n t['Mrs Eaves'] = true;\n t['MS Serif'] = true;\n t['Museo Slab'] = true;\n t['New York'] = true;\n t['Nimbus Roman'] = true;\n t['NPS Rawlinson Roadway'] = true;\n t['NuptialScript'] = true;\n t['Palatino'] = true;\n t['Perpetua'] = true;\n t['Plantin'] = true;\n t['Plantin Schoolbook'] = true;\n t['Playbill'] = true;\n t['Poor Richard'] = true;\n t['Rawlinson Roadway'] = true;\n t['Renault'] = true;\n t['Requiem'] = true;\n t['Rockwell'] = true;\n t['Roman'] = true;\n t['Rotis Serif'] = true;\n t['Sabon'] = true;\n t['Scala'] = true;\n t['Seagull'] = true;\n t['Sistina'] = true;\n t['Souvenir'] = true;\n t['STIX'] = true;\n t['Stone Informal'] = true;\n t['Stone Serif'] = true;\n t['Sylfaen'] = true;\n t['Times'] = true;\n t['Trajan'] = true;\n t['TrinitƩ'] = true;\n t['Trump Mediaeval'] = true;\n t['Utopia'] = true;\n t['Vale Type'] = true;\n t['Bitstream Vera'] = true;\n t['Vera Serif'] = true;\n t['Versailles'] = true;\n t['Wanted'] = true;\n t['Weiss'] = true;\n t['Wide Latin'] = true;\n t['Windsor'] = true;\n t['XITS'] = true;\n});\nexports.getSerifFonts = getSerifFonts;\nvar getSymbolsFonts = (0, _util.getLookupTableFactory)(function (t) {\n t['Dingbats'] = true;\n t['Symbol'] = true;\n t['ZapfDingbats'] = true;\n});\nexports.getSymbolsFonts = getSymbolsFonts;\nvar getGlyphMapForStandardFonts = (0, _util.getLookupTableFactory)(function (t) {\n t[2] = 10;\n t[3] = 32;\n t[4] = 33;\n t[5] = 34;\n t[6] = 35;\n t[7] = 36;\n t[8] = 37;\n t[9] = 38;\n t[10] = 39;\n t[11] = 40;\n t[12] = 41;\n t[13] = 42;\n t[14] = 43;\n t[15] = 44;\n t[16] = 45;\n t[17] = 46;\n t[18] = 47;\n t[19] = 48;\n t[20] = 49;\n t[21] = 50;\n t[22] = 51;\n t[23] = 52;\n t[24] = 53;\n t[25] = 54;\n t[26] = 55;\n t[27] = 56;\n t[28] = 57;\n t[29] = 58;\n t[30] = 894;\n t[31] = 60;\n t[32] = 61;\n t[33] = 62;\n t[34] = 63;\n t[35] = 64;\n t[36] = 65;\n t[37] = 66;\n t[38] = 67;\n t[39] = 68;\n t[40] = 69;\n t[41] = 70;\n t[42] = 71;\n t[43] = 72;\n t[44] = 73;\n t[45] = 74;\n t[46] = 75;\n t[47] = 76;\n t[48] = 77;\n t[49] = 78;\n t[50] = 79;\n t[51] = 80;\n t[52] = 81;\n t[53] = 82;\n t[54] = 83;\n t[55] = 84;\n t[56] = 85;\n t[57] = 86;\n t[58] = 87;\n t[59] = 88;\n t[60] = 89;\n t[61] = 90;\n t[62] = 91;\n t[63] = 92;\n t[64] = 93;\n t[65] = 94;\n t[66] = 95;\n t[67] = 96;\n t[68] = 97;\n t[69] = 98;\n t[70] = 99;\n t[71] = 100;\n t[72] = 101;\n t[73] = 102;\n t[74] = 103;\n t[75] = 104;\n t[76] = 105;\n t[77] = 106;\n t[78] = 107;\n t[79] = 108;\n t[80] = 109;\n t[81] = 110;\n t[82] = 111;\n t[83] = 112;\n t[84] = 113;\n t[85] = 114;\n t[86] = 115;\n t[87] = 116;\n t[88] = 117;\n t[89] = 118;\n t[90] = 119;\n t[91] = 120;\n t[92] = 121;\n t[93] = 122;\n t[94] = 123;\n t[95] = 124;\n t[96] = 125;\n t[97] = 126;\n t[98] = 196;\n t[99] = 197;\n t[100] = 199;\n t[101] = 201;\n t[102] = 209;\n t[103] = 214;\n t[104] = 220;\n t[105] = 225;\n t[106] = 224;\n t[107] = 226;\n t[108] = 228;\n t[109] = 227;\n t[110] = 229;\n t[111] = 231;\n t[112] = 233;\n t[113] = 232;\n t[114] = 234;\n t[115] = 235;\n t[116] = 237;\n t[117] = 236;\n t[118] = 238;\n t[119] = 239;\n t[120] = 241;\n t[121] = 243;\n t[122] = 242;\n t[123] = 244;\n t[124] = 246;\n t[125] = 245;\n t[126] = 250;\n t[127] = 249;\n t[128] = 251;\n t[129] = 252;\n t[130] = 8224;\n t[131] = 176;\n t[132] = 162;\n t[133] = 163;\n t[134] = 167;\n t[135] = 8226;\n t[136] = 182;\n t[137] = 223;\n t[138] = 174;\n t[139] = 169;\n t[140] = 8482;\n t[141] = 180;\n t[142] = 168;\n t[143] = 8800;\n t[144] = 198;\n t[145] = 216;\n t[146] = 8734;\n t[147] = 177;\n t[148] = 8804;\n t[149] = 8805;\n t[150] = 165;\n t[151] = 181;\n t[152] = 8706;\n t[153] = 8721;\n t[154] = 8719;\n t[156] = 8747;\n t[157] = 170;\n t[158] = 186;\n t[159] = 8486;\n t[160] = 230;\n t[161] = 248;\n t[162] = 191;\n t[163] = 161;\n t[164] = 172;\n t[165] = 8730;\n t[166] = 402;\n t[167] = 8776;\n t[168] = 8710;\n t[169] = 171;\n t[170] = 187;\n t[171] = 8230;\n t[210] = 218;\n t[223] = 711;\n t[224] = 321;\n t[225] = 322;\n t[227] = 353;\n t[229] = 382;\n t[234] = 253;\n t[252] = 263;\n t[253] = 268;\n t[254] = 269;\n t[258] = 258;\n t[260] = 260;\n t[261] = 261;\n t[265] = 280;\n t[266] = 281;\n t[268] = 283;\n t[269] = 313;\n t[275] = 323;\n t[276] = 324;\n t[278] = 328;\n t[284] = 345;\n t[285] = 346;\n t[286] = 347;\n t[292] = 367;\n t[295] = 377;\n t[296] = 378;\n t[298] = 380;\n t[305] = 963;\n t[306] = 964;\n t[307] = 966;\n t[308] = 8215;\n t[309] = 8252;\n t[310] = 8319;\n t[311] = 8359;\n t[312] = 8592;\n t[313] = 8593;\n t[337] = 9552;\n t[493] = 1039;\n t[494] = 1040;\n t[705] = 1524;\n t[706] = 8362;\n t[710] = 64288;\n t[711] = 64298;\n t[759] = 1617;\n t[761] = 1776;\n t[763] = 1778;\n t[775] = 1652;\n t[777] = 1764;\n t[778] = 1780;\n t[779] = 1781;\n t[780] = 1782;\n t[782] = 771;\n t[783] = 64726;\n t[786] = 8363;\n t[788] = 8532;\n t[790] = 768;\n t[791] = 769;\n t[792] = 768;\n t[795] = 803;\n t[797] = 64336;\n t[798] = 64337;\n t[799] = 64342;\n t[800] = 64343;\n t[801] = 64344;\n t[802] = 64345;\n t[803] = 64362;\n t[804] = 64363;\n t[805] = 64364;\n t[2424] = 7821;\n t[2425] = 7822;\n t[2426] = 7823;\n t[2427] = 7824;\n t[2428] = 7825;\n t[2429] = 7826;\n t[2430] = 7827;\n t[2433] = 7682;\n t[2678] = 8045;\n t[2679] = 8046;\n t[2830] = 1552;\n t[2838] = 686;\n t[2840] = 751;\n t[2842] = 753;\n t[2843] = 754;\n t[2844] = 755;\n t[2846] = 757;\n t[2856] = 767;\n t[2857] = 848;\n t[2858] = 849;\n t[2862] = 853;\n t[2863] = 854;\n t[2864] = 855;\n t[2865] = 861;\n t[2866] = 862;\n t[2906] = 7460;\n t[2908] = 7462;\n t[2909] = 7463;\n t[2910] = 7464;\n t[2912] = 7466;\n t[2913] = 7467;\n t[2914] = 7468;\n t[2916] = 7470;\n t[2917] = 7471;\n t[2918] = 7472;\n t[2920] = 7474;\n t[2921] = 7475;\n t[2922] = 7476;\n t[2924] = 7478;\n t[2925] = 7479;\n t[2926] = 7480;\n t[2928] = 7482;\n t[2929] = 7483;\n t[2930] = 7484;\n t[2932] = 7486;\n t[2933] = 7487;\n t[2934] = 7488;\n t[2936] = 7490;\n t[2937] = 7491;\n t[2938] = 7492;\n t[2940] = 7494;\n t[2941] = 7495;\n t[2942] = 7496;\n t[2944] = 7498;\n t[2946] = 7500;\n t[2948] = 7502;\n t[2950] = 7504;\n t[2951] = 7505;\n t[2952] = 7506;\n t[2954] = 7508;\n t[2955] = 7509;\n t[2956] = 7510;\n t[2958] = 7512;\n t[2959] = 7513;\n t[2960] = 7514;\n t[2962] = 7516;\n t[2963] = 7517;\n t[2964] = 7518;\n t[2966] = 7520;\n t[2967] = 7521;\n t[2968] = 7522;\n t[2970] = 7524;\n t[2971] = 7525;\n t[2972] = 7526;\n t[2974] = 7528;\n t[2975] = 7529;\n t[2976] = 7530;\n t[2978] = 1537;\n t[2979] = 1538;\n t[2980] = 1539;\n t[2982] = 1549;\n t[2983] = 1551;\n t[2984] = 1552;\n t[2986] = 1554;\n t[2987] = 1555;\n t[2988] = 1556;\n t[2990] = 1623;\n t[2991] = 1624;\n t[2995] = 1775;\n t[2999] = 1791;\n t[3002] = 64290;\n t[3003] = 64291;\n t[3004] = 64292;\n t[3006] = 64294;\n t[3007] = 64295;\n t[3008] = 64296;\n t[3011] = 1900;\n t[3014] = 8223;\n t[3015] = 8244;\n t[3017] = 7532;\n t[3018] = 7533;\n t[3019] = 7534;\n t[3075] = 7590;\n t[3076] = 7591;\n t[3079] = 7594;\n t[3080] = 7595;\n t[3083] = 7598;\n t[3084] = 7599;\n t[3087] = 7602;\n t[3088] = 7603;\n t[3091] = 7606;\n t[3092] = 7607;\n t[3095] = 7610;\n t[3096] = 7611;\n t[3099] = 7614;\n t[3100] = 7615;\n t[3103] = 7618;\n t[3104] = 7619;\n t[3107] = 8337;\n t[3108] = 8338;\n t[3116] = 1884;\n t[3119] = 1885;\n t[3120] = 1885;\n t[3123] = 1886;\n t[3124] = 1886;\n t[3127] = 1887;\n t[3128] = 1887;\n t[3131] = 1888;\n t[3132] = 1888;\n t[3135] = 1889;\n t[3136] = 1889;\n t[3139] = 1890;\n t[3140] = 1890;\n t[3143] = 1891;\n t[3144] = 1891;\n t[3147] = 1892;\n t[3148] = 1892;\n t[3153] = 580;\n t[3154] = 581;\n t[3157] = 584;\n t[3158] = 585;\n t[3161] = 588;\n t[3162] = 589;\n t[3165] = 891;\n t[3166] = 892;\n t[3169] = 1274;\n t[3170] = 1275;\n t[3173] = 1278;\n t[3174] = 1279;\n t[3181] = 7622;\n t[3182] = 7623;\n t[3282] = 11799;\n t[3316] = 578;\n t[3379] = 42785;\n t[3393] = 1159;\n t[3416] = 8377;\n});\nexports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\nvar getSupplementalGlyphMapForArialBlack = (0, _util.getLookupTableFactory)(function (t) {\n t[227] = 322;\n t[264] = 261;\n t[291] = 346;\n});\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\nvar getSupplementalGlyphMapForCalibri = (0, _util.getLookupTableFactory)(function (t) {\n t[1] = 32;\n t[4] = 65;\n t[17] = 66;\n t[18] = 67;\n t[24] = 68;\n t[28] = 69;\n t[38] = 70;\n t[39] = 71;\n t[44] = 72;\n t[47] = 73;\n t[58] = 74;\n t[60] = 75;\n t[62] = 76;\n t[68] = 77;\n t[69] = 78;\n t[75] = 79;\n t[87] = 80;\n t[89] = 81;\n t[90] = 82;\n t[94] = 83;\n t[100] = 84;\n t[104] = 85;\n t[115] = 86;\n t[116] = 87;\n t[121] = 88;\n t[122] = 89;\n t[127] = 90;\n t[258] = 97;\n t[268] = 261;\n t[271] = 98;\n t[272] = 99;\n t[273] = 263;\n t[282] = 100;\n t[286] = 101;\n t[295] = 281;\n t[296] = 102;\n t[336] = 103;\n t[346] = 104;\n t[349] = 105;\n t[361] = 106;\n t[364] = 107;\n t[367] = 108;\n t[371] = 322;\n t[373] = 109;\n t[374] = 110;\n t[381] = 111;\n t[383] = 243;\n t[393] = 112;\n t[395] = 113;\n t[396] = 114;\n t[400] = 115;\n t[401] = 347;\n t[410] = 116;\n t[437] = 117;\n t[448] = 118;\n t[449] = 119;\n t[454] = 120;\n t[455] = 121;\n t[460] = 122;\n t[463] = 380;\n t[853] = 44;\n t[855] = 58;\n t[856] = 46;\n t[876] = 47;\n t[878] = 45;\n t[882] = 45;\n t[894] = 40;\n t[895] = 41;\n t[896] = 91;\n t[897] = 93;\n t[923] = 64;\n t[1004] = 48;\n t[1005] = 49;\n t[1006] = 50;\n t[1007] = 51;\n t[1008] = 52;\n t[1009] = 53;\n t[1010] = 54;\n t[1011] = 55;\n t[1012] = 56;\n t[1013] = 57;\n t[1081] = 37;\n t[1085] = 43;\n t[1086] = 45;\n});\nexports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(6).getLookupTableFactory;\nvar getSpecialPUASymbols = getLookupTableFactory(function (t) {\n t[63721] = 0x00A9;\n t[63193] = 0x00A9;\n t[63720] = 0x00AE;\n t[63194] = 0x00AE;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23A7;\n t[63730] = 0x23A8;\n t[63731] = 0x23A9;\n t[63740] = 0x23AB;\n t[63741] = 0x23AC;\n t[63742] = 0x23AD;\n t[63726] = 0x23A1;\n t[63727] = 0x23A2;\n t[63728] = 0x23A3;\n t[63737] = 0x23A4;\n t[63738] = 0x23A5;\n t[63739] = 0x23A6;\n t[63723] = 0x239B;\n t[63724] = 0x239C;\n t[63725] = 0x239D;\n t[63734] = 0x239E;\n t[63735] = 0x239F;\n t[63736] = 0x23A0;\n});\nfunction mapSpecialUnicodeValues(code) {\n if (code >= 0xFFF0 && code <= 0xFFFF) {\n return 0;\n } else if (code >= 0xF600 && code <= 0xF8FF) {\n return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00AD) {\n return 0x002D;\n }\n return code;\n}\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n if (unicode !== undefined) {\n return unicode;\n }\n if (!name) {\n return -1;\n }\n if (name[0] === 'u') {\n var nameLen = name.length, hexStr;\n if (nameLen === 7 && name[1] === 'n' && name[2] === 'i') {\n hexStr = name.substring(3);\n } else if (nameLen >= 5 && nameLen <= 7) {\n hexStr = name.substring(1);\n } else {\n return -1;\n }\n if (hexStr === hexStr.toUpperCase()) {\n unicode = parseInt(hexStr, 16);\n if (unicode >= 0) {\n return unicode;\n }\n }\n }\n return -1;\n}\nvar UnicodeRanges = [\n {\n 'begin': 0x0000,\n 'end': 0x007F\n },\n {\n 'begin': 0x0080,\n 'end': 0x00FF\n },\n {\n 'begin': 0x0100,\n 'end': 0x017F\n },\n {\n 'begin': 0x0180,\n 'end': 0x024F\n },\n {\n 'begin': 0x0250,\n 'end': 0x02AF\n },\n {\n 'begin': 0x02B0,\n 'end': 0x02FF\n },\n {\n 'begin': 0x0300,\n 'end': 0x036F\n },\n {\n 'begin': 0x0370,\n 'end': 0x03FF\n },\n {\n 'begin': 0x2C80,\n 'end': 0x2CFF\n },\n {\n 'begin': 0x0400,\n 'end': 0x04FF\n },\n {\n 'begin': 0x0530,\n 'end': 0x058F\n },\n {\n 'begin': 0x0590,\n 'end': 0x05FF\n },\n {\n 'begin': 0xA500,\n 'end': 0xA63F\n },\n {\n 'begin': 0x0600,\n 'end': 0x06FF\n },\n {\n 'begin': 0x07C0,\n 'end': 0x07FF\n },\n {\n 'begin': 0x0900,\n 'end': 0x097F\n },\n {\n 'begin': 0x0980,\n 'end': 0x09FF\n },\n {\n 'begin': 0x0A00,\n 'end': 0x0A7F\n },\n {\n 'begin': 0x0A80,\n 'end': 0x0AFF\n },\n {\n 'begin': 0x0B00,\n 'end': 0x0B7F\n },\n {\n 'begin': 0x0B80,\n 'end': 0x0BFF\n },\n {\n 'begin': 0x0C00,\n 'end': 0x0C7F\n },\n {\n 'begin': 0x0C80,\n 'end': 0x0CFF\n },\n {\n 'begin': 0x0D00,\n 'end': 0x0D7F\n },\n {\n 'begin': 0x0E00,\n 'end': 0x0E7F\n },\n {\n 'begin': 0x0E80,\n 'end': 0x0EFF\n },\n {\n 'begin': 0x10A0,\n 'end': 0x10FF\n },\n {\n 'begin': 0x1B00,\n 'end': 0x1B7F\n },\n {\n 'begin': 0x1100,\n 'end': 0x11FF\n },\n {\n 'begin': 0x1E00,\n 'end': 0x1EFF\n },\n {\n 'begin': 0x1F00,\n 'end': 0x1FFF\n },\n {\n 'begin': 0x2000,\n 'end': 0x206F\n },\n {\n 'begin': 0x2070,\n 'end': 0x209F\n },\n {\n 'begin': 0x20A0,\n 'end': 0x20CF\n },\n {\n 'begin': 0x20D0,\n 'end': 0x20FF\n },\n {\n 'begin': 0x2100,\n 'end': 0x214F\n },\n {\n 'begin': 0x2150,\n 'end': 0x218F\n },\n {\n 'begin': 0x2190,\n 'end': 0x21FF\n },\n {\n 'begin': 0x2200,\n 'end': 0x22FF\n },\n {\n 'begin': 0x2300,\n 'end': 0x23FF\n },\n {\n 'begin': 0x2400,\n 'end': 0x243F\n },\n {\n 'begin': 0x2440,\n 'end': 0x245F\n },\n {\n 'begin': 0x2460,\n 'end': 0x24FF\n },\n {\n 'begin': 0x2500,\n 'end': 0x257F\n },\n {\n 'begin': 0x2580,\n 'end': 0x259F\n },\n {\n 'begin': 0x25A0,\n 'end': 0x25FF\n },\n {\n 'begin': 0x2600,\n 'end': 0x26FF\n },\n {\n 'begin': 0x2700,\n 'end': 0x27BF\n },\n {\n 'begin': 0x3000,\n 'end': 0x303F\n },\n {\n 'begin': 0x3040,\n 'end': 0x309F\n },\n {\n 'begin': 0x30A0,\n 'end': 0x30FF\n },\n {\n 'begin': 0x3100,\n 'end': 0x312F\n },\n {\n 'begin': 0x3130,\n 'end': 0x318F\n },\n {\n 'begin': 0xA840,\n 'end': 0xA87F\n },\n {\n 'begin': 0x3200,\n 'end': 0x32FF\n },\n {\n 'begin': 0x3300,\n 'end': 0x33FF\n },\n {\n 'begin': 0xAC00,\n 'end': 0xD7AF\n },\n {\n 'begin': 0xD800,\n 'end': 0xDFFF\n },\n {\n 'begin': 0x10900,\n 'end': 0x1091F\n },\n {\n 'begin': 0x4E00,\n 'end': 0x9FFF\n },\n {\n 'begin': 0xE000,\n 'end': 0xF8FF\n },\n {\n 'begin': 0x31C0,\n 'end': 0x31EF\n },\n {\n 'begin': 0xFB00,\n 'end': 0xFB4F\n },\n {\n 'begin': 0xFB50,\n 'end': 0xFDFF\n },\n {\n 'begin': 0xFE20,\n 'end': 0xFE2F\n },\n {\n 'begin': 0xFE10,\n 'end': 0xFE1F\n },\n {\n 'begin': 0xFE50,\n 'end': 0xFE6F\n },\n {\n 'begin': 0xFE70,\n 'end': 0xFEFF\n },\n {\n 'begin': 0xFF00,\n 'end': 0xFFEF\n },\n {\n 'begin': 0xFFF0,\n 'end': 0xFFFF\n },\n {\n 'begin': 0x0F00,\n 'end': 0x0FFF\n },\n {\n 'begin': 0x0700,\n 'end': 0x074F\n },\n {\n 'begin': 0x0780,\n 'end': 0x07BF\n },\n {\n 'begin': 0x0D80,\n 'end': 0x0DFF\n },\n {\n 'begin': 0x1000,\n 'end': 0x109F\n },\n {\n 'begin': 0x1200,\n 'end': 0x137F\n },\n {\n 'begin': 0x13A0,\n 'end': 0x13FF\n },\n {\n 'begin': 0x1400,\n 'end': 0x167F\n },\n {\n 'begin': 0x1680,\n 'end': 0x169F\n },\n {\n 'begin': 0x16A0,\n 'end': 0x16FF\n },\n {\n 'begin': 0x1780,\n 'end': 0x17FF\n },\n {\n 'begin': 0x1800,\n 'end': 0x18AF\n },\n {\n 'begin': 0x2800,\n 'end': 0x28FF\n },\n {\n 'begin': 0xA000,\n 'end': 0xA48F\n },\n {\n 'begin': 0x1700,\n 'end': 0x171F\n },\n {\n 'begin': 0x10300,\n 'end': 0x1032F\n },\n {\n 'begin': 0x10330,\n 'end': 0x1034F\n },\n {\n 'begin': 0x10400,\n 'end': 0x1044F\n },\n {\n 'begin': 0x1D000,\n 'end': 0x1D0FF\n },\n {\n 'begin': 0x1D400,\n 'end': 0x1D7FF\n },\n {\n 'begin': 0xFF000,\n 'end': 0xFFFFD\n },\n {\n 'begin': 0xFE00,\n 'end': 0xFE0F\n },\n {\n 'begin': 0xE0000,\n 'end': 0xE007F\n },\n {\n 'begin': 0x1900,\n 'end': 0x194F\n },\n {\n 'begin': 0x1950,\n 'end': 0x197F\n },\n {\n 'begin': 0x1980,\n 'end': 0x19DF\n },\n {\n 'begin': 0x1A00,\n 'end': 0x1A1F\n },\n {\n 'begin': 0x2C00,\n 'end': 0x2C5F\n },\n {\n 'begin': 0x2D30,\n 'end': 0x2D7F\n },\n {\n 'begin': 0x4DC0,\n 'end': 0x4DFF\n },\n {\n 'begin': 0xA800,\n 'end': 0xA82F\n },\n {\n 'begin': 0x10000,\n 'end': 0x1007F\n },\n {\n 'begin': 0x10140,\n 'end': 0x1018F\n },\n {\n 'begin': 0x10380,\n 'end': 0x1039F\n },\n {\n 'begin': 0x103A0,\n 'end': 0x103DF\n },\n {\n 'begin': 0x10450,\n 'end': 0x1047F\n },\n {\n 'begin': 0x10480,\n 'end': 0x104AF\n },\n {\n 'begin': 0x10800,\n 'end': 0x1083F\n },\n {\n 'begin': 0x10A00,\n 'end': 0x10A5F\n },\n {\n 'begin': 0x1D300,\n 'end': 0x1D35F\n },\n {\n 'begin': 0x12000,\n 'end': 0x123FF\n },\n {\n 'begin': 0x1D360,\n 'end': 0x1D37F\n },\n {\n 'begin': 0x1B80,\n 'end': 0x1BBF\n },\n {\n 'begin': 0x1C00,\n 'end': 0x1C4F\n },\n {\n 'begin': 0x1C50,\n 'end': 0x1C7F\n },\n {\n 'begin': 0xA880,\n 'end': 0xA8DF\n },\n {\n 'begin': 0xA900,\n 'end': 0xA92F\n },\n {\n 'begin': 0xA930,\n 'end': 0xA95F\n },\n {\n 'begin': 0xAA00,\n 'end': 0xAA5F\n },\n {\n 'begin': 0x10190,\n 'end': 0x101CF\n },\n {\n 'begin': 0x101D0,\n 'end': 0x101FF\n },\n {\n 'begin': 0x102A0,\n 'end': 0x102DF\n },\n {\n 'begin': 0x1F030,\n 'end': 0x1F09F\n }\n];\nfunction getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n var range = UnicodeRanges[i];\n if (value >= range.begin && value < range.end) {\n return i;\n }\n }\n return -1;\n}\nfunction isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n range = UnicodeRanges[11];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n return false;\n}\nvar getNormalizedUnicodes = getLookupTableFactory(function (t) {\n t['\\u00A8'] = '\\u0020\\u0308';\n t['\\u00AF'] = '\\u0020\\u0304';\n t['\\u00B4'] = '\\u0020\\u0301';\n t['\\u00B5'] = '\\u03BC';\n t['\\u00B8'] = '\\u0020\\u0327';\n t['\\u0132'] = '\\u0049\\u004A';\n t['\\u0133'] = '\\u0069\\u006A';\n t['\\u013F'] = '\\u004C\\u00B7';\n t['\\u0140'] = '\\u006C\\u00B7';\n t['\\u0149'] = '\\u02BC\\u006E';\n t['\\u017F'] = '\\u0073';\n t['\\u01C4'] = '\\u0044\\u017D';\n t['\\u01C5'] = '\\u0044\\u017E';\n t['\\u01C6'] = '\\u0064\\u017E';\n t['\\u01C7'] = '\\u004C\\u004A';\n t['\\u01C8'] = '\\u004C\\u006A';\n t['\\u01C9'] = '\\u006C\\u006A';\n t['\\u01CA'] = '\\u004E\\u004A';\n t['\\u01CB'] = '\\u004E\\u006A';\n t['\\u01CC'] = '\\u006E\\u006A';\n t['\\u01F1'] = '\\u0044\\u005A';\n t['\\u01F2'] = '\\u0044\\u007A';\n t['\\u01F3'] = '\\u0064\\u007A';\n t['\\u02D8'] = '\\u0020\\u0306';\n t['\\u02D9'] = '\\u0020\\u0307';\n t['\\u02DA'] = '\\u0020\\u030A';\n t['\\u02DB'] = '\\u0020\\u0328';\n t['\\u02DC'] = '\\u0020\\u0303';\n t['\\u02DD'] = '\\u0020\\u030B';\n t['\\u037A'] = '\\u0020\\u0345';\n t['\\u0384'] = '\\u0020\\u0301';\n t['\\u03D0'] = '\\u03B2';\n t['\\u03D1'] = '\\u03B8';\n t['\\u03D2'] = '\\u03A5';\n t['\\u03D5'] = '\\u03C6';\n t['\\u03D6'] = '\\u03C0';\n t['\\u03F0'] = '\\u03BA';\n t['\\u03F1'] = '\\u03C1';\n t['\\u03F2'] = '\\u03C2';\n t['\\u03F4'] = '\\u0398';\n t['\\u03F5'] = '\\u03B5';\n t['\\u03F9'] = '\\u03A3';\n t['\\u0587'] = '\\u0565\\u0582';\n t['\\u0675'] = '\\u0627\\u0674';\n t['\\u0676'] = '\\u0648\\u0674';\n t['\\u0677'] = '\\u06C7\\u0674';\n t['\\u0678'] = '\\u064A\\u0674';\n t['\\u0E33'] = '\\u0E4D\\u0E32';\n t['\\u0EB3'] = '\\u0ECD\\u0EB2';\n t['\\u0EDC'] = '\\u0EAB\\u0E99';\n t['\\u0EDD'] = '\\u0EAB\\u0EA1';\n t['\\u0F77'] = '\\u0FB2\\u0F81';\n t['\\u0F79'] = '\\u0FB3\\u0F81';\n t['\\u1E9A'] = '\\u0061\\u02BE';\n t['\\u1FBD'] = '\\u0020\\u0313';\n t['\\u1FBF'] = '\\u0020\\u0313';\n t['\\u1FC0'] = '\\u0020\\u0342';\n t['\\u1FFE'] = '\\u0020\\u0314';\n t['\\u2002'] = '\\u0020';\n t['\\u2003'] = '\\u0020';\n t['\\u2004'] = '\\u0020';\n t['\\u2005'] = '\\u0020';\n t['\\u2006'] = '\\u0020';\n t['\\u2008'] = '\\u0020';\n t['\\u2009'] = '\\u0020';\n t['\\u200A'] = '\\u0020';\n t['\\u2017'] = '\\u0020\\u0333';\n t['\\u2024'] = '\\u002E';\n t['\\u2025'] = '\\u002E\\u002E';\n t['\\u2026'] = '\\u002E\\u002E\\u002E';\n t['\\u2033'] = '\\u2032\\u2032';\n t['\\u2034'] = '\\u2032\\u2032\\u2032';\n t['\\u2036'] = '\\u2035\\u2035';\n t['\\u2037'] = '\\u2035\\u2035\\u2035';\n t['\\u203C'] = '\\u0021\\u0021';\n t['\\u203E'] = '\\u0020\\u0305';\n t['\\u2047'] = '\\u003F\\u003F';\n t['\\u2048'] = '\\u003F\\u0021';\n t['\\u2049'] = '\\u0021\\u003F';\n t['\\u2057'] = '\\u2032\\u2032\\u2032\\u2032';\n t['\\u205F'] = '\\u0020';\n t['\\u20A8'] = '\\u0052\\u0073';\n t['\\u2100'] = '\\u0061\\u002F\\u0063';\n t['\\u2101'] = '\\u0061\\u002F\\u0073';\n t['\\u2103'] = '\\u00B0\\u0043';\n t['\\u2105'] = '\\u0063\\u002F\\u006F';\n t['\\u2106'] = '\\u0063\\u002F\\u0075';\n t['\\u2107'] = '\\u0190';\n t['\\u2109'] = '\\u00B0\\u0046';\n t['\\u2116'] = '\\u004E\\u006F';\n t['\\u2121'] = '\\u0054\\u0045\\u004C';\n t['\\u2135'] = '\\u05D0';\n t['\\u2136'] = '\\u05D1';\n t['\\u2137'] = '\\u05D2';\n t['\\u2138'] = '\\u05D3';\n t['\\u213B'] = '\\u0046\\u0041\\u0058';\n t['\\u2160'] = '\\u0049';\n t['\\u2161'] = '\\u0049\\u0049';\n t['\\u2162'] = '\\u0049\\u0049\\u0049';\n t['\\u2163'] = '\\u0049\\u0056';\n t['\\u2164'] = '\\u0056';\n t['\\u2165'] = '\\u0056\\u0049';\n t['\\u2166'] = '\\u0056\\u0049\\u0049';\n t['\\u2167'] = '\\u0056\\u0049\\u0049\\u0049';\n t['\\u2168'] = '\\u0049\\u0058';\n t['\\u2169'] = '\\u0058';\n t['\\u216A'] = '\\u0058\\u0049';\n t['\\u216B'] = '\\u0058\\u0049\\u0049';\n t['\\u216C'] = '\\u004C';\n t['\\u216D'] = '\\u0043';\n t['\\u216E'] = '\\u0044';\n t['\\u216F'] = '\\u004D';\n t['\\u2170'] = '\\u0069';\n t['\\u2171'] = '\\u0069\\u0069';\n t['\\u2172'] = '\\u0069\\u0069\\u0069';\n t['\\u2173'] = '\\u0069\\u0076';\n t['\\u2174'] = '\\u0076';\n t['\\u2175'] = '\\u0076\\u0069';\n t['\\u2176'] = '\\u0076\\u0069\\u0069';\n t['\\u2177'] = '\\u0076\\u0069\\u0069\\u0069';\n t['\\u2178'] = '\\u0069\\u0078';\n t['\\u2179'] = '\\u0078';\n t['\\u217A'] = '\\u0078\\u0069';\n t['\\u217B'] = '\\u0078\\u0069\\u0069';\n t['\\u217C'] = '\\u006C';\n t['\\u217D'] = '\\u0063';\n t['\\u217E'] = '\\u0064';\n t['\\u217F'] = '\\u006D';\n t['\\u222C'] = '\\u222B\\u222B';\n t['\\u222D'] = '\\u222B\\u222B\\u222B';\n t['\\u222F'] = '\\u222E\\u222E';\n t['\\u2230'] = '\\u222E\\u222E\\u222E';\n t['\\u2474'] = '\\u0028\\u0031\\u0029';\n t['\\u2475'] = '\\u0028\\u0032\\u0029';\n t['\\u2476'] = '\\u0028\\u0033\\u0029';\n t['\\u2477'] = '\\u0028\\u0034\\u0029';\n t['\\u2478'] = '\\u0028\\u0035\\u0029';\n t['\\u2479'] = '\\u0028\\u0036\\u0029';\n t['\\u247A'] = '\\u0028\\u0037\\u0029';\n t['\\u247B'] = '\\u0028\\u0038\\u0029';\n t['\\u247C'] = '\\u0028\\u0039\\u0029';\n t['\\u247D'] = '\\u0028\\u0031\\u0030\\u0029';\n t['\\u247E'] = '\\u0028\\u0031\\u0031\\u0029';\n t['\\u247F'] = '\\u0028\\u0031\\u0032\\u0029';\n t['\\u2480'] = '\\u0028\\u0031\\u0033\\u0029';\n t['\\u2481'] = '\\u0028\\u0031\\u0034\\u0029';\n t['\\u2482'] = '\\u0028\\u0031\\u0035\\u0029';\n t['\\u2483'] = '\\u0028\\u0031\\u0036\\u0029';\n t['\\u2484'] = '\\u0028\\u0031\\u0037\\u0029';\n t['\\u2485'] = '\\u0028\\u0031\\u0038\\u0029';\n t['\\u2486'] = '\\u0028\\u0031\\u0039\\u0029';\n t['\\u2487'] = '\\u0028\\u0032\\u0030\\u0029';\n t['\\u2488'] = '\\u0031\\u002E';\n t['\\u2489'] = '\\u0032\\u002E';\n t['\\u248A'] = '\\u0033\\u002E';\n t['\\u248B'] = '\\u0034\\u002E';\n t['\\u248C'] = '\\u0035\\u002E';\n t['\\u248D'] = '\\u0036\\u002E';\n t['\\u248E'] = '\\u0037\\u002E';\n t['\\u248F'] = '\\u0038\\u002E';\n t['\\u2490'] = '\\u0039\\u002E';\n t['\\u2491'] = '\\u0031\\u0030\\u002E';\n t['\\u2492'] = '\\u0031\\u0031\\u002E';\n t['\\u2493'] = '\\u0031\\u0032\\u002E';\n t['\\u2494'] = '\\u0031\\u0033\\u002E';\n t['\\u2495'] = '\\u0031\\u0034\\u002E';\n t['\\u2496'] = '\\u0031\\u0035\\u002E';\n t['\\u2497'] = '\\u0031\\u0036\\u002E';\n t['\\u2498'] = '\\u0031\\u0037\\u002E';\n t['\\u2499'] = '\\u0031\\u0038\\u002E';\n t['\\u249A'] = '\\u0031\\u0039\\u002E';\n t['\\u249B'] = '\\u0032\\u0030\\u002E';\n t['\\u249C'] = '\\u0028\\u0061\\u0029';\n t['\\u249D'] = '\\u0028\\u0062\\u0029';\n t['\\u249E'] = '\\u0028\\u0063\\u0029';\n t['\\u249F'] = '\\u0028\\u0064\\u0029';\n t['\\u24A0'] = '\\u0028\\u0065\\u0029';\n t['\\u24A1'] = '\\u0028\\u0066\\u0029';\n t['\\u24A2'] = '\\u0028\\u0067\\u0029';\n t['\\u24A3'] = '\\u0028\\u0068\\u0029';\n t['\\u24A4'] = '\\u0028\\u0069\\u0029';\n t['\\u24A5'] = '\\u0028\\u006A\\u0029';\n t['\\u24A6'] = '\\u0028\\u006B\\u0029';\n t['\\u24A7'] = '\\u0028\\u006C\\u0029';\n t['\\u24A8'] = '\\u0028\\u006D\\u0029';\n t['\\u24A9'] = '\\u0028\\u006E\\u0029';\n t['\\u24AA'] = '\\u0028\\u006F\\u0029';\n t['\\u24AB'] = '\\u0028\\u0070\\u0029';\n t['\\u24AC'] = '\\u0028\\u0071\\u0029';\n t['\\u24AD'] = '\\u0028\\u0072\\u0029';\n t['\\u24AE'] = '\\u0028\\u0073\\u0029';\n t['\\u24AF'] = '\\u0028\\u0074\\u0029';\n t['\\u24B0'] = '\\u0028\\u0075\\u0029';\n t['\\u24B1'] = '\\u0028\\u0076\\u0029';\n t['\\u24B2'] = '\\u0028\\u0077\\u0029';\n t['\\u24B3'] = '\\u0028\\u0078\\u0029';\n t['\\u24B4'] = '\\u0028\\u0079\\u0029';\n t['\\u24B5'] = '\\u0028\\u007A\\u0029';\n t['\\u2A0C'] = '\\u222B\\u222B\\u222B\\u222B';\n t['\\u2A74'] = '\\u003A\\u003A\\u003D';\n t['\\u2A75'] = '\\u003D\\u003D';\n t['\\u2A76'] = '\\u003D\\u003D\\u003D';\n t['\\u2E9F'] = '\\u6BCD';\n t['\\u2EF3'] = '\\u9F9F';\n t['\\u2F00'] = '\\u4E00';\n t['\\u2F01'] = '\\u4E28';\n t['\\u2F02'] = '\\u4E36';\n t['\\u2F03'] = '\\u4E3F';\n t['\\u2F04'] = '\\u4E59';\n t['\\u2F05'] = '\\u4E85';\n t['\\u2F06'] = '\\u4E8C';\n t['\\u2F07'] = '\\u4EA0';\n t['\\u2F08'] = '\\u4EBA';\n t['\\u2F09'] = '\\u513F';\n t['\\u2F0A'] = '\\u5165';\n t['\\u2F0B'] = '\\u516B';\n t['\\u2F0C'] = '\\u5182';\n t['\\u2F0D'] = '\\u5196';\n t['\\u2F0E'] = '\\u51AB';\n t['\\u2F0F'] = '\\u51E0';\n t['\\u2F10'] = '\\u51F5';\n t['\\u2F11'] = '\\u5200';\n t['\\u2F12'] = '\\u529B';\n t['\\u2F13'] = '\\u52F9';\n t['\\u2F14'] = '\\u5315';\n t['\\u2F15'] = '\\u531A';\n t['\\u2F16'] = '\\u5338';\n t['\\u2F17'] = '\\u5341';\n t['\\u2F18'] = '\\u535C';\n t['\\u2F19'] = '\\u5369';\n t['\\u2F1A'] = '\\u5382';\n t['\\u2F1B'] = '\\u53B6';\n t['\\u2F1C'] = '\\u53C8';\n t['\\u2F1D'] = '\\u53E3';\n t['\\u2F1E'] = '\\u56D7';\n t['\\u2F1F'] = '\\u571F';\n t['\\u2F20'] = '\\u58EB';\n t['\\u2F21'] = '\\u5902';\n t['\\u2F22'] = '\\u590A';\n t['\\u2F23'] = '\\u5915';\n t['\\u2F24'] = '\\u5927';\n t['\\u2F25'] = '\\u5973';\n t['\\u2F26'] = '\\u5B50';\n t['\\u2F27'] = '\\u5B80';\n t['\\u2F28'] = '\\u5BF8';\n t['\\u2F29'] = '\\u5C0F';\n t['\\u2F2A'] = '\\u5C22';\n t['\\u2F2B'] = '\\u5C38';\n t['\\u2F2C'] = '\\u5C6E';\n t['\\u2F2D'] = '\\u5C71';\n t['\\u2F2E'] = '\\u5DDB';\n t['\\u2F2F'] = '\\u5DE5';\n t['\\u2F30'] = '\\u5DF1';\n t['\\u2F31'] = '\\u5DFE';\n t['\\u2F32'] = '\\u5E72';\n t['\\u2F33'] = '\\u5E7A';\n t['\\u2F34'] = '\\u5E7F';\n t['\\u2F35'] = '\\u5EF4';\n t['\\u2F36'] = '\\u5EFE';\n t['\\u2F37'] = '\\u5F0B';\n t['\\u2F38'] = '\\u5F13';\n t['\\u2F39'] = '\\u5F50';\n t['\\u2F3A'] = '\\u5F61';\n t['\\u2F3B'] = '\\u5F73';\n t['\\u2F3C'] = '\\u5FC3';\n t['\\u2F3D'] = '\\u6208';\n t['\\u2F3E'] = '\\u6236';\n t['\\u2F3F'] = '\\u624B';\n t['\\u2F40'] = '\\u652F';\n t['\\u2F41'] = '\\u6534';\n t['\\u2F42'] = '\\u6587';\n t['\\u2F43'] = '\\u6597';\n t['\\u2F44'] = '\\u65A4';\n t['\\u2F45'] = '\\u65B9';\n t['\\u2F46'] = '\\u65E0';\n t['\\u2F47'] = '\\u65E5';\n t['\\u2F48'] = '\\u66F0';\n t['\\u2F49'] = '\\u6708';\n t['\\u2F4A'] = '\\u6728';\n t['\\u2F4B'] = '\\u6B20';\n t['\\u2F4C'] = '\\u6B62';\n t['\\u2F4D'] = '\\u6B79';\n t['\\u2F4E'] = '\\u6BB3';\n t['\\u2F4F'] = '\\u6BCB';\n t['\\u2F50'] = '\\u6BD4';\n t['\\u2F51'] = '\\u6BDB';\n t['\\u2F52'] = '\\u6C0F';\n t['\\u2F53'] = '\\u6C14';\n t['\\u2F54'] = '\\u6C34';\n t['\\u2F55'] = '\\u706B';\n t['\\u2F56'] = '\\u722A';\n t['\\u2F57'] = '\\u7236';\n t['\\u2F58'] = '\\u723B';\n t['\\u2F59'] = '\\u723F';\n t['\\u2F5A'] = '\\u7247';\n t['\\u2F5B'] = '\\u7259';\n t['\\u2F5C'] = '\\u725B';\n t['\\u2F5D'] = '\\u72AC';\n t['\\u2F5E'] = '\\u7384';\n t['\\u2F5F'] = '\\u7389';\n t['\\u2F60'] = '\\u74DC';\n t['\\u2F61'] = '\\u74E6';\n t['\\u2F62'] = '\\u7518';\n t['\\u2F63'] = '\\u751F';\n t['\\u2F64'] = '\\u7528';\n t['\\u2F65'] = '\\u7530';\n t['\\u2F66'] = '\\u758B';\n t['\\u2F67'] = '\\u7592';\n t['\\u2F68'] = '\\u7676';\n t['\\u2F69'] = '\\u767D';\n t['\\u2F6A'] = '\\u76AE';\n t['\\u2F6B'] = '\\u76BF';\n t['\\u2F6C'] = '\\u76EE';\n t['\\u2F6D'] = '\\u77DB';\n t['\\u2F6E'] = '\\u77E2';\n t['\\u2F6F'] = '\\u77F3';\n t['\\u2F70'] = '\\u793A';\n t['\\u2F71'] = '\\u79B8';\n t['\\u2F72'] = '\\u79BE';\n t['\\u2F73'] = '\\u7A74';\n t['\\u2F74'] = '\\u7ACB';\n t['\\u2F75'] = '\\u7AF9';\n t['\\u2F76'] = '\\u7C73';\n t['\\u2F77'] = '\\u7CF8';\n t['\\u2F78'] = '\\u7F36';\n t['\\u2F79'] = '\\u7F51';\n t['\\u2F7A'] = '\\u7F8A';\n t['\\u2F7B'] = '\\u7FBD';\n t['\\u2F7C'] = '\\u8001';\n t['\\u2F7D'] = '\\u800C';\n t['\\u2F7E'] = '\\u8012';\n t['\\u2F7F'] = '\\u8033';\n t['\\u2F80'] = '\\u807F';\n t['\\u2F81'] = '\\u8089';\n t['\\u2F82'] = '\\u81E3';\n t['\\u2F83'] = '\\u81EA';\n t['\\u2F84'] = '\\u81F3';\n t['\\u2F85'] = '\\u81FC';\n t['\\u2F86'] = '\\u820C';\n t['\\u2F87'] = '\\u821B';\n t['\\u2F88'] = '\\u821F';\n t['\\u2F89'] = '\\u826E';\n t['\\u2F8A'] = '\\u8272';\n t['\\u2F8B'] = '\\u8278';\n t['\\u2F8C'] = '\\u864D';\n t['\\u2F8D'] = '\\u866B';\n t['\\u2F8E'] = '\\u8840';\n t['\\u2F8F'] = '\\u884C';\n t['\\u2F90'] = '\\u8863';\n t['\\u2F91'] = '\\u897E';\n t['\\u2F92'] = '\\u898B';\n t['\\u2F93'] = '\\u89D2';\n t['\\u2F94'] = '\\u8A00';\n t['\\u2F95'] = '\\u8C37';\n t['\\u2F96'] = '\\u8C46';\n t['\\u2F97'] = '\\u8C55';\n t['\\u2F98'] = '\\u8C78';\n t['\\u2F99'] = '\\u8C9D';\n t['\\u2F9A'] = '\\u8D64';\n t['\\u2F9B'] = '\\u8D70';\n t['\\u2F9C'] = '\\u8DB3';\n t['\\u2F9D'] = '\\u8EAB';\n t['\\u2F9E'] = '\\u8ECA';\n t['\\u2F9F'] = '\\u8F9B';\n t['\\u2FA0'] = '\\u8FB0';\n t['\\u2FA1'] = '\\u8FB5';\n t['\\u2FA2'] = '\\u9091';\n t['\\u2FA3'] = '\\u9149';\n t['\\u2FA4'] = '\\u91C6';\n t['\\u2FA5'] = '\\u91CC';\n t['\\u2FA6'] = '\\u91D1';\n t['\\u2FA7'] = '\\u9577';\n t['\\u2FA8'] = '\\u9580';\n t['\\u2FA9'] = '\\u961C';\n t['\\u2FAA'] = '\\u96B6';\n t['\\u2FAB'] = '\\u96B9';\n t['\\u2FAC'] = '\\u96E8';\n t['\\u2FAD'] = '\\u9751';\n t['\\u2FAE'] = '\\u975E';\n t['\\u2FAF'] = '\\u9762';\n t['\\u2FB0'] = '\\u9769';\n t['\\u2FB1'] = '\\u97CB';\n t['\\u2FB2'] = '\\u97ED';\n t['\\u2FB3'] = '\\u97F3';\n t['\\u2FB4'] = '\\u9801';\n t['\\u2FB5'] = '\\u98A8';\n t['\\u2FB6'] = '\\u98DB';\n t['\\u2FB7'] = '\\u98DF';\n t['\\u2FB8'] = '\\u9996';\n t['\\u2FB9'] = '\\u9999';\n t['\\u2FBA'] = '\\u99AC';\n t['\\u2FBB'] = '\\u9AA8';\n t['\\u2FBC'] = '\\u9AD8';\n t['\\u2FBD'] = '\\u9ADF';\n t['\\u2FBE'] = '\\u9B25';\n t['\\u2FBF'] = '\\u9B2F';\n t['\\u2FC0'] = '\\u9B32';\n t['\\u2FC1'] = '\\u9B3C';\n t['\\u2FC2'] = '\\u9B5A';\n t['\\u2FC3'] = '\\u9CE5';\n t['\\u2FC4'] = '\\u9E75';\n t['\\u2FC5'] = '\\u9E7F';\n t['\\u2FC6'] = '\\u9EA5';\n t['\\u2FC7'] = '\\u9EBB';\n t['\\u2FC8'] = '\\u9EC3';\n t['\\u2FC9'] = '\\u9ECD';\n t['\\u2FCA'] = '\\u9ED1';\n t['\\u2FCB'] = '\\u9EF9';\n t['\\u2FCC'] = '\\u9EFD';\n t['\\u2FCD'] = '\\u9F0E';\n t['\\u2FCE'] = '\\u9F13';\n t['\\u2FCF'] = '\\u9F20';\n t['\\u2FD0'] = '\\u9F3B';\n t['\\u2FD1'] = '\\u9F4A';\n t['\\u2FD2'] = '\\u9F52';\n t['\\u2FD3'] = '\\u9F8D';\n t['\\u2FD4'] = '\\u9F9C';\n t['\\u2FD5'] = '\\u9FA0';\n t['\\u3036'] = '\\u3012';\n t['\\u3038'] = '\\u5341';\n t['\\u3039'] = '\\u5344';\n t['\\u303A'] = '\\u5345';\n t['\\u309B'] = '\\u0020\\u3099';\n t['\\u309C'] = '\\u0020\\u309A';\n t['\\u3131'] = '\\u1100';\n t['\\u3132'] = '\\u1101';\n t['\\u3133'] = '\\u11AA';\n t['\\u3134'] = '\\u1102';\n t['\\u3135'] = '\\u11AC';\n t['\\u3136'] = '\\u11AD';\n t['\\u3137'] = '\\u1103';\n t['\\u3138'] = '\\u1104';\n t['\\u3139'] = '\\u1105';\n t['\\u313A'] = '\\u11B0';\n t['\\u313B'] = '\\u11B1';\n t['\\u313C'] = '\\u11B2';\n t['\\u313D'] = '\\u11B3';\n t['\\u313E'] = '\\u11B4';\n t['\\u313F'] = '\\u11B5';\n t['\\u3140'] = '\\u111A';\n t['\\u3141'] = '\\u1106';\n t['\\u3142'] = '\\u1107';\n t['\\u3143'] = '\\u1108';\n t['\\u3144'] = '\\u1121';\n t['\\u3145'] = '\\u1109';\n t['\\u3146'] = '\\u110A';\n t['\\u3147'] = '\\u110B';\n t['\\u3148'] = '\\u110C';\n t['\\u3149'] = '\\u110D';\n t['\\u314A'] = '\\u110E';\n t['\\u314B'] = '\\u110F';\n t['\\u314C'] = '\\u1110';\n t['\\u314D'] = '\\u1111';\n t['\\u314E'] = '\\u1112';\n t['\\u314F'] = '\\u1161';\n t['\\u3150'] = '\\u1162';\n t['\\u3151'] = '\\u1163';\n t['\\u3152'] = '\\u1164';\n t['\\u3153'] = '\\u1165';\n t['\\u3154'] = '\\u1166';\n t['\\u3155'] = '\\u1167';\n t['\\u3156'] = '\\u1168';\n t['\\u3157'] = '\\u1169';\n t['\\u3158'] = '\\u116A';\n t['\\u3159'] = '\\u116B';\n t['\\u315A'] = '\\u116C';\n t['\\u315B'] = '\\u116D';\n t['\\u315C'] = '\\u116E';\n t['\\u315D'] = '\\u116F';\n t['\\u315E'] = '\\u1170';\n t['\\u315F'] = '\\u1171';\n t['\\u3160'] = '\\u1172';\n t['\\u3161'] = '\\u1173';\n t['\\u3162'] = '\\u1174';\n t['\\u3163'] = '\\u1175';\n t['\\u3164'] = '\\u1160';\n t['\\u3165'] = '\\u1114';\n t['\\u3166'] = '\\u1115';\n t['\\u3167'] = '\\u11C7';\n t['\\u3168'] = '\\u11C8';\n t['\\u3169'] = '\\u11CC';\n t['\\u316A'] = '\\u11CE';\n t['\\u316B'] = '\\u11D3';\n t['\\u316C'] = '\\u11D7';\n t['\\u316D'] = '\\u11D9';\n t['\\u316E'] = '\\u111C';\n t['\\u316F'] = '\\u11DD';\n t['\\u3170'] = '\\u11DF';\n t['\\u3171'] = '\\u111D';\n t['\\u3172'] = '\\u111E';\n t['\\u3173'] = '\\u1120';\n t['\\u3174'] = '\\u1122';\n t['\\u3175'] = '\\u1123';\n t['\\u3176'] = '\\u1127';\n t['\\u3177'] = '\\u1129';\n t['\\u3178'] = '\\u112B';\n t['\\u3179'] = '\\u112C';\n t['\\u317A'] = '\\u112D';\n t['\\u317B'] = '\\u112E';\n t['\\u317C'] = '\\u112F';\n t['\\u317D'] = '\\u1132';\n t['\\u317E'] = '\\u1136';\n t['\\u317F'] = '\\u1140';\n t['\\u3180'] = '\\u1147';\n t['\\u3181'] = '\\u114C';\n t['\\u3182'] = '\\u11F1';\n t['\\u3183'] = '\\u11F2';\n t['\\u3184'] = '\\u1157';\n t['\\u3185'] = '\\u1158';\n t['\\u3186'] = '\\u1159';\n t['\\u3187'] = '\\u1184';\n t['\\u3188'] = '\\u1185';\n t['\\u3189'] = '\\u1188';\n t['\\u318A'] = '\\u1191';\n t['\\u318B'] = '\\u1192';\n t['\\u318C'] = '\\u1194';\n t['\\u318D'] = '\\u119E';\n t['\\u318E'] = '\\u11A1';\n t['\\u3200'] = '\\u0028\\u1100\\u0029';\n t['\\u3201'] = '\\u0028\\u1102\\u0029';\n t['\\u3202'] = '\\u0028\\u1103\\u0029';\n t['\\u3203'] = '\\u0028\\u1105\\u0029';\n t['\\u3204'] = '\\u0028\\u1106\\u0029';\n t['\\u3205'] = '\\u0028\\u1107\\u0029';\n t['\\u3206'] = '\\u0028\\u1109\\u0029';\n t['\\u3207'] = '\\u0028\\u110B\\u0029';\n t['\\u3208'] = '\\u0028\\u110C\\u0029';\n t['\\u3209'] = '\\u0028\\u110E\\u0029';\n t['\\u320A'] = '\\u0028\\u110F\\u0029';\n t['\\u320B'] = '\\u0028\\u1110\\u0029';\n t['\\u320C'] = '\\u0028\\u1111\\u0029';\n t['\\u320D'] = '\\u0028\\u1112\\u0029';\n t['\\u320E'] = '\\u0028\\u1100\\u1161\\u0029';\n t['\\u320F'] = '\\u0028\\u1102\\u1161\\u0029';\n t['\\u3210'] = '\\u0028\\u1103\\u1161\\u0029';\n t['\\u3211'] = '\\u0028\\u1105\\u1161\\u0029';\n t['\\u3212'] = '\\u0028\\u1106\\u1161\\u0029';\n t['\\u3213'] = '\\u0028\\u1107\\u1161\\u0029';\n t['\\u3214'] = '\\u0028\\u1109\\u1161\\u0029';\n t['\\u3215'] = '\\u0028\\u110B\\u1161\\u0029';\n t['\\u3216'] = '\\u0028\\u110C\\u1161\\u0029';\n t['\\u3217'] = '\\u0028\\u110E\\u1161\\u0029';\n t['\\u3218'] = '\\u0028\\u110F\\u1161\\u0029';\n t['\\u3219'] = '\\u0028\\u1110\\u1161\\u0029';\n t['\\u321A'] = '\\u0028\\u1111\\u1161\\u0029';\n t['\\u321B'] = '\\u0028\\u1112\\u1161\\u0029';\n t['\\u321C'] = '\\u0028\\u110C\\u116E\\u0029';\n t['\\u321D'] = '\\u0028\\u110B\\u1169\\u110C\\u1165\\u11AB\\u0029';\n t['\\u321E'] = '\\u0028\\u110B\\u1169\\u1112\\u116E\\u0029';\n t['\\u3220'] = '\\u0028\\u4E00\\u0029';\n t['\\u3221'] = '\\u0028\\u4E8C\\u0029';\n t['\\u3222'] = '\\u0028\\u4E09\\u0029';\n t['\\u3223'] = '\\u0028\\u56DB\\u0029';\n t['\\u3224'] = '\\u0028\\u4E94\\u0029';\n t['\\u3225'] = '\\u0028\\u516D\\u0029';\n t['\\u3226'] = '\\u0028\\u4E03\\u0029';\n t['\\u3227'] = '\\u0028\\u516B\\u0029';\n t['\\u3228'] = '\\u0028\\u4E5D\\u0029';\n t['\\u3229'] = '\\u0028\\u5341\\u0029';\n t['\\u322A'] = '\\u0028\\u6708\\u0029';\n t['\\u322B'] = '\\u0028\\u706B\\u0029';\n t['\\u322C'] = '\\u0028\\u6C34\\u0029';\n t['\\u322D'] = '\\u0028\\u6728\\u0029';\n t['\\u322E'] = '\\u0028\\u91D1\\u0029';\n t['\\u322F'] = '\\u0028\\u571F\\u0029';\n t['\\u3230'] = '\\u0028\\u65E5\\u0029';\n t['\\u3231'] = '\\u0028\\u682A\\u0029';\n t['\\u3232'] = '\\u0028\\u6709\\u0029';\n t['\\u3233'] = '\\u0028\\u793E\\u0029';\n t['\\u3234'] = '\\u0028\\u540D\\u0029';\n t['\\u3235'] = '\\u0028\\u7279\\u0029';\n t['\\u3236'] = '\\u0028\\u8CA1\\u0029';\n t['\\u3237'] = '\\u0028\\u795D\\u0029';\n t['\\u3238'] = '\\u0028\\u52B4\\u0029';\n t['\\u3239'] = '\\u0028\\u4EE3\\u0029';\n t['\\u323A'] = '\\u0028\\u547C\\u0029';\n t['\\u323B'] = '\\u0028\\u5B66\\u0029';\n t['\\u323C'] = '\\u0028\\u76E3\\u0029';\n t['\\u323D'] = '\\u0028\\u4F01\\u0029';\n t['\\u323E'] = '\\u0028\\u8CC7\\u0029';\n t['\\u323F'] = '\\u0028\\u5354\\u0029';\n t['\\u3240'] = '\\u0028\\u796D\\u0029';\n t['\\u3241'] = '\\u0028\\u4F11\\u0029';\n t['\\u3242'] = '\\u0028\\u81EA\\u0029';\n t['\\u3243'] = '\\u0028\\u81F3\\u0029';\n t['\\u32C0'] = '\\u0031\\u6708';\n t['\\u32C1'] = '\\u0032\\u6708';\n t['\\u32C2'] = '\\u0033\\u6708';\n t['\\u32C3'] = '\\u0034\\u6708';\n t['\\u32C4'] = '\\u0035\\u6708';\n t['\\u32C5'] = '\\u0036\\u6708';\n t['\\u32C6'] = '\\u0037\\u6708';\n t['\\u32C7'] = '\\u0038\\u6708';\n t['\\u32C8'] = '\\u0039\\u6708';\n t['\\u32C9'] = '\\u0031\\u0030\\u6708';\n t['\\u32CA'] = '\\u0031\\u0031\\u6708';\n t['\\u32CB'] = '\\u0031\\u0032\\u6708';\n t['\\u3358'] = '\\u0030\\u70B9';\n t['\\u3359'] = '\\u0031\\u70B9';\n t['\\u335A'] = '\\u0032\\u70B9';\n t['\\u335B'] = '\\u0033\\u70B9';\n t['\\u335C'] = '\\u0034\\u70B9';\n t['\\u335D'] = '\\u0035\\u70B9';\n t['\\u335E'] = '\\u0036\\u70B9';\n t['\\u335F'] = '\\u0037\\u70B9';\n t['\\u3360'] = '\\u0038\\u70B9';\n t['\\u3361'] = '\\u0039\\u70B9';\n t['\\u3362'] = '\\u0031\\u0030\\u70B9';\n t['\\u3363'] = '\\u0031\\u0031\\u70B9';\n t['\\u3364'] = '\\u0031\\u0032\\u70B9';\n t['\\u3365'] = '\\u0031\\u0033\\u70B9';\n t['\\u3366'] = '\\u0031\\u0034\\u70B9';\n t['\\u3367'] = '\\u0031\\u0035\\u70B9';\n t['\\u3368'] = '\\u0031\\u0036\\u70B9';\n t['\\u3369'] = '\\u0031\\u0037\\u70B9';\n t['\\u336A'] = '\\u0031\\u0038\\u70B9';\n t['\\u336B'] = '\\u0031\\u0039\\u70B9';\n t['\\u336C'] = '\\u0032\\u0030\\u70B9';\n t['\\u336D'] = '\\u0032\\u0031\\u70B9';\n t['\\u336E'] = '\\u0032\\u0032\\u70B9';\n t['\\u336F'] = '\\u0032\\u0033\\u70B9';\n t['\\u3370'] = '\\u0032\\u0034\\u70B9';\n t['\\u33E0'] = '\\u0031\\u65E5';\n t['\\u33E1'] = '\\u0032\\u65E5';\n t['\\u33E2'] = '\\u0033\\u65E5';\n t['\\u33E3'] = '\\u0034\\u65E5';\n t['\\u33E4'] = '\\u0035\\u65E5';\n t['\\u33E5'] = '\\u0036\\u65E5';\n t['\\u33E6'] = '\\u0037\\u65E5';\n t['\\u33E7'] = '\\u0038\\u65E5';\n t['\\u33E8'] = '\\u0039\\u65E5';\n t['\\u33E9'] = '\\u0031\\u0030\\u65E5';\n t['\\u33EA'] = '\\u0031\\u0031\\u65E5';\n t['\\u33EB'] = '\\u0031\\u0032\\u65E5';\n t['\\u33EC'] = '\\u0031\\u0033\\u65E5';\n t['\\u33ED'] = '\\u0031\\u0034\\u65E5';\n t['\\u33EE'] = '\\u0031\\u0035\\u65E5';\n t['\\u33EF'] = '\\u0031\\u0036\\u65E5';\n t['\\u33F0'] = '\\u0031\\u0037\\u65E5';\n t['\\u33F1'] = '\\u0031\\u0038\\u65E5';\n t['\\u33F2'] = '\\u0031\\u0039\\u65E5';\n t['\\u33F3'] = '\\u0032\\u0030\\u65E5';\n t['\\u33F4'] = '\\u0032\\u0031\\u65E5';\n t['\\u33F5'] = '\\u0032\\u0032\\u65E5';\n t['\\u33F6'] = '\\u0032\\u0033\\u65E5';\n t['\\u33F7'] = '\\u0032\\u0034\\u65E5';\n t['\\u33F8'] = '\\u0032\\u0035\\u65E5';\n t['\\u33F9'] = '\\u0032\\u0036\\u65E5';\n t['\\u33FA'] = '\\u0032\\u0037\\u65E5';\n t['\\u33FB'] = '\\u0032\\u0038\\u65E5';\n t['\\u33FC'] = '\\u0032\\u0039\\u65E5';\n t['\\u33FD'] = '\\u0033\\u0030\\u65E5';\n t['\\u33FE'] = '\\u0033\\u0031\\u65E5';\n t['\\uFB00'] = '\\u0066\\u0066';\n t['\\uFB01'] = '\\u0066\\u0069';\n t['\\uFB02'] = '\\u0066\\u006C';\n t['\\uFB03'] = '\\u0066\\u0066\\u0069';\n t['\\uFB04'] = '\\u0066\\u0066\\u006C';\n t['\\uFB05'] = '\\u017F\\u0074';\n t['\\uFB06'] = '\\u0073\\u0074';\n t['\\uFB13'] = '\\u0574\\u0576';\n t['\\uFB14'] = '\\u0574\\u0565';\n t['\\uFB15'] = '\\u0574\\u056B';\n t['\\uFB16'] = '\\u057E\\u0576';\n t['\\uFB17'] = '\\u0574\\u056D';\n t['\\uFB4F'] = '\\u05D0\\u05DC';\n t['\\uFB50'] = '\\u0671';\n t['\\uFB51'] = '\\u0671';\n t['\\uFB52'] = '\\u067B';\n t['\\uFB53'] = '\\u067B';\n t['\\uFB54'] = '\\u067B';\n t['\\uFB55'] = '\\u067B';\n t['\\uFB56'] = '\\u067E';\n t['\\uFB57'] = '\\u067E';\n t['\\uFB58'] = '\\u067E';\n t['\\uFB59'] = '\\u067E';\n t['\\uFB5A'] = '\\u0680';\n t['\\uFB5B'] = '\\u0680';\n t['\\uFB5C'] = '\\u0680';\n t['\\uFB5D'] = '\\u0680';\n t['\\uFB5E'] = '\\u067A';\n t['\\uFB5F'] = '\\u067A';\n t['\\uFB60'] = '\\u067A';\n t['\\uFB61'] = '\\u067A';\n t['\\uFB62'] = '\\u067F';\n t['\\uFB63'] = '\\u067F';\n t['\\uFB64'] = '\\u067F';\n t['\\uFB65'] = '\\u067F';\n t['\\uFB66'] = '\\u0679';\n t['\\uFB67'] = '\\u0679';\n t['\\uFB68'] = '\\u0679';\n t['\\uFB69'] = '\\u0679';\n t['\\uFB6A'] = '\\u06A4';\n t['\\uFB6B'] = '\\u06A4';\n t['\\uFB6C'] = '\\u06A4';\n t['\\uFB6D'] = '\\u06A4';\n t['\\uFB6E'] = '\\u06A6';\n t['\\uFB6F'] = '\\u06A6';\n t['\\uFB70'] = '\\u06A6';\n t['\\uFB71'] = '\\u06A6';\n t['\\uFB72'] = '\\u0684';\n t['\\uFB73'] = '\\u0684';\n t['\\uFB74'] = '\\u0684';\n t['\\uFB75'] = '\\u0684';\n t['\\uFB76'] = '\\u0683';\n t['\\uFB77'] = '\\u0683';\n t['\\uFB78'] = '\\u0683';\n t['\\uFB79'] = '\\u0683';\n t['\\uFB7A'] = '\\u0686';\n t['\\uFB7B'] = '\\u0686';\n t['\\uFB7C'] = '\\u0686';\n t['\\uFB7D'] = '\\u0686';\n t['\\uFB7E'] = '\\u0687';\n t['\\uFB7F'] = '\\u0687';\n t['\\uFB80'] = '\\u0687';\n t['\\uFB81'] = '\\u0687';\n t['\\uFB82'] = '\\u068D';\n t['\\uFB83'] = '\\u068D';\n t['\\uFB84'] = '\\u068C';\n t['\\uFB85'] = '\\u068C';\n t['\\uFB86'] = '\\u068E';\n t['\\uFB87'] = '\\u068E';\n t['\\uFB88'] = '\\u0688';\n t['\\uFB89'] = '\\u0688';\n t['\\uFB8A'] = '\\u0698';\n t['\\uFB8B'] = '\\u0698';\n t['\\uFB8C'] = '\\u0691';\n t['\\uFB8D'] = '\\u0691';\n t['\\uFB8E'] = '\\u06A9';\n t['\\uFB8F'] = '\\u06A9';\n t['\\uFB90'] = '\\u06A9';\n t['\\uFB91'] = '\\u06A9';\n t['\\uFB92'] = '\\u06AF';\n t['\\uFB93'] = '\\u06AF';\n t['\\uFB94'] = '\\u06AF';\n t['\\uFB95'] = '\\u06AF';\n t['\\uFB96'] = '\\u06B3';\n t['\\uFB97'] = '\\u06B3';\n t['\\uFB98'] = '\\u06B3';\n t['\\uFB99'] = '\\u06B3';\n t['\\uFB9A'] = '\\u06B1';\n t['\\uFB9B'] = '\\u06B1';\n t['\\uFB9C'] = '\\u06B1';\n t['\\uFB9D'] = '\\u06B1';\n t['\\uFB9E'] = '\\u06BA';\n t['\\uFB9F'] = '\\u06BA';\n t['\\uFBA0'] = '\\u06BB';\n t['\\uFBA1'] = '\\u06BB';\n t['\\uFBA2'] = '\\u06BB';\n t['\\uFBA3'] = '\\u06BB';\n t['\\uFBA4'] = '\\u06C0';\n t['\\uFBA5'] = '\\u06C0';\n t['\\uFBA6'] = '\\u06C1';\n t['\\uFBA7'] = '\\u06C1';\n t['\\uFBA8'] = '\\u06C1';\n t['\\uFBA9'] = '\\u06C1';\n t['\\uFBAA'] = '\\u06BE';\n t['\\uFBAB'] = '\\u06BE';\n t['\\uFBAC'] = '\\u06BE';\n t['\\uFBAD'] = '\\u06BE';\n t['\\uFBAE'] = '\\u06D2';\n t['\\uFBAF'] = '\\u06D2';\n t['\\uFBB0'] = '\\u06D3';\n t['\\uFBB1'] = '\\u06D3';\n t['\\uFBD3'] = '\\u06AD';\n t['\\uFBD4'] = '\\u06AD';\n t['\\uFBD5'] = '\\u06AD';\n t['\\uFBD6'] = '\\u06AD';\n t['\\uFBD7'] = '\\u06C7';\n t['\\uFBD8'] = '\\u06C7';\n t['\\uFBD9'] = '\\u06C6';\n t['\\uFBDA'] = '\\u06C6';\n t['\\uFBDB'] = '\\u06C8';\n t['\\uFBDC'] = '\\u06C8';\n t['\\uFBDD'] = '\\u0677';\n t['\\uFBDE'] = '\\u06CB';\n t['\\uFBDF'] = '\\u06CB';\n t['\\uFBE0'] = '\\u06C5';\n t['\\uFBE1'] = '\\u06C5';\n t['\\uFBE2'] = '\\u06C9';\n t['\\uFBE3'] = '\\u06C9';\n t['\\uFBE4'] = '\\u06D0';\n t['\\uFBE5'] = '\\u06D0';\n t['\\uFBE6'] = '\\u06D0';\n t['\\uFBE7'] = '\\u06D0';\n t['\\uFBE8'] = '\\u0649';\n t['\\uFBE9'] = '\\u0649';\n t['\\uFBEA'] = '\\u0626\\u0627';\n t['\\uFBEB'] = '\\u0626\\u0627';\n t['\\uFBEC'] = '\\u0626\\u06D5';\n t['\\uFBED'] = '\\u0626\\u06D5';\n t['\\uFBEE'] = '\\u0626\\u0648';\n t['\\uFBEF'] = '\\u0626\\u0648';\n t['\\uFBF0'] = '\\u0626\\u06C7';\n t['\\uFBF1'] = '\\u0626\\u06C7';\n t['\\uFBF2'] = '\\u0626\\u06C6';\n t['\\uFBF3'] = '\\u0626\\u06C6';\n t['\\uFBF4'] = '\\u0626\\u06C8';\n t['\\uFBF5'] = '\\u0626\\u06C8';\n t['\\uFBF6'] = '\\u0626\\u06D0';\n t['\\uFBF7'] = '\\u0626\\u06D0';\n t['\\uFBF8'] = '\\u0626\\u06D0';\n t['\\uFBF9'] = '\\u0626\\u0649';\n t['\\uFBFA'] = '\\u0626\\u0649';\n t['\\uFBFB'] = '\\u0626\\u0649';\n t['\\uFBFC'] = '\\u06CC';\n t['\\uFBFD'] = '\\u06CC';\n t['\\uFBFE'] = '\\u06CC';\n t['\\uFBFF'] = '\\u06CC';\n t['\\uFC00'] = '\\u0626\\u062C';\n t['\\uFC01'] = '\\u0626\\u062D';\n t['\\uFC02'] = '\\u0626\\u0645';\n t['\\uFC03'] = '\\u0626\\u0649';\n t['\\uFC04'] = '\\u0626\\u064A';\n t['\\uFC05'] = '\\u0628\\u062C';\n t['\\uFC06'] = '\\u0628\\u062D';\n t['\\uFC07'] = '\\u0628\\u062E';\n t['\\uFC08'] = '\\u0628\\u0645';\n t['\\uFC09'] = '\\u0628\\u0649';\n t['\\uFC0A'] = '\\u0628\\u064A';\n t['\\uFC0B'] = '\\u062A\\u062C';\n t['\\uFC0C'] = '\\u062A\\u062D';\n t['\\uFC0D'] = '\\u062A\\u062E';\n t['\\uFC0E'] = '\\u062A\\u0645';\n t['\\uFC0F'] = '\\u062A\\u0649';\n t['\\uFC10'] = '\\u062A\\u064A';\n t['\\uFC11'] = '\\u062B\\u062C';\n t['\\uFC12'] = '\\u062B\\u0645';\n t['\\uFC13'] = '\\u062B\\u0649';\n t['\\uFC14'] = '\\u062B\\u064A';\n t['\\uFC15'] = '\\u062C\\u062D';\n t['\\uFC16'] = '\\u062C\\u0645';\n t['\\uFC17'] = '\\u062D\\u062C';\n t['\\uFC18'] = '\\u062D\\u0645';\n t['\\uFC19'] = '\\u062E\\u062C';\n t['\\uFC1A'] = '\\u062E\\u062D';\n t['\\uFC1B'] = '\\u062E\\u0645';\n t['\\uFC1C'] = '\\u0633\\u062C';\n t['\\uFC1D'] = '\\u0633\\u062D';\n t['\\uFC1E'] = '\\u0633\\u062E';\n t['\\uFC1F'] = '\\u0633\\u0645';\n t['\\uFC20'] = '\\u0635\\u062D';\n t['\\uFC21'] = '\\u0635\\u0645';\n t['\\uFC22'] = '\\u0636\\u062C';\n t['\\uFC23'] = '\\u0636\\u062D';\n t['\\uFC24'] = '\\u0636\\u062E';\n t['\\uFC25'] = '\\u0636\\u0645';\n t['\\uFC26'] = '\\u0637\\u062D';\n t['\\uFC27'] = '\\u0637\\u0645';\n t['\\uFC28'] = '\\u0638\\u0645';\n t['\\uFC29'] = '\\u0639\\u062C';\n t['\\uFC2A'] = '\\u0639\\u0645';\n t['\\uFC2B'] = '\\u063A\\u062C';\n t['\\uFC2C'] = '\\u063A\\u0645';\n t['\\uFC2D'] = '\\u0641\\u062C';\n t['\\uFC2E'] = '\\u0641\\u062D';\n t['\\uFC2F'] = '\\u0641\\u062E';\n t['\\uFC30'] = '\\u0641\\u0645';\n t['\\uFC31'] = '\\u0641\\u0649';\n t['\\uFC32'] = '\\u0641\\u064A';\n t['\\uFC33'] = '\\u0642\\u062D';\n t['\\uFC34'] = '\\u0642\\u0645';\n t['\\uFC35'] = '\\u0642\\u0649';\n t['\\uFC36'] = '\\u0642\\u064A';\n t['\\uFC37'] = '\\u0643\\u0627';\n t['\\uFC38'] = '\\u0643\\u062C';\n t['\\uFC39'] = '\\u0643\\u062D';\n t['\\uFC3A'] = '\\u0643\\u062E';\n t['\\uFC3B'] = '\\u0643\\u0644';\n t['\\uFC3C'] = '\\u0643\\u0645';\n t['\\uFC3D'] = '\\u0643\\u0649';\n t['\\uFC3E'] = '\\u0643\\u064A';\n t['\\uFC3F'] = '\\u0644\\u062C';\n t['\\uFC40'] = '\\u0644\\u062D';\n t['\\uFC41'] = '\\u0644\\u062E';\n t['\\uFC42'] = '\\u0644\\u0645';\n t['\\uFC43'] = '\\u0644\\u0649';\n t['\\uFC44'] = '\\u0644\\u064A';\n t['\\uFC45'] = '\\u0645\\u062C';\n t['\\uFC46'] = '\\u0645\\u062D';\n t['\\uFC47'] = '\\u0645\\u062E';\n t['\\uFC48'] = '\\u0645\\u0645';\n t['\\uFC49'] = '\\u0645\\u0649';\n t['\\uFC4A'] = '\\u0645\\u064A';\n t['\\uFC4B'] = '\\u0646\\u062C';\n t['\\uFC4C'] = '\\u0646\\u062D';\n t['\\uFC4D'] = '\\u0646\\u062E';\n t['\\uFC4E'] = '\\u0646\\u0645';\n t['\\uFC4F'] = '\\u0646\\u0649';\n t['\\uFC50'] = '\\u0646\\u064A';\n t['\\uFC51'] = '\\u0647\\u062C';\n t['\\uFC52'] = '\\u0647\\u0645';\n t['\\uFC53'] = '\\u0647\\u0649';\n t['\\uFC54'] = '\\u0647\\u064A';\n t['\\uFC55'] = '\\u064A\\u062C';\n t['\\uFC56'] = '\\u064A\\u062D';\n t['\\uFC57'] = '\\u064A\\u062E';\n t['\\uFC58'] = '\\u064A\\u0645';\n t['\\uFC59'] = '\\u064A\\u0649';\n t['\\uFC5A'] = '\\u064A\\u064A';\n t['\\uFC5B'] = '\\u0630\\u0670';\n t['\\uFC5C'] = '\\u0631\\u0670';\n t['\\uFC5D'] = '\\u0649\\u0670';\n t['\\uFC5E'] = '\\u0020\\u064C\\u0651';\n t['\\uFC5F'] = '\\u0020\\u064D\\u0651';\n t['\\uFC60'] = '\\u0020\\u064E\\u0651';\n t['\\uFC61'] = '\\u0020\\u064F\\u0651';\n t['\\uFC62'] = '\\u0020\\u0650\\u0651';\n t['\\uFC63'] = '\\u0020\\u0651\\u0670';\n t['\\uFC64'] = '\\u0626\\u0631';\n t['\\uFC65'] = '\\u0626\\u0632';\n t['\\uFC66'] = '\\u0626\\u0645';\n t['\\uFC67'] = '\\u0626\\u0646';\n t['\\uFC68'] = '\\u0626\\u0649';\n t['\\uFC69'] = '\\u0626\\u064A';\n t['\\uFC6A'] = '\\u0628\\u0631';\n t['\\uFC6B'] = '\\u0628\\u0632';\n t['\\uFC6C'] = '\\u0628\\u0645';\n t['\\uFC6D'] = '\\u0628\\u0646';\n t['\\uFC6E'] = '\\u0628\\u0649';\n t['\\uFC6F'] = '\\u0628\\u064A';\n t['\\uFC70'] = '\\u062A\\u0631';\n t['\\uFC71'] = '\\u062A\\u0632';\n t['\\uFC72'] = '\\u062A\\u0645';\n t['\\uFC73'] = '\\u062A\\u0646';\n t['\\uFC74'] = '\\u062A\\u0649';\n t['\\uFC75'] = '\\u062A\\u064A';\n t['\\uFC76'] = '\\u062B\\u0631';\n t['\\uFC77'] = '\\u062B\\u0632';\n t['\\uFC78'] = '\\u062B\\u0645';\n t['\\uFC79'] = '\\u062B\\u0646';\n t['\\uFC7A'] = '\\u062B\\u0649';\n t['\\uFC7B'] = '\\u062B\\u064A';\n t['\\uFC7C'] = '\\u0641\\u0649';\n t['\\uFC7D'] = '\\u0641\\u064A';\n t['\\uFC7E'] = '\\u0642\\u0649';\n t['\\uFC7F'] = '\\u0642\\u064A';\n t['\\uFC80'] = '\\u0643\\u0627';\n t['\\uFC81'] = '\\u0643\\u0644';\n t['\\uFC82'] = '\\u0643\\u0645';\n t['\\uFC83'] = '\\u0643\\u0649';\n t['\\uFC84'] = '\\u0643\\u064A';\n t['\\uFC85'] = '\\u0644\\u0645';\n t['\\uFC86'] = '\\u0644\\u0649';\n t['\\uFC87'] = '\\u0644\\u064A';\n t['\\uFC88'] = '\\u0645\\u0627';\n t['\\uFC89'] = '\\u0645\\u0645';\n t['\\uFC8A'] = '\\u0646\\u0631';\n t['\\uFC8B'] = '\\u0646\\u0632';\n t['\\uFC8C'] = '\\u0646\\u0645';\n t['\\uFC8D'] = '\\u0646\\u0646';\n t['\\uFC8E'] = '\\u0646\\u0649';\n t['\\uFC8F'] = '\\u0646\\u064A';\n t['\\uFC90'] = '\\u0649\\u0670';\n t['\\uFC91'] = '\\u064A\\u0631';\n t['\\uFC92'] = '\\u064A\\u0632';\n t['\\uFC93'] = '\\u064A\\u0645';\n t['\\uFC94'] = '\\u064A\\u0646';\n t['\\uFC95'] = '\\u064A\\u0649';\n t['\\uFC96'] = '\\u064A\\u064A';\n t['\\uFC97'] = '\\u0626\\u062C';\n t['\\uFC98'] = '\\u0626\\u062D';\n t['\\uFC99'] = '\\u0626\\u062E';\n t['\\uFC9A'] = '\\u0626\\u0645';\n t['\\uFC9B'] = '\\u0626\\u0647';\n t['\\uFC9C'] = '\\u0628\\u062C';\n t['\\uFC9D'] = '\\u0628\\u062D';\n t['\\uFC9E'] = '\\u0628\\u062E';\n t['\\uFC9F'] = '\\u0628\\u0645';\n t['\\uFCA0'] = '\\u0628\\u0647';\n t['\\uFCA1'] = '\\u062A\\u062C';\n t['\\uFCA2'] = '\\u062A\\u062D';\n t['\\uFCA3'] = '\\u062A\\u062E';\n t['\\uFCA4'] = '\\u062A\\u0645';\n t['\\uFCA5'] = '\\u062A\\u0647';\n t['\\uFCA6'] = '\\u062B\\u0645';\n t['\\uFCA7'] = '\\u062C\\u062D';\n t['\\uFCA8'] = '\\u062C\\u0645';\n t['\\uFCA9'] = '\\u062D\\u062C';\n t['\\uFCAA'] = '\\u062D\\u0645';\n t['\\uFCAB'] = '\\u062E\\u062C';\n t['\\uFCAC'] = '\\u062E\\u0645';\n t['\\uFCAD'] = '\\u0633\\u062C';\n t['\\uFCAE'] = '\\u0633\\u062D';\n t['\\uFCAF'] = '\\u0633\\u062E';\n t['\\uFCB0'] = '\\u0633\\u0645';\n t['\\uFCB1'] = '\\u0635\\u062D';\n t['\\uFCB2'] = '\\u0635\\u062E';\n t['\\uFCB3'] = '\\u0635\\u0645';\n t['\\uFCB4'] = '\\u0636\\u062C';\n t['\\uFCB5'] = '\\u0636\\u062D';\n t['\\uFCB6'] = '\\u0636\\u062E';\n t['\\uFCB7'] = '\\u0636\\u0645';\n t['\\uFCB8'] = '\\u0637\\u062D';\n t['\\uFCB9'] = '\\u0638\\u0645';\n t['\\uFCBA'] = '\\u0639\\u062C';\n t['\\uFCBB'] = '\\u0639\\u0645';\n t['\\uFCBC'] = '\\u063A\\u062C';\n t['\\uFCBD'] = '\\u063A\\u0645';\n t['\\uFCBE'] = '\\u0641\\u062C';\n t['\\uFCBF'] = '\\u0641\\u062D';\n t['\\uFCC0'] = '\\u0641\\u062E';\n t['\\uFCC1'] = '\\u0641\\u0645';\n t['\\uFCC2'] = '\\u0642\\u062D';\n t['\\uFCC3'] = '\\u0642\\u0645';\n t['\\uFCC4'] = '\\u0643\\u062C';\n t['\\uFCC5'] = '\\u0643\\u062D';\n t['\\uFCC6'] = '\\u0643\\u062E';\n t['\\uFCC7'] = '\\u0643\\u0644';\n t['\\uFCC8'] = '\\u0643\\u0645';\n t['\\uFCC9'] = '\\u0644\\u062C';\n t['\\uFCCA'] = '\\u0644\\u062D';\n t['\\uFCCB'] = '\\u0644\\u062E';\n t['\\uFCCC'] = '\\u0644\\u0645';\n t['\\uFCCD'] = '\\u0644\\u0647';\n t['\\uFCCE'] = '\\u0645\\u062C';\n t['\\uFCCF'] = '\\u0645\\u062D';\n t['\\uFCD0'] = '\\u0645\\u062E';\n t['\\uFCD1'] = '\\u0645\\u0645';\n t['\\uFCD2'] = '\\u0646\\u062C';\n t['\\uFCD3'] = '\\u0646\\u062D';\n t['\\uFCD4'] = '\\u0646\\u062E';\n t['\\uFCD5'] = '\\u0646\\u0645';\n t['\\uFCD6'] = '\\u0646\\u0647';\n t['\\uFCD7'] = '\\u0647\\u062C';\n t['\\uFCD8'] = '\\u0647\\u0645';\n t['\\uFCD9'] = '\\u0647\\u0670';\n t['\\uFCDA'] = '\\u064A\\u062C';\n t['\\uFCDB'] = '\\u064A\\u062D';\n t['\\uFCDC'] = '\\u064A\\u062E';\n t['\\uFCDD'] = '\\u064A\\u0645';\n t['\\uFCDE'] = '\\u064A\\u0647';\n t['\\uFCDF'] = '\\u0626\\u0645';\n t['\\uFCE0'] = '\\u0626\\u0647';\n t['\\uFCE1'] = '\\u0628\\u0645';\n t['\\uFCE2'] = '\\u0628\\u0647';\n t['\\uFCE3'] = '\\u062A\\u0645';\n t['\\uFCE4'] = '\\u062A\\u0647';\n t['\\uFCE5'] = '\\u062B\\u0645';\n t['\\uFCE6'] = '\\u062B\\u0647';\n t['\\uFCE7'] = '\\u0633\\u0645';\n t['\\uFCE8'] = '\\u0633\\u0647';\n t['\\uFCE9'] = '\\u0634\\u0645';\n t['\\uFCEA'] = '\\u0634\\u0647';\n t['\\uFCEB'] = '\\u0643\\u0644';\n t['\\uFCEC'] = '\\u0643\\u0645';\n t['\\uFCED'] = '\\u0644\\u0645';\n t['\\uFCEE'] = '\\u0646\\u0645';\n t['\\uFCEF'] = '\\u0646\\u0647';\n t['\\uFCF0'] = '\\u064A\\u0645';\n t['\\uFCF1'] = '\\u064A\\u0647';\n t['\\uFCF2'] = '\\u0640\\u064E\\u0651';\n t['\\uFCF3'] = '\\u0640\\u064F\\u0651';\n t['\\uFCF4'] = '\\u0640\\u0650\\u0651';\n t['\\uFCF5'] = '\\u0637\\u0649';\n t['\\uFCF6'] = '\\u0637\\u064A';\n t['\\uFCF7'] = '\\u0639\\u0649';\n t['\\uFCF8'] = '\\u0639\\u064A';\n t['\\uFCF9'] = '\\u063A\\u0649';\n t['\\uFCFA'] = '\\u063A\\u064A';\n t['\\uFCFB'] = '\\u0633\\u0649';\n t['\\uFCFC'] = '\\u0633\\u064A';\n t['\\uFCFD'] = '\\u0634\\u0649';\n t['\\uFCFE'] = '\\u0634\\u064A';\n t['\\uFCFF'] = '\\u062D\\u0649';\n t['\\uFD00'] = '\\u062D\\u064A';\n t['\\uFD01'] = '\\u062C\\u0649';\n t['\\uFD02'] = '\\u062C\\u064A';\n t['\\uFD03'] = '\\u062E\\u0649';\n t['\\uFD04'] = '\\u062E\\u064A';\n t['\\uFD05'] = '\\u0635\\u0649';\n t['\\uFD06'] = '\\u0635\\u064A';\n t['\\uFD07'] = '\\u0636\\u0649';\n t['\\uFD08'] = '\\u0636\\u064A';\n t['\\uFD09'] = '\\u0634\\u062C';\n t['\\uFD0A'] = '\\u0634\\u062D';\n t['\\uFD0B'] = '\\u0634\\u062E';\n t['\\uFD0C'] = '\\u0634\\u0645';\n t['\\uFD0D'] = '\\u0634\\u0631';\n t['\\uFD0E'] = '\\u0633\\u0631';\n t['\\uFD0F'] = '\\u0635\\u0631';\n t['\\uFD10'] = '\\u0636\\u0631';\n t['\\uFD11'] = '\\u0637\\u0649';\n t['\\uFD12'] = '\\u0637\\u064A';\n t['\\uFD13'] = '\\u0639\\u0649';\n t['\\uFD14'] = '\\u0639\\u064A';\n t['\\uFD15'] = '\\u063A\\u0649';\n t['\\uFD16'] = '\\u063A\\u064A';\n t['\\uFD17'] = '\\u0633\\u0649';\n t['\\uFD18'] = '\\u0633\\u064A';\n t['\\uFD19'] = '\\u0634\\u0649';\n t['\\uFD1A'] = '\\u0634\\u064A';\n t['\\uFD1B'] = '\\u062D\\u0649';\n t['\\uFD1C'] = '\\u062D\\u064A';\n t['\\uFD1D'] = '\\u062C\\u0649';\n t['\\uFD1E'] = '\\u062C\\u064A';\n t['\\uFD1F'] = '\\u062E\\u0649';\n t['\\uFD20'] = '\\u062E\\u064A';\n t['\\uFD21'] = '\\u0635\\u0649';\n t['\\uFD22'] = '\\u0635\\u064A';\n t['\\uFD23'] = '\\u0636\\u0649';\n t['\\uFD24'] = '\\u0636\\u064A';\n t['\\uFD25'] = '\\u0634\\u062C';\n t['\\uFD26'] = '\\u0634\\u062D';\n t['\\uFD27'] = '\\u0634\\u062E';\n t['\\uFD28'] = '\\u0634\\u0645';\n t['\\uFD29'] = '\\u0634\\u0631';\n t['\\uFD2A'] = '\\u0633\\u0631';\n t['\\uFD2B'] = '\\u0635\\u0631';\n t['\\uFD2C'] = '\\u0636\\u0631';\n t['\\uFD2D'] = '\\u0634\\u062C';\n t['\\uFD2E'] = '\\u0634\\u062D';\n t['\\uFD2F'] = '\\u0634\\u062E';\n t['\\uFD30'] = '\\u0634\\u0645';\n t['\\uFD31'] = '\\u0633\\u0647';\n t['\\uFD32'] = '\\u0634\\u0647';\n t['\\uFD33'] = '\\u0637\\u0645';\n t['\\uFD34'] = '\\u0633\\u062C';\n t['\\uFD35'] = '\\u0633\\u062D';\n t['\\uFD36'] = '\\u0633\\u062E';\n t['\\uFD37'] = '\\u0634\\u062C';\n t['\\uFD38'] = '\\u0634\\u062D';\n t['\\uFD39'] = '\\u0634\\u062E';\n t['\\uFD3A'] = '\\u0637\\u0645';\n t['\\uFD3B'] = '\\u0638\\u0645';\n t['\\uFD3C'] = '\\u0627\\u064B';\n t['\\uFD3D'] = '\\u0627\\u064B';\n t['\\uFD50'] = '\\u062A\\u062C\\u0645';\n t['\\uFD51'] = '\\u062A\\u062D\\u062C';\n t['\\uFD52'] = '\\u062A\\u062D\\u062C';\n t['\\uFD53'] = '\\u062A\\u062D\\u0645';\n t['\\uFD54'] = '\\u062A\\u062E\\u0645';\n t['\\uFD55'] = '\\u062A\\u0645\\u062C';\n t['\\uFD56'] = '\\u062A\\u0645\\u062D';\n t['\\uFD57'] = '\\u062A\\u0645\\u062E';\n t['\\uFD58'] = '\\u062C\\u0645\\u062D';\n t['\\uFD59'] = '\\u062C\\u0645\\u062D';\n t['\\uFD5A'] = '\\u062D\\u0645\\u064A';\n t['\\uFD5B'] = '\\u062D\\u0645\\u0649';\n t['\\uFD5C'] = '\\u0633\\u062D\\u062C';\n t['\\uFD5D'] = '\\u0633\\u062C\\u062D';\n t['\\uFD5E'] = '\\u0633\\u062C\\u0649';\n t['\\uFD5F'] = '\\u0633\\u0645\\u062D';\n t['\\uFD60'] = '\\u0633\\u0645\\u062D';\n t['\\uFD61'] = '\\u0633\\u0645\\u062C';\n t['\\uFD62'] = '\\u0633\\u0645\\u0645';\n t['\\uFD63'] = '\\u0633\\u0645\\u0645';\n t['\\uFD64'] = '\\u0635\\u062D\\u062D';\n t['\\uFD65'] = '\\u0635\\u062D\\u062D';\n t['\\uFD66'] = '\\u0635\\u0645\\u0645';\n t['\\uFD67'] = '\\u0634\\u062D\\u0645';\n t['\\uFD68'] = '\\u0634\\u062D\\u0645';\n t['\\uFD69'] = '\\u0634\\u062C\\u064A';\n t['\\uFD6A'] = '\\u0634\\u0645\\u062E';\n t['\\uFD6B'] = '\\u0634\\u0645\\u062E';\n t['\\uFD6C'] = '\\u0634\\u0645\\u0645';\n t['\\uFD6D'] = '\\u0634\\u0645\\u0645';\n t['\\uFD6E'] = '\\u0636\\u062D\\u0649';\n t['\\uFD6F'] = '\\u0636\\u062E\\u0645';\n t['\\uFD70'] = '\\u0636\\u062E\\u0645';\n t['\\uFD71'] = '\\u0637\\u0645\\u062D';\n t['\\uFD72'] = '\\u0637\\u0645\\u062D';\n t['\\uFD73'] = '\\u0637\\u0645\\u0645';\n t['\\uFD74'] = '\\u0637\\u0645\\u064A';\n t['\\uFD75'] = '\\u0639\\u062C\\u0645';\n t['\\uFD76'] = '\\u0639\\u0645\\u0645';\n t['\\uFD77'] = '\\u0639\\u0645\\u0645';\n t['\\uFD78'] = '\\u0639\\u0645\\u0649';\n t['\\uFD79'] = '\\u063A\\u0645\\u0645';\n t['\\uFD7A'] = '\\u063A\\u0645\\u064A';\n t['\\uFD7B'] = '\\u063A\\u0645\\u0649';\n t['\\uFD7C'] = '\\u0641\\u062E\\u0645';\n t['\\uFD7D'] = '\\u0641\\u062E\\u0645';\n t['\\uFD7E'] = '\\u0642\\u0645\\u062D';\n t['\\uFD7F'] = '\\u0642\\u0645\\u0645';\n t['\\uFD80'] = '\\u0644\\u062D\\u0645';\n t['\\uFD81'] = '\\u0644\\u062D\\u064A';\n t['\\uFD82'] = '\\u0644\\u062D\\u0649';\n t['\\uFD83'] = '\\u0644\\u062C\\u062C';\n t['\\uFD84'] = '\\u0644\\u062C\\u062C';\n t['\\uFD85'] = '\\u0644\\u062E\\u0645';\n t['\\uFD86'] = '\\u0644\\u062E\\u0645';\n t['\\uFD87'] = '\\u0644\\u0645\\u062D';\n t['\\uFD88'] = '\\u0644\\u0645\\u062D';\n t['\\uFD89'] = '\\u0645\\u062D\\u062C';\n t['\\uFD8A'] = '\\u0645\\u062D\\u0645';\n t['\\uFD8B'] = '\\u0645\\u062D\\u064A';\n t['\\uFD8C'] = '\\u0645\\u062C\\u062D';\n t['\\uFD8D'] = '\\u0645\\u062C\\u0645';\n t['\\uFD8E'] = '\\u0645\\u062E\\u062C';\n t['\\uFD8F'] = '\\u0645\\u062E\\u0645';\n t['\\uFD92'] = '\\u0645\\u062C\\u062E';\n t['\\uFD93'] = '\\u0647\\u0645\\u062C';\n t['\\uFD94'] = '\\u0647\\u0645\\u0645';\n t['\\uFD95'] = '\\u0646\\u062D\\u0645';\n t['\\uFD96'] = '\\u0646\\u062D\\u0649';\n t['\\uFD97'] = '\\u0646\\u062C\\u0645';\n t['\\uFD98'] = '\\u0646\\u062C\\u0645';\n t['\\uFD99'] = '\\u0646\\u062C\\u0649';\n t['\\uFD9A'] = '\\u0646\\u0645\\u064A';\n t['\\uFD9B'] = '\\u0646\\u0645\\u0649';\n t['\\uFD9C'] = '\\u064A\\u0645\\u0645';\n t['\\uFD9D'] = '\\u064A\\u0645\\u0645';\n t['\\uFD9E'] = '\\u0628\\u062E\\u064A';\n t['\\uFD9F'] = '\\u062A\\u062C\\u064A';\n t['\\uFDA0'] = '\\u062A\\u062C\\u0649';\n t['\\uFDA1'] = '\\u062A\\u062E\\u064A';\n t['\\uFDA2'] = '\\u062A\\u062E\\u0649';\n t['\\uFDA3'] = '\\u062A\\u0645\\u064A';\n t['\\uFDA4'] = '\\u062A\\u0645\\u0649';\n t['\\uFDA5'] = '\\u062C\\u0645\\u064A';\n t['\\uFDA6'] = '\\u062C\\u062D\\u0649';\n t['\\uFDA7'] = '\\u062C\\u0645\\u0649';\n t['\\uFDA8'] = '\\u0633\\u062E\\u0649';\n t['\\uFDA9'] = '\\u0635\\u062D\\u064A';\n t['\\uFDAA'] = '\\u0634\\u062D\\u064A';\n t['\\uFDAB'] = '\\u0636\\u062D\\u064A';\n t['\\uFDAC'] = '\\u0644\\u062C\\u064A';\n t['\\uFDAD'] = '\\u0644\\u0645\\u064A';\n t['\\uFDAE'] = '\\u064A\\u062D\\u064A';\n t['\\uFDAF'] = '\\u064A\\u062C\\u064A';\n t['\\uFDB0'] = '\\u064A\\u0645\\u064A';\n t['\\uFDB1'] = '\\u0645\\u0645\\u064A';\n t['\\uFDB2'] = '\\u0642\\u0645\\u064A';\n t['\\uFDB3'] = '\\u0646\\u062D\\u064A';\n t['\\uFDB4'] = '\\u0642\\u0645\\u062D';\n t['\\uFDB5'] = '\\u0644\\u062D\\u0645';\n t['\\uFDB6'] = '\\u0639\\u0645\\u064A';\n t['\\uFDB7'] = '\\u0643\\u0645\\u064A';\n t['\\uFDB8'] = '\\u0646\\u062C\\u062D';\n t['\\uFDB9'] = '\\u0645\\u062E\\u064A';\n t['\\uFDBA'] = '\\u0644\\u062C\\u0645';\n t['\\uFDBB'] = '\\u0643\\u0645\\u0645';\n t['\\uFDBC'] = '\\u0644\\u062C\\u0645';\n t['\\uFDBD'] = '\\u0646\\u062C\\u062D';\n t['\\uFDBE'] = '\\u062C\\u062D\\u064A';\n t['\\uFDBF'] = '\\u062D\\u062C\\u064A';\n t['\\uFDC0'] = '\\u0645\\u062C\\u064A';\n t['\\uFDC1'] = '\\u0641\\u0645\\u064A';\n t['\\uFDC2'] = '\\u0628\\u062D\\u064A';\n t['\\uFDC3'] = '\\u0643\\u0645\\u0645';\n t['\\uFDC4'] = '\\u0639\\u062C\\u0645';\n t['\\uFDC5'] = '\\u0635\\u0645\\u0645';\n t['\\uFDC6'] = '\\u0633\\u062E\\u064A';\n t['\\uFDC7'] = '\\u0646\\u062C\\u064A';\n t['\\uFE49'] = '\\u203E';\n t['\\uFE4A'] = '\\u203E';\n t['\\uFE4B'] = '\\u203E';\n t['\\uFE4C'] = '\\u203E';\n t['\\uFE4D'] = '\\u005F';\n t['\\uFE4E'] = '\\u005F';\n t['\\uFE4F'] = '\\u005F';\n t['\\uFE80'] = '\\u0621';\n t['\\uFE81'] = '\\u0622';\n t['\\uFE82'] = '\\u0622';\n t['\\uFE83'] = '\\u0623';\n t['\\uFE84'] = '\\u0623';\n t['\\uFE85'] = '\\u0624';\n t['\\uFE86'] = '\\u0624';\n t['\\uFE87'] = '\\u0625';\n t['\\uFE88'] = '\\u0625';\n t['\\uFE89'] = '\\u0626';\n t['\\uFE8A'] = '\\u0626';\n t['\\uFE8B'] = '\\u0626';\n t['\\uFE8C'] = '\\u0626';\n t['\\uFE8D'] = '\\u0627';\n t['\\uFE8E'] = '\\u0627';\n t['\\uFE8F'] = '\\u0628';\n t['\\uFE90'] = '\\u0628';\n t['\\uFE91'] = '\\u0628';\n t['\\uFE92'] = '\\u0628';\n t['\\uFE93'] = '\\u0629';\n t['\\uFE94'] = '\\u0629';\n t['\\uFE95'] = '\\u062A';\n t['\\uFE96'] = '\\u062A';\n t['\\uFE97'] = '\\u062A';\n t['\\uFE98'] = '\\u062A';\n t['\\uFE99'] = '\\u062B';\n t['\\uFE9A'] = '\\u062B';\n t['\\uFE9B'] = '\\u062B';\n t['\\uFE9C'] = '\\u062B';\n t['\\uFE9D'] = '\\u062C';\n t['\\uFE9E'] = '\\u062C';\n t['\\uFE9F'] = '\\u062C';\n t['\\uFEA0'] = '\\u062C';\n t['\\uFEA1'] = '\\u062D';\n t['\\uFEA2'] = '\\u062D';\n t['\\uFEA3'] = '\\u062D';\n t['\\uFEA4'] = '\\u062D';\n t['\\uFEA5'] = '\\u062E';\n t['\\uFEA6'] = '\\u062E';\n t['\\uFEA7'] = '\\u062E';\n t['\\uFEA8'] = '\\u062E';\n t['\\uFEA9'] = '\\u062F';\n t['\\uFEAA'] = '\\u062F';\n t['\\uFEAB'] = '\\u0630';\n t['\\uFEAC'] = '\\u0630';\n t['\\uFEAD'] = '\\u0631';\n t['\\uFEAE'] = '\\u0631';\n t['\\uFEAF'] = '\\u0632';\n t['\\uFEB0'] = '\\u0632';\n t['\\uFEB1'] = '\\u0633';\n t['\\uFEB2'] = '\\u0633';\n t['\\uFEB3'] = '\\u0633';\n t['\\uFEB4'] = '\\u0633';\n t['\\uFEB5'] = '\\u0634';\n t['\\uFEB6'] = '\\u0634';\n t['\\uFEB7'] = '\\u0634';\n t['\\uFEB8'] = '\\u0634';\n t['\\uFEB9'] = '\\u0635';\n t['\\uFEBA'] = '\\u0635';\n t['\\uFEBB'] = '\\u0635';\n t['\\uFEBC'] = '\\u0635';\n t['\\uFEBD'] = '\\u0636';\n t['\\uFEBE'] = '\\u0636';\n t['\\uFEBF'] = '\\u0636';\n t['\\uFEC0'] = '\\u0636';\n t['\\uFEC1'] = '\\u0637';\n t['\\uFEC2'] = '\\u0637';\n t['\\uFEC3'] = '\\u0637';\n t['\\uFEC4'] = '\\u0637';\n t['\\uFEC5'] = '\\u0638';\n t['\\uFEC6'] = '\\u0638';\n t['\\uFEC7'] = '\\u0638';\n t['\\uFEC8'] = '\\u0638';\n t['\\uFEC9'] = '\\u0639';\n t['\\uFECA'] = '\\u0639';\n t['\\uFECB'] = '\\u0639';\n t['\\uFECC'] = '\\u0639';\n t['\\uFECD'] = '\\u063A';\n t['\\uFECE'] = '\\u063A';\n t['\\uFECF'] = '\\u063A';\n t['\\uFED0'] = '\\u063A';\n t['\\uFED1'] = '\\u0641';\n t['\\uFED2'] = '\\u0641';\n t['\\uFED3'] = '\\u0641';\n t['\\uFED4'] = '\\u0641';\n t['\\uFED5'] = '\\u0642';\n t['\\uFED6'] = '\\u0642';\n t['\\uFED7'] = '\\u0642';\n t['\\uFED8'] = '\\u0642';\n t['\\uFED9'] = '\\u0643';\n t['\\uFEDA'] = '\\u0643';\n t['\\uFEDB'] = '\\u0643';\n t['\\uFEDC'] = '\\u0643';\n t['\\uFEDD'] = '\\u0644';\n t['\\uFEDE'] = '\\u0644';\n t['\\uFEDF'] = '\\u0644';\n t['\\uFEE0'] = '\\u0644';\n t['\\uFEE1'] = '\\u0645';\n t['\\uFEE2'] = '\\u0645';\n t['\\uFEE3'] = '\\u0645';\n t['\\uFEE4'] = '\\u0645';\n t['\\uFEE5'] = '\\u0646';\n t['\\uFEE6'] = '\\u0646';\n t['\\uFEE7'] = '\\u0646';\n t['\\uFEE8'] = '\\u0646';\n t['\\uFEE9'] = '\\u0647';\n t['\\uFEEA'] = '\\u0647';\n t['\\uFEEB'] = '\\u0647';\n t['\\uFEEC'] = '\\u0647';\n t['\\uFEED'] = '\\u0648';\n t['\\uFEEE'] = '\\u0648';\n t['\\uFEEF'] = '\\u0649';\n t['\\uFEF0'] = '\\u0649';\n t['\\uFEF1'] = '\\u064A';\n t['\\uFEF2'] = '\\u064A';\n t['\\uFEF3'] = '\\u064A';\n t['\\uFEF4'] = '\\u064A';\n t['\\uFEF5'] = '\\u0644\\u0622';\n t['\\uFEF6'] = '\\u0644\\u0622';\n t['\\uFEF7'] = '\\u0644\\u0623';\n t['\\uFEF8'] = '\\u0644\\u0623';\n t['\\uFEF9'] = '\\u0644\\u0625';\n t['\\uFEFA'] = '\\u0644\\u0625';\n t['\\uFEFB'] = '\\u0644\\u0627';\n t['\\uFEFC'] = '\\u0644\\u0627';\n});\nfunction reverseIfRtl(chars) {\n var charsLength = chars.length;\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n return chars;\n }\n var s = '';\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n s += chars[ii];\n }\n return s;\n}\nexports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\nexports.reverseIfRtl = reverseIfRtl;\nexports.getUnicodeRangeFor = getUnicodeRangeFor;\nexports.getNormalizedUnicodes = getNormalizedUnicodes;\nexports.getUnicodeForGlyph = getUnicodeForGlyph;\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontRendererFactory = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _cff_parser = __w_pdfjs_require__(174);\n\nvar _glyphlist = __w_pdfjs_require__(177);\n\nvar _encodings = __w_pdfjs_require__(176);\n\nvar _stream = __w_pdfjs_require__(157);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar FontRendererFactory = function FontRendererFactoryClosure() {\n function getLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n }\n\n function getUshort(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n\n function parseCmap(data, start, end) {\n var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);\n var format = getUshort(data, start + offset);\n var ranges, p, i;\n\n if (format === 4) {\n getUshort(data, start + offset + 2);\n var segCount = getUshort(data, start + offset + 6) >> 1;\n p = start + offset + 14;\n ranges = [];\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i] = {\n end: getUshort(data, p)\n };\n }\n\n p += 2;\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].start = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n ranges[i].idDelta = getUshort(data, p);\n }\n\n for (i = 0; i < segCount; i++, p += 2) {\n var idOffset = getUshort(data, p);\n\n if (idOffset === 0) {\n continue;\n }\n\n ranges[i].ids = [];\n\n for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n ranges[i].ids[j] = getUshort(data, p + idOffset);\n idOffset += 2;\n }\n }\n\n return ranges;\n } else if (format === 12) {\n getLong(data, start + offset + 4);\n var groups = getLong(data, start + offset + 12);\n p = start + offset + 16;\n ranges = [];\n\n for (i = 0; i < groups; i++) {\n ranges.push({\n start: getLong(data, p),\n end: getLong(data, p + 4),\n idDelta: getLong(data, p + 8) - getLong(data, p)\n });\n p += 12;\n }\n\n return ranges;\n }\n\n throw new _util.FormatError(\"unsupported cmap: \".concat(format));\n }\n\n function parseCff(data, start, end, seacAnalysisEnabled) {\n var properties = {};\n var parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);\n var cff = parser.parse();\n return {\n glyphs: cff.charStrings.objects,\n subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects,\n gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects,\n isCFFCIDFont: cff.isCIDFont,\n fdSelect: cff.fdSelect,\n fdArray: cff.fdArray\n };\n }\n\n function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n var itemSize, itemDecode;\n\n if (isGlyphLocationsLong) {\n itemSize = 4;\n\n itemDecode = function fontItemDecodeLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n };\n } else {\n itemSize = 2;\n\n itemDecode = function fontItemDecode(data, offset) {\n return data[offset] << 9 | data[offset + 1] << 1;\n };\n }\n\n var glyphs = [];\n var startOffset = itemDecode(loca, 0);\n\n for (var j = itemSize; j < loca.length; j += itemSize) {\n var endOffset = itemDecode(loca, j);\n glyphs.push(glyf.subarray(startOffset, endOffset));\n startOffset = endOffset;\n }\n\n return glyphs;\n }\n\n function lookupCmap(ranges, unicode) {\n var code = unicode.codePointAt(0),\n gid = 0;\n var l = 0,\n r = ranges.length - 1;\n\n while (l < r) {\n var c = l + r + 1 >> 1;\n\n if (code < ranges[c].start) {\n r = c - 1;\n } else {\n l = c;\n }\n }\n\n if (ranges[l].start <= code && code <= ranges[l].end) {\n gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xFFFF;\n }\n\n return {\n charCode: code,\n glyphId: gid\n };\n }\n\n function compileGlyf(code, cmds, font) {\n function moveTo(x, y) {\n cmds.push({\n cmd: 'moveTo',\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: 'lineTo',\n args: [x, y]\n });\n }\n\n function quadraticCurveTo(xa, ya, x, y) {\n cmds.push({\n cmd: 'quadraticCurveTo',\n args: [xa, ya, x, y]\n });\n }\n\n var i = 0;\n var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16;\n var flags;\n var x = 0,\n y = 0;\n i += 10;\n\n if (numberOfContours < 0) {\n do {\n flags = code[i] << 8 | code[i + 1];\n var glyphIndex = code[i + 2] << 8 | code[i + 3];\n i += 4;\n var arg1, arg2;\n\n if (flags & 0x01) {\n arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16;\n arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16;\n i += 4;\n } else {\n arg1 = code[i++];\n arg2 = code[i++];\n }\n\n if (flags & 0x02) {\n x = arg1;\n y = arg2;\n } else {\n x = 0;\n y = 0;\n }\n\n var scaleX = 1,\n scaleY = 1,\n scale01 = 0,\n scale10 = 0;\n\n if (flags & 0x08) {\n scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n i += 2;\n } else if (flags & 0x40) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n i += 4;\n } else if (flags & 0x80) {\n scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824;\n scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824;\n i += 8;\n }\n\n var subglyph = font.glyphs[glyphIndex];\n\n if (subglyph) {\n cmds.push({\n cmd: 'save'\n });\n cmds.push({\n cmd: 'transform',\n args: [scaleX, scale01, scale10, scaleY, x, y]\n });\n compileGlyf(subglyph, cmds, font);\n cmds.push({\n cmd: 'restore'\n });\n }\n } while (flags & 0x20);\n } else {\n var endPtsOfContours = [];\n var j, jj;\n\n for (j = 0; j < numberOfContours; j++) {\n endPtsOfContours.push(code[i] << 8 | code[i + 1]);\n i += 2;\n }\n\n var instructionLength = code[i] << 8 | code[i + 1];\n i += 2 + instructionLength;\n var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n var points = [];\n\n while (points.length < numberOfPoints) {\n flags = code[i++];\n var repeat = 1;\n\n if (flags & 0x08) {\n repeat += code[i++];\n }\n\n while (repeat-- > 0) {\n points.push({\n flags: flags\n });\n }\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x12) {\n case 0x00:\n x += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x02:\n x -= code[i++];\n break;\n\n case 0x12:\n x += code[i++];\n break;\n }\n\n points[j].x = x;\n }\n\n for (j = 0; j < numberOfPoints; j++) {\n switch (points[j].flags & 0x24) {\n case 0x00:\n y += (code[i] << 24 | code[i + 1] << 16) >> 16;\n i += 2;\n break;\n\n case 0x04:\n y -= code[i++];\n break;\n\n case 0x24:\n y += code[i++];\n break;\n }\n\n points[j].y = y;\n }\n\n var startPoint = 0;\n\n for (i = 0; i < numberOfContours; i++) {\n var endPoint = endPtsOfContours[i];\n var contour = points.slice(startPoint, endPoint + 1);\n\n if (contour[0].flags & 1) {\n contour.push(contour[0]);\n } else if (contour[contour.length - 1].flags & 1) {\n contour.unshift(contour[contour.length - 1]);\n } else {\n var p = {\n flags: 1,\n x: (contour[0].x + contour[contour.length - 1].x) / 2,\n y: (contour[0].y + contour[contour.length - 1].y) / 2\n };\n contour.unshift(p);\n contour.push(p);\n }\n\n moveTo(contour[0].x, contour[0].y);\n\n for (j = 1, jj = contour.length; j < jj; j++) {\n if (contour[j].flags & 1) {\n lineTo(contour[j].x, contour[j].y);\n } else if (contour[j + 1].flags & 1) {\n quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);\n j++;\n } else {\n quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);\n }\n }\n\n startPoint = endPoint + 1;\n }\n }\n }\n\n function compileCharString(code, cmds, font, glyphId) {\n var stack = [];\n var x = 0,\n y = 0;\n var stems = 0;\n\n function moveTo(x, y) {\n cmds.push({\n cmd: 'moveTo',\n args: [x, y]\n });\n }\n\n function lineTo(x, y) {\n cmds.push({\n cmd: 'lineTo',\n args: [x, y]\n });\n }\n\n function bezierCurveTo(x1, y1, x2, y2, x, y) {\n cmds.push({\n cmd: 'bezierCurveTo',\n args: [x1, y1, x2, y2, x, y]\n });\n }\n\n function parse(code) {\n var i = 0;\n\n while (i < code.length) {\n var stackClean = false;\n var v = code[i++];\n var xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n\n switch (v) {\n case 1:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 3:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 4:\n y += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 5:\n while (stack.length > 0) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 6:\n while (stack.length > 0) {\n x += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n y += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 7:\n while (stack.length > 0) {\n y += stack.shift();\n lineTo(x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n x += stack.shift();\n lineTo(x, y);\n }\n\n break;\n\n case 8:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 10:\n n = stack.pop();\n subrCode = null;\n\n if (font.isCFFCIDFont) {\n var fdIndex = font.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < font.fdArray.length) {\n var fontDict = font.fdArray[fdIndex],\n subrs = void 0;\n\n if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n subrs = fontDict.privateDict.subrsIndex.objects;\n }\n\n if (subrs) {\n var numSubrs = subrs.length;\n n += numSubrs < 1240 ? 107 : numSubrs < 33900 ? 1131 : 32768;\n subrCode = subrs[n];\n }\n } else {\n (0, _util.warn)('Invalid fd index for glyph index.');\n }\n } else {\n subrCode = font.subrs[n + font.subrsBias];\n }\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 11:\n return;\n\n case 12:\n v = code[i++];\n\n switch (v) {\n case 34:\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y1 = y + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y, xb, y1, x, y1);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y, x, y);\n break;\n\n case 35:\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n stack.pop();\n break;\n\n case 36:\n xa = x + stack.shift();\n y1 = y + stack.shift();\n xb = xa + stack.shift();\n y2 = y1 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y1, xb, y2, x, y2);\n xa = x + stack.shift();\n xb = xa + stack.shift();\n y3 = y2 + stack.shift();\n x = xb + stack.shift();\n bezierCurveTo(xa, y2, xb, y3, x, y);\n break;\n\n case 37:\n var x0 = x,\n y0 = y;\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb;\n\n if (Math.abs(x - x0) > Math.abs(y - y0)) {\n x += stack.shift();\n } else {\n y += stack.shift();\n }\n\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n default:\n throw new _util.FormatError(\"unknown operator: 12 \".concat(v));\n }\n\n break;\n\n case 14:\n if (stack.length >= 4) {\n var achar = stack.pop();\n var bchar = stack.pop();\n y = stack.pop();\n x = stack.pop();\n cmds.push({\n cmd: 'save'\n });\n cmds.push({\n cmd: 'translate',\n args: [x, y]\n });\n var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n cmds.push({\n cmd: 'restore'\n });\n cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));\n compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n }\n\n return;\n\n case 18:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 19:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 20:\n stems += stack.length >> 1;\n i += stems + 7 >> 3;\n stackClean = true;\n break;\n\n case 21:\n y += stack.pop();\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 22:\n x += stack.pop();\n moveTo(x, y);\n stackClean = true;\n break;\n\n case 23:\n stems += stack.length >> 1;\n stackClean = true;\n break;\n\n case 24:\n while (stack.length > 2) {\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n break;\n\n case 25:\n while (stack.length > 6) {\n x += stack.shift();\n y += stack.shift();\n lineTo(x, y);\n }\n\n xa = x + stack.shift();\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n break;\n\n case 26:\n if (stack.length % 2) {\n x += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb;\n y = yb + stack.shift();\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 27:\n if (stack.length % 2) {\n y += stack.shift();\n }\n\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb;\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 28:\n stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);\n i += 2;\n break;\n\n case 29:\n n = stack.pop() + font.gsubrsBias;\n subrCode = font.gsubrs[n];\n\n if (subrCode) {\n parse(subrCode);\n }\n\n break;\n\n case 30:\n while (stack.length > 0) {\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n case 31:\n while (stack.length > 0) {\n xa = x + stack.shift();\n ya = y;\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n y = yb + stack.shift();\n x = xb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n\n if (stack.length === 0) {\n break;\n }\n\n xa = x;\n ya = y + stack.shift();\n xb = xa + stack.shift();\n yb = ya + stack.shift();\n x = xb + stack.shift();\n y = yb + (stack.length === 1 ? stack.shift() : 0);\n bezierCurveTo(xa, ya, xb, yb, x, y);\n }\n\n break;\n\n default:\n if (v < 32) {\n throw new _util.FormatError(\"unknown operator: \".concat(v));\n }\n\n if (v < 247) {\n stack.push(v - 139);\n } else if (v < 251) {\n stack.push((v - 247) * 256 + code[i++] + 108);\n } else if (v < 255) {\n stack.push(-(v - 251) * 256 - code[i++] - 108);\n } else {\n stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);\n i += 4;\n }\n\n break;\n }\n\n if (stackClean) {\n stack.length = 0;\n }\n }\n }\n\n parse(code);\n }\n\n var NOOP = [];\n\n var CompiledFont =\n /*#__PURE__*/\n function () {\n function CompiledFont(fontMatrix) {\n _classCallCheck(this, CompiledFont);\n\n if (this.constructor === CompiledFont) {\n (0, _util.unreachable)('Cannot initialize CompiledFont.');\n }\n\n this.fontMatrix = fontMatrix;\n this.compiledGlyphs = Object.create(null);\n this.compiledCharCodeToGlyphId = Object.create(null);\n }\n\n _createClass(CompiledFont, [{\n key: \"getPathJs\",\n value: function getPathJs(unicode) {\n var cmap = lookupCmap(this.cmap, unicode);\n var fn = this.compiledGlyphs[cmap.glyphId];\n\n if (!fn) {\n fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);\n this.compiledGlyphs[cmap.glyphId] = fn;\n }\n\n if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {\n this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;\n }\n\n return fn;\n }\n }, {\n key: \"compileGlyph\",\n value: function compileGlyph(code, glyphId) {\n if (!code || code.length === 0 || code[0] === 14) {\n return NOOP;\n }\n\n var fontMatrix = this.fontMatrix;\n\n if (this.isCFFCIDFont) {\n var fdIndex = this.fdSelect.getFDIndex(glyphId);\n\n if (fdIndex >= 0 && fdIndex < this.fdArray.length) {\n var fontDict = this.fdArray[fdIndex];\n fontMatrix = fontDict.getByName('FontMatrix') || _util.FONT_IDENTITY_MATRIX;\n } else {\n (0, _util.warn)('Invalid fd index for glyph index.');\n }\n }\n\n var cmds = [];\n cmds.push({\n cmd: 'save'\n });\n cmds.push({\n cmd: 'transform',\n args: fontMatrix.slice()\n });\n cmds.push({\n cmd: 'scale',\n args: ['size', '-size']\n });\n this.compileGlyphImpl(code, cmds, glyphId);\n cmds.push({\n cmd: 'restore'\n });\n return cmds;\n }\n }, {\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl() {\n (0, _util.unreachable)('Children classes should implement this.');\n }\n }, {\n key: \"hasBuiltPath\",\n value: function hasBuiltPath(unicode) {\n var cmap = lookupCmap(this.cmap, unicode);\n return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;\n }\n }]);\n\n return CompiledFont;\n }();\n\n var TrueTypeCompiled =\n /*#__PURE__*/\n function (_CompiledFont) {\n _inherits(TrueTypeCompiled, _CompiledFont);\n\n function TrueTypeCompiled(glyphs, cmap, fontMatrix) {\n var _this;\n\n _classCallCheck(this, TrueTypeCompiled);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(TrueTypeCompiled).call(this, fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]));\n _this.glyphs = glyphs;\n _this.cmap = cmap;\n return _this;\n }\n\n _createClass(TrueTypeCompiled, [{\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl(code, cmds) {\n compileGlyf(code, cmds, this);\n }\n }]);\n\n return TrueTypeCompiled;\n }(CompiledFont);\n\n var Type2Compiled =\n /*#__PURE__*/\n function (_CompiledFont2) {\n _inherits(Type2Compiled, _CompiledFont2);\n\n function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {\n var _this2;\n\n _classCallCheck(this, Type2Compiled);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(Type2Compiled).call(this, fontMatrix || [0.001, 0, 0, 0.001, 0, 0]));\n _this2.glyphs = cffInfo.glyphs;\n _this2.gsubrs = cffInfo.gsubrs || [];\n _this2.subrs = cffInfo.subrs || [];\n _this2.cmap = cmap;\n _this2.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();\n _this2.gsubrsBias = _this2.gsubrs.length < 1240 ? 107 : _this2.gsubrs.length < 33900 ? 1131 : 32768;\n _this2.subrsBias = _this2.subrs.length < 1240 ? 107 : _this2.subrs.length < 33900 ? 1131 : 32768;\n _this2.isCFFCIDFont = cffInfo.isCFFCIDFont;\n _this2.fdSelect = cffInfo.fdSelect;\n _this2.fdArray = cffInfo.fdArray;\n return _this2;\n }\n\n _createClass(Type2Compiled, [{\n key: \"compileGlyphImpl\",\n value: function compileGlyphImpl(code, cmds, glyphId) {\n compileCharString(code, cmds, this, glyphId);\n }\n }]);\n\n return Type2Compiled;\n }(CompiledFont);\n\n return {\n create: function FontRendererFactory_create(font, seacAnalysisEnabled) {\n var data = new Uint8Array(font.data);\n var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n var numTables = getUshort(data, 4);\n\n for (var i = 0, p = 12; i < numTables; i++, p += 16) {\n var tag = (0, _util.bytesToString)(data.subarray(p, p + 4));\n var offset = getLong(data, p + 8);\n var length = getLong(data, p + 12);\n\n switch (tag) {\n case 'cmap':\n cmap = parseCmap(data, offset, offset + length);\n break;\n\n case 'glyf':\n glyf = data.subarray(offset, offset + length);\n break;\n\n case 'loca':\n loca = data.subarray(offset, offset + length);\n break;\n\n case 'head':\n unitsPerEm = getUshort(data, offset + 18);\n indexToLocFormat = getUshort(data, offset + 50);\n break;\n\n case 'CFF ':\n cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n break;\n }\n }\n\n if (glyf) {\n var fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);\n }\n\n return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n }\n };\n}();\n\nexports.FontRendererFactory = FontRendererFactory;\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Type1Parser = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _encodings = __w_pdfjs_require__(176);\n\nvar _stream = __w_pdfjs_require__(157);\n\nvar HINTING_ENABLED = false;\n\nvar Type1CharString = function Type1CharStringClosure() {\n var COMMAND_MAP = {\n 'hstem': [1],\n 'vstem': [3],\n 'vmoveto': [4],\n 'rlineto': [5],\n 'hlineto': [6],\n 'vlineto': [7],\n 'rrcurveto': [8],\n 'callsubr': [10],\n 'flex': [12, 35],\n 'drop': [12, 18],\n 'endchar': [14],\n 'rmoveto': [21],\n 'hmoveto': [22],\n 'vhcurveto': [30],\n 'hvcurveto': [31]\n };\n\n function Type1CharString() {\n this.width = 0;\n this.lsb = 0;\n this.flexing = false;\n this.output = [];\n this.stack = [];\n }\n\n Type1CharString.prototype = {\n convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {\n var count = encoded.length;\n var error = false;\n var wx, sbx, subrNumber;\n\n for (var i = 0; i < count; i++) {\n var value = encoded[i];\n\n if (value < 32) {\n if (value === 12) {\n value = (value << 8) + encoded[++i];\n }\n\n switch (value) {\n case 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case 3:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case 4:\n if (this.flexing) {\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n var dy = this.stack.pop();\n this.stack.push(0, dy);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n break;\n\n case 5:\n error = this.executeCommand(2, COMMAND_MAP.rlineto);\n break;\n\n case 6:\n error = this.executeCommand(1, COMMAND_MAP.hlineto);\n break;\n\n case 7:\n error = this.executeCommand(1, COMMAND_MAP.vlineto);\n break;\n\n case 8:\n error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n break;\n\n case 9:\n this.stack = [];\n break;\n\n case 10:\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n\n if (!subrs[subrNumber]) {\n error = true;\n break;\n }\n\n error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n break;\n\n case 11:\n return error;\n\n case 13:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n wx = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx);\n error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n break;\n\n case 14:\n this.output.push(COMMAND_MAP.endchar[0]);\n break;\n\n case 21:\n if (this.flexing) {\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n break;\n\n case 22:\n if (this.flexing) {\n this.stack.push(0);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n break;\n\n case 30:\n error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n break;\n\n case 31:\n error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n break;\n\n case (12 << 8) + 0:\n this.stack = [];\n break;\n\n case (12 << 8) + 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case (12 << 8) + 2:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case (12 << 8) + 6:\n if (seacAnalysisEnabled) {\n this.seac = this.stack.splice(-4, 4);\n error = this.executeCommand(0, COMMAND_MAP.endchar);\n } else {\n error = this.executeCommand(4, COMMAND_MAP.endchar);\n }\n\n break;\n\n case (12 << 8) + 7:\n if (this.stack.length < 4) {\n error = true;\n break;\n }\n\n this.stack.pop();\n wx = this.stack.pop();\n var sby = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx, sby);\n error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n break;\n\n case (12 << 8) + 12:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n var num2 = this.stack.pop();\n var num1 = this.stack.pop();\n this.stack.push(num1 / num2);\n break;\n\n case (12 << 8) + 16:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n var numArgs = this.stack.pop();\n\n if (subrNumber === 0 && numArgs === 3) {\n var flexArgs = this.stack.splice(this.stack.length - 17, 17);\n this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);\n error = this.executeCommand(13, COMMAND_MAP.flex, true);\n this.flexing = false;\n this.stack.push(flexArgs[15], flexArgs[16]);\n } else if (subrNumber === 1 && numArgs === 0) {\n this.flexing = true;\n }\n\n break;\n\n case (12 << 8) + 17:\n break;\n\n case (12 << 8) + 33:\n this.stack = [];\n break;\n\n default:\n (0, _util.warn)('Unknown type 1 charstring command of \"' + value + '\"');\n break;\n }\n\n if (error) {\n break;\n }\n\n continue;\n } else if (value <= 246) {\n value = value - 139;\n } else if (value <= 250) {\n value = (value - 247) * 256 + encoded[++i] + 108;\n } else if (value <= 254) {\n value = -((value - 251) * 256) - encoded[++i] - 108;\n } else {\n value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;\n }\n\n this.stack.push(value);\n }\n\n return error;\n },\n executeCommand: function executeCommand(howManyArgs, command, keepStack) {\n var stackLength = this.stack.length;\n\n if (howManyArgs > stackLength) {\n return true;\n }\n\n var start = stackLength - howManyArgs;\n\n for (var i = start; i < stackLength; i++) {\n var value = this.stack[i];\n\n if (Number.isInteger(value)) {\n this.output.push(28, value >> 8 & 0xff, value & 0xff);\n } else {\n value = 65536 * value | 0;\n this.output.push(255, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF);\n }\n }\n\n this.output.push.apply(this.output, command);\n\n if (keepStack) {\n this.stack.splice(start, howManyArgs);\n } else {\n this.stack.length = 0;\n }\n\n return false;\n }\n };\n return Type1CharString;\n}();\n\nvar Type1Parser = function Type1ParserClosure() {\n var EEXEC_ENCRYPT_KEY = 55665;\n var CHAR_STRS_ENCRYPT_KEY = 4330;\n\n function isHexDigit(code) {\n return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n }\n\n function decrypt(data, key, discardNumber) {\n if (discardNumber >= data.length) {\n return new Uint8Array(0);\n }\n\n var r = key | 0,\n c1 = 52845,\n c2 = 22719,\n i,\n j;\n\n for (i = 0; i < discardNumber; i++) {\n r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n var count = data.length - discardNumber;\n var decrypted = new Uint8Array(count);\n\n for (i = discardNumber, j = 0; j < count; i++, j++) {\n var value = data[i];\n decrypted[j] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n return decrypted;\n }\n\n function decryptAscii(data, key, discardNumber) {\n var r = key | 0,\n c1 = 52845,\n c2 = 22719;\n var count = data.length,\n maybeLength = count >>> 1;\n var decrypted = new Uint8Array(maybeLength);\n var i, j;\n\n for (i = 0, j = 0; i < count; i++) {\n var digit1 = data[i];\n\n if (!isHexDigit(digit1)) {\n continue;\n }\n\n i++;\n var digit2;\n\n while (i < count && !isHexDigit(digit2 = data[i])) {\n i++;\n }\n\n if (i < count) {\n var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n decrypted[j++] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n }\n\n return Array.prototype.slice.call(decrypted, discardNumber, j);\n }\n\n function isSpecial(c) {\n return c === 0x2F || c === 0x5B || c === 0x5D || c === 0x7B || c === 0x7D || c === 0x28 || c === 0x29;\n }\n\n function Type1Parser(stream, encrypted, seacAnalysisEnabled) {\n if (encrypted) {\n var data = stream.getBytes();\n var isBinary = !(isHexDigit(data[0]) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]));\n stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));\n }\n\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n this.stream = stream;\n this.nextChar();\n }\n\n Type1Parser.prototype = {\n readNumberArray: function Type1Parser_readNumberArray() {\n this.getToken();\n var array = [];\n\n while (true) {\n var token = this.getToken();\n\n if (token === null || token === ']' || token === '}') {\n break;\n }\n\n array.push(parseFloat(token || 0));\n }\n\n return array;\n },\n readNumber: function Type1Parser_readNumber() {\n var token = this.getToken();\n return parseFloat(token || 0);\n },\n readInt: function Type1Parser_readInt() {\n var token = this.getToken();\n return parseInt(token || 0, 10) | 0;\n },\n readBoolean: function Type1Parser_readBoolean() {\n var token = this.getToken();\n return token === 'true' ? 1 : 0;\n },\n nextChar: function Type1_nextChar() {\n return this.currentChar = this.stream.getByte();\n },\n getToken: function Type1Parser_getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch === -1) {\n return null;\n }\n\n if (comment) {\n if (ch === 0x0A || ch === 0x0D) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _util.isSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n if (isSpecial(ch)) {\n this.nextChar();\n return String.fromCharCode(ch);\n }\n\n var token = '';\n\n do {\n token += String.fromCharCode(ch);\n ch = this.nextChar();\n } while (ch >= 0 && !(0, _util.isSpace)(ch) && !isSpecial(ch));\n\n return token;\n },\n readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {\n if (lenIV === -1) {\n return bytes;\n }\n\n return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n },\n extractFontProgram: function Type1Parser_extractFontProgram() {\n var stream = this.stream;\n var subrs = [],\n charstrings = [];\n var privateData = Object.create(null);\n privateData['lenIV'] = 4;\n var program = {\n subrs: [],\n charstrings: [],\n properties: {\n 'privateData': privateData\n }\n };\n var token, length, data, lenIV, encoded;\n\n while ((token = this.getToken()) !== null) {\n if (token !== '/') {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case 'CharStrings':\n this.getToken();\n this.getToken();\n this.getToken();\n this.getToken();\n\n while (true) {\n token = this.getToken();\n\n if (token === null || token === 'end') {\n break;\n }\n\n if (token !== '/') {\n continue;\n }\n\n var glyph = this.getToken();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData['lenIV'];\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === 'noaccess') {\n this.getToken();\n }\n\n charstrings.push({\n glyph: glyph,\n encoded: encoded\n });\n }\n\n break;\n\n case 'Subrs':\n this.readInt();\n this.getToken();\n\n while (this.getToken() === 'dup') {\n var index = this.readInt();\n length = this.readInt();\n this.getToken();\n data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n lenIV = program.properties.privateData['lenIV'];\n encoded = this.readCharStrings(data, lenIV);\n this.nextChar();\n token = this.getToken();\n\n if (token === 'noaccess') {\n this.getToken();\n }\n\n subrs[index] = encoded;\n }\n\n break;\n\n case 'BlueValues':\n case 'OtherBlues':\n case 'FamilyBlues':\n case 'FamilyOtherBlues':\n var blueArray = this.readNumberArray();\n\n if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {\n program.properties.privateData[token] = blueArray;\n }\n\n break;\n\n case 'StemSnapH':\n case 'StemSnapV':\n program.properties.privateData[token] = this.readNumberArray();\n break;\n\n case 'StdHW':\n case 'StdVW':\n program.properties.privateData[token] = this.readNumberArray()[0];\n break;\n\n case 'BlueShift':\n case 'lenIV':\n case 'BlueFuzz':\n case 'BlueScale':\n case 'LanguageGroup':\n case 'ExpansionFactor':\n program.properties.privateData[token] = this.readNumber();\n break;\n\n case 'ForceBold':\n program.properties.privateData[token] = this.readBoolean();\n break;\n }\n }\n\n for (var i = 0; i < charstrings.length; i++) {\n glyph = charstrings[i].glyph;\n encoded = charstrings[i].encoded;\n var charString = new Type1CharString();\n var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);\n var output = charString.output;\n\n if (error) {\n output = [14];\n }\n\n program.charstrings.push({\n glyphName: glyph,\n charstring: output,\n width: charString.width,\n lsb: charString.lsb,\n seac: charString.seac\n });\n }\n\n return program;\n },\n extractFontHeader: function Type1Parser_extractFontHeader(properties) {\n var token;\n\n while ((token = this.getToken()) !== null) {\n if (token !== '/') {\n continue;\n }\n\n token = this.getToken();\n\n switch (token) {\n case 'FontMatrix':\n var matrix = this.readNumberArray();\n properties.fontMatrix = matrix;\n break;\n\n case 'Encoding':\n var encodingArg = this.getToken();\n var encoding;\n\n if (!/^\\d+$/.test(encodingArg)) {\n encoding = (0, _encodings.getEncoding)(encodingArg);\n } else {\n encoding = [];\n var size = parseInt(encodingArg, 10) | 0;\n this.getToken();\n\n for (var j = 0; j < size; j++) {\n token = this.getToken();\n\n while (token !== 'dup' && token !== 'def') {\n token = this.getToken();\n\n if (token === null) {\n return;\n }\n }\n\n if (token === 'def') {\n break;\n }\n\n var index = this.readInt();\n this.getToken();\n var glyph = this.getToken();\n encoding[index] = glyph;\n this.getToken();\n }\n }\n\n properties.builtInEncoding = encoding;\n break;\n\n case 'FontBBox':\n var fontBBox = this.readNumberArray();\n properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n properties.ascentScaled = true;\n break;\n }\n }\n }\n };\n return Type1Parser;\n}();\n\nexports.Type1Parser = Type1Parser;\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTilingPatternIR = getTilingPatternIR;\nexports.Pattern = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _colorspace = __w_pdfjs_require__(168);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar ShadingType = {\n FUNCTION_BASED: 1,\n AXIAL: 2,\n RADIAL: 3,\n FREE_FORM_MESH: 4,\n LATTICE_FORM_MESH: 5,\n COONS_PATCH_MESH: 6,\n TENSOR_PATCH_MESH: 7\n};\n\nvar Pattern = function PatternClosure() {\n function Pattern() {\n (0, _util.unreachable)('should not call Pattern constructor');\n }\n\n Pattern.prototype = {\n getPattern: function Pattern_getPattern(ctx) {\n (0, _util.unreachable)(\"Should not call Pattern.getStyle: \".concat(ctx));\n }\n };\n\n Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory) {\n var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;\n var type = dict.get('ShadingType');\n\n try {\n switch (type) {\n case ShadingType.AXIAL:\n case ShadingType.RADIAL:\n return new Shadings.RadialAxial(dict, matrix, xref, res, pdfFunctionFactory);\n\n case ShadingType.FREE_FORM_MESH:\n case ShadingType.LATTICE_FORM_MESH:\n case ShadingType.COONS_PATCH_MESH:\n case ShadingType.TENSOR_PATCH_MESH:\n return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory);\n\n default:\n throw new _util.FormatError('Unsupported ShadingType: ' + type);\n }\n } catch (ex) {\n if (ex instanceof _util.MissingDataException) {\n throw ex;\n }\n\n handler.send('UnsupportedFeature', {\n featureId: _util.UNSUPPORTED_FEATURES.shadingPattern\n });\n (0, _util.warn)(ex);\n return new Shadings.Dummy();\n }\n };\n\n return Pattern;\n}();\n\nexports.Pattern = Pattern;\nvar Shadings = {};\nShadings.SMALL_NUMBER = 1e-6;\n\nShadings.RadialAxial = function RadialAxialClosure() {\n function RadialAxial(dict, matrix, xref, res, pdfFunctionFactory) {\n this.matrix = matrix;\n this.coordsArr = dict.getArray('Coords');\n this.shadingType = dict.get('ShadingType');\n this.type = 'Pattern';\n var cs = dict.get('ColorSpace', 'CS');\n cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n this.cs = cs;\n var t0 = 0.0,\n t1 = 1.0;\n\n if (dict.has('Domain')) {\n var domainArr = dict.getArray('Domain');\n t0 = domainArr[0];\n t1 = domainArr[1];\n }\n\n var extendStart = false,\n extendEnd = false;\n\n if (dict.has('Extend')) {\n var extendArr = dict.getArray('Extend');\n extendStart = extendArr[0];\n extendEnd = extendArr[1];\n }\n\n if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {\n var x1 = this.coordsArr[0];\n var y1 = this.coordsArr[1];\n var r1 = this.coordsArr[2];\n var x2 = this.coordsArr[3];\n var y2 = this.coordsArr[4];\n var r2 = this.coordsArr[5];\n var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));\n\n if (r1 <= r2 + distance && r2 <= r1 + distance) {\n (0, _util.warn)('Unsupported radial gradient.');\n }\n }\n\n this.extendStart = extendStart;\n this.extendEnd = extendEnd;\n var fnObj = dict.get('Function');\n var fn = pdfFunctionFactory.createFromArray(fnObj);\n var diff = t1 - t0;\n var step = diff / 10;\n var colorStops = this.colorStops = [];\n\n if (t0 >= t1 || step <= 0) {\n (0, _util.info)('Bad shading domain.');\n return;\n }\n\n var color = new Float32Array(cs.numComps),\n ratio = new Float32Array(1);\n var rgbColor;\n\n for (var i = t0; i <= t1; i += step) {\n ratio[0] = i;\n fn(ratio, 0, color, 0);\n rgbColor = cs.getRgb(color, 0);\n\n var cssColor = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n\n colorStops.push([(i - t0) / diff, cssColor]);\n }\n\n var background = 'transparent';\n\n if (dict.has('Background')) {\n rgbColor = cs.getRgb(dict.get('Background'), 0);\n background = _util.Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);\n }\n\n if (!extendStart) {\n colorStops.unshift([0, background]);\n colorStops[1][0] += Shadings.SMALL_NUMBER;\n }\n\n if (!extendEnd) {\n colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;\n colorStops.push([1, background]);\n }\n\n this.colorStops = colorStops;\n }\n\n RadialAxial.prototype = {\n getIR: function RadialAxial_getIR() {\n var coordsArr = this.coordsArr;\n var shadingType = this.shadingType;\n var type, p0, p1, r0, r1;\n\n if (shadingType === ShadingType.AXIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[2], coordsArr[3]];\n r0 = null;\n r1 = null;\n type = 'axial';\n } else if (shadingType === ShadingType.RADIAL) {\n p0 = [coordsArr[0], coordsArr[1]];\n p1 = [coordsArr[3], coordsArr[4]];\n r0 = coordsArr[2];\n r1 = coordsArr[5];\n type = 'radial';\n } else {\n (0, _util.unreachable)(\"getPattern type unknown: \".concat(shadingType));\n }\n\n var matrix = this.matrix;\n\n if (matrix) {\n p0 = _util.Util.applyTransform(p0, matrix);\n p1 = _util.Util.applyTransform(p1, matrix);\n\n if (shadingType === ShadingType.RADIAL) {\n var scale = _util.Util.singularValueDecompose2dScale(matrix);\n\n r0 *= scale[0];\n r1 *= scale[1];\n }\n }\n\n return ['RadialAxial', type, this.colorStops, p0, p1, r0, r1];\n }\n };\n return RadialAxial;\n}();\n\nShadings.Mesh = function MeshClosure() {\n function MeshStreamReader(stream, context) {\n this.stream = stream;\n this.context = context;\n this.buffer = 0;\n this.bufferLength = 0;\n var numComps = context.numComps;\n this.tmpCompsBuf = new Float32Array(numComps);\n var csNumComps = context.colorSpace.numComps;\n this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n }\n\n MeshStreamReader.prototype = {\n get hasData() {\n if (this.stream.end) {\n return this.stream.pos < this.stream.end;\n }\n\n if (this.bufferLength > 0) {\n return true;\n }\n\n var nextByte = this.stream.getByte();\n\n if (nextByte < 0) {\n return false;\n }\n\n this.buffer = nextByte;\n this.bufferLength = 8;\n return true;\n },\n\n readBits: function MeshStreamReader_readBits(n) {\n var buffer = this.buffer;\n var bufferLength = this.bufferLength;\n\n if (n === 32) {\n if (bufferLength === 0) {\n return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n }\n\n buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n var nextByte = this.stream.getByte();\n this.buffer = nextByte & (1 << bufferLength) - 1;\n return (buffer << 8 - bufferLength | (nextByte & 0xFF) >> bufferLength) >>> 0;\n }\n\n if (n === 8 && bufferLength === 0) {\n return this.stream.getByte();\n }\n\n while (bufferLength < n) {\n buffer = buffer << 8 | this.stream.getByte();\n bufferLength += 8;\n }\n\n bufferLength -= n;\n this.bufferLength = bufferLength;\n this.buffer = buffer & (1 << bufferLength) - 1;\n return buffer >> bufferLength;\n },\n align: function MeshStreamReader_align() {\n this.buffer = 0;\n this.bufferLength = 0;\n },\n readFlag: function MeshStreamReader_readFlag() {\n return this.readBits(this.context.bitsPerFlag);\n },\n readCoordinate: function MeshStreamReader_readCoordinate() {\n var bitsPerCoordinate = this.context.bitsPerCoordinate;\n var xi = this.readBits(bitsPerCoordinate);\n var yi = this.readBits(bitsPerCoordinate);\n var decode = this.context.decode;\n var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n },\n readComponents: function MeshStreamReader_readComponents() {\n var numComps = this.context.numComps;\n var bitsPerComponent = this.context.bitsPerComponent;\n var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n var decode = this.context.decode;\n var components = this.tmpCompsBuf;\n\n for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n var ci = this.readBits(bitsPerComponent);\n components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n }\n\n var color = this.tmpCsCompsBuf;\n\n if (this.context.colorFn) {\n this.context.colorFn(components, 0, color, 0);\n }\n\n return this.context.colorSpace.getRgb(color, 0);\n }\n };\n\n function decodeType4Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var operators = [];\n var ps = [];\n var verticesLeft = 0;\n\n while (reader.hasData) {\n var f = reader.readFlag();\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n\n if (verticesLeft === 0) {\n if (!(0 <= f && f <= 2)) {\n throw new _util.FormatError('Unknown type4 flag');\n }\n\n switch (f) {\n case 0:\n verticesLeft = 3;\n break;\n\n case 1:\n ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n\n case 2:\n ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n }\n\n operators.push(f);\n }\n\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n verticesLeft--;\n reader.align();\n }\n\n mesh.figures.push({\n type: 'triangles',\n coords: new Int32Array(ps),\n colors: new Int32Array(ps)\n });\n }\n\n function decodeType5Shading(mesh, reader, verticesPerRow) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = [];\n\n while (reader.hasData) {\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n }\n\n mesh.figures.push({\n type: 'lattice',\n coords: new Int32Array(ps),\n colors: new Int32Array(ps),\n verticesPerRow: verticesPerRow\n });\n }\n\n var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n var TRIANGLE_DENSITY = 20;\n\n var getB = function getBClosure() {\n function buildB(count) {\n var lut = [];\n\n for (var i = 0; i <= count; i++) {\n var t = i / count,\n t_ = 1 - t;\n lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));\n }\n\n return lut;\n }\n\n var cache = [];\n return function getB(count) {\n if (!cache[count]) {\n cache[count] = buildB(count);\n }\n\n return cache[count];\n };\n }();\n\n function buildFigureFromPatch(mesh, index) {\n var figure = mesh.figures[index];\n (0, _util.assert)(figure.type === 'patch', 'Unexpected patch mesh figure');\n var coords = mesh.coords,\n colors = mesh.colors;\n var pi = figure.coords;\n var ci = figure.colors;\n var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));\n splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));\n splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n var verticesPerRow = splitXBy + 1;\n var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n var k = 0;\n var cl = new Uint8Array(3),\n cr = new Uint8Array(3);\n var c0 = colors[ci[0]],\n c1 = colors[ci[1]],\n c2 = colors[ci[2]],\n c3 = colors[ci[3]];\n var bRow = getB(splitYBy),\n bCol = getB(splitXBy);\n\n for (var row = 0; row <= splitYBy; row++) {\n cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n\n for (var col = 0; col <= splitXBy; col++, k++) {\n if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n continue;\n }\n\n var x = 0,\n y = 0;\n var q = 0;\n\n for (var i = 0; i <= 3; i++) {\n for (var j = 0; j <= 3; j++, q++) {\n var m = bRow[row][i] * bCol[col][j];\n x += coords[pi[q]][0] * m;\n y += coords[pi[q]][1] * m;\n }\n }\n\n figureCoords[k] = coords.length;\n coords.push([x, y]);\n figureColors[k] = colors.length;\n var newColor = new Uint8Array(3);\n newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n colors.push(newColor);\n }\n }\n\n figureCoords[0] = pi[0];\n figureColors[0] = ci[0];\n figureCoords[splitXBy] = pi[3];\n figureColors[splitXBy] = ci[1];\n figureCoords[verticesPerRow * splitYBy] = pi[12];\n figureColors[verticesPerRow * splitYBy] = ci[2];\n figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n mesh.figures[index] = {\n type: 'lattice',\n coords: figureCoords,\n colors: figureColors,\n verticesPerRow: verticesPerRow\n };\n }\n\n function decodeType6Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError('Unknown type6 flag');\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n ps[5] = coords.length;\n coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n ps[6] = coords.length;\n coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n ps[9] = coords.length;\n coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n ps[10] = coords.length;\n coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n mesh.figures.push({\n type: 'patch',\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function decodeType7Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError('Unknown type7 flag');\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[9] = pi + 13;\n ps[10] = pi + 14;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[5] = pi + 12;\n ps[6] = pi + 15;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n mesh.figures.push({\n type: 'patch',\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function updateBounds(mesh) {\n var minX = mesh.coords[0][0],\n minY = mesh.coords[0][1],\n maxX = minX,\n maxY = minY;\n\n for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n var x = mesh.coords[i][0],\n y = mesh.coords[i][1];\n minX = minX > x ? x : minX;\n minY = minY > y ? y : minY;\n maxX = maxX < x ? x : maxX;\n maxY = maxY < y ? y : maxY;\n }\n\n mesh.bounds = [minX, minY, maxX, maxY];\n }\n\n function packData(mesh) {\n var i, ii, j, jj;\n var coords = mesh.coords;\n var coordsPacked = new Float32Array(coords.length * 2);\n\n for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n var xy = coords[i];\n coordsPacked[j++] = xy[0];\n coordsPacked[j++] = xy[1];\n }\n\n mesh.coords = coordsPacked;\n var colors = mesh.colors;\n var colorsPacked = new Uint8Array(colors.length * 3);\n\n for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n var c = colors[i];\n colorsPacked[j++] = c[0];\n colorsPacked[j++] = c[1];\n colorsPacked[j++] = c[2];\n }\n\n mesh.colors = colorsPacked;\n var figures = mesh.figures;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n for (j = 0, jj = ps.length; j < jj; j++) {\n ps[j] *= 2;\n cs[j] *= 3;\n }\n }\n }\n\n function Mesh(stream, matrix, xref, res, pdfFunctionFactory) {\n if (!(0, _primitives.isStream)(stream)) {\n throw new _util.FormatError('Mesh data is not a stream');\n }\n\n var dict = stream.dict;\n this.matrix = matrix;\n this.shadingType = dict.get('ShadingType');\n this.type = 'Pattern';\n this.bbox = dict.getArray('BBox');\n var cs = dict.get('ColorSpace', 'CS');\n cs = _colorspace.ColorSpace.parse(cs, xref, res, pdfFunctionFactory);\n this.cs = cs;\n this.background = dict.has('Background') ? cs.getRgb(dict.get('Background'), 0) : null;\n var fnObj = dict.get('Function');\n var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n this.coords = [];\n this.colors = [];\n this.figures = [];\n var decodeContext = {\n bitsPerCoordinate: dict.get('BitsPerCoordinate'),\n bitsPerComponent: dict.get('BitsPerComponent'),\n bitsPerFlag: dict.get('BitsPerFlag'),\n decode: dict.getArray('Decode'),\n colorFn: fn,\n colorSpace: cs,\n numComps: fn ? 1 : cs.numComps\n };\n var reader = new MeshStreamReader(stream, decodeContext);\n var patchMesh = false;\n\n switch (this.shadingType) {\n case ShadingType.FREE_FORM_MESH:\n decodeType4Shading(this, reader);\n break;\n\n case ShadingType.LATTICE_FORM_MESH:\n var verticesPerRow = dict.get('VerticesPerRow') | 0;\n\n if (verticesPerRow < 2) {\n throw new _util.FormatError('Invalid VerticesPerRow');\n }\n\n decodeType5Shading(this, reader, verticesPerRow);\n break;\n\n case ShadingType.COONS_PATCH_MESH:\n decodeType6Shading(this, reader);\n patchMesh = true;\n break;\n\n case ShadingType.TENSOR_PATCH_MESH:\n decodeType7Shading(this, reader);\n patchMesh = true;\n break;\n\n default:\n (0, _util.unreachable)('Unsupported mesh type.');\n break;\n }\n\n if (patchMesh) {\n updateBounds(this);\n\n for (var i = 0, ii = this.figures.length; i < ii; i++) {\n buildFigureFromPatch(this, i);\n }\n }\n\n updateBounds(this);\n packData(this);\n }\n\n Mesh.prototype = {\n getIR: function Mesh_getIR() {\n return ['Mesh', this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, this.bbox, this.background];\n }\n };\n return Mesh;\n}();\n\nShadings.Dummy = function DummyClosure() {\n function Dummy() {\n this.type = 'Pattern';\n }\n\n Dummy.prototype = {\n getIR: function Dummy_getIR() {\n return ['Dummy'];\n }\n };\n return Dummy;\n}();\n\nfunction getTilingPatternIR(operatorList, dict, args) {\n var matrix = dict.getArray('Matrix');\n\n var bbox = _util.Util.normalizeRect(dict.getArray('BBox'));\n\n var xstep = dict.get('XStep');\n var ystep = dict.get('YStep');\n var paintType = dict.get('PaintType');\n var tilingType = dict.get('TilingType');\n\n if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n throw new _util.FormatError(\"Invalid getTilingPatternIR /BBox array: [\".concat(bbox, \"].\"));\n }\n\n return ['TilingPattern', args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n}\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bidi = bidi;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar baseTypes = ['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'];\nvar arabicTypes = ['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'];\n\nfunction isOdd(i) {\n return (i & 1) !== 0;\n}\n\nfunction isEven(i) {\n return (i & 1) === 0;\n}\n\nfunction findUnequal(arr, start, value) {\n for (var j = start, jj = arr.length; j < jj; ++j) {\n if (arr[j] !== value) {\n return j;\n }\n }\n\n return j;\n}\n\nfunction setValues(arr, start, end, value) {\n for (var j = start; j < end; ++j) {\n arr[j] = value;\n }\n}\n\nfunction reverseValues(arr, start, end) {\n for (var i = start, j = end - 1; i < j; ++i, --j) {\n var temp = arr[i];\n arr[i] = arr[j];\n arr[j] = temp;\n }\n}\n\nfunction createBidiText(str, isLTR, vertical) {\n return {\n str: str,\n dir: vertical ? 'ttb' : isLTR ? 'ltr' : 'rtl'\n };\n}\n\nvar chars = [];\nvar types = [];\n\nfunction bidi(str, startLevel, vertical) {\n var isLTR = true;\n var strLength = str.length;\n\n if (strLength === 0 || vertical) {\n return createBidiText(str, isLTR, vertical);\n }\n\n chars.length = strLength;\n types.length = strLength;\n var numBidi = 0;\n var i, ii;\n\n for (i = 0; i < strLength; ++i) {\n chars[i] = str.charAt(i);\n var charCode = str.charCodeAt(i);\n var charType = 'L';\n\n if (charCode <= 0x00ff) {\n charType = baseTypes[charCode];\n } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n charType = 'R';\n } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n charType = arabicTypes[charCode & 0xff];\n\n if (!charType) {\n (0, _util.warn)('Bidi: invalid Unicode character ' + charCode.toString(16));\n }\n } else if (0x0700 <= charCode && charCode <= 0x08AC) {\n charType = 'AL';\n }\n\n if (charType === 'R' || charType === 'AL' || charType === 'AN') {\n numBidi++;\n }\n\n types[i] = charType;\n }\n\n if (numBidi === 0) {\n isLTR = true;\n return createBidiText(str, isLTR);\n }\n\n if (startLevel === -1) {\n if (numBidi / strLength < 0.3) {\n isLTR = true;\n startLevel = 0;\n } else {\n isLTR = false;\n startLevel = 1;\n }\n }\n\n var levels = [];\n\n for (i = 0; i < strLength; ++i) {\n levels[i] = startLevel;\n }\n\n var e = isOdd(startLevel) ? 'R' : 'L';\n var sor = e;\n var eor = sor;\n var lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'NSM') {\n types[i] = lastType;\n } else {\n lastType = types[i];\n }\n }\n\n lastType = sor;\n var t;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'EN') {\n types[i] = lastType === 'AL' ? 'AN' : 'EN';\n } else if (t === 'R' || t === 'L' || t === 'AL') {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'AL') {\n types[i] = 'R';\n }\n }\n\n for (i = 1; i < strLength - 1; ++i) {\n if (types[i] === 'ES' && types[i - 1] === 'EN' && types[i + 1] === 'EN') {\n types[i] = 'EN';\n }\n\n if (types[i] === 'CS' && (types[i - 1] === 'EN' || types[i - 1] === 'AN') && types[i + 1] === types[i - 1]) {\n types[i] = types[i - 1];\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'EN') {\n var j;\n\n for (j = i - 1; j >= 0; --j) {\n if (types[j] !== 'ET') {\n break;\n }\n\n types[j] = 'EN';\n }\n\n for (j = i + 1; j < strLength; ++j) {\n if (types[j] !== 'ET') {\n break;\n }\n\n types[j] = 'EN';\n }\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'WS' || t === 'ES' || t === 'ET' || t === 'CS') {\n types[i] = 'ON';\n }\n }\n\n lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === 'EN') {\n types[i] = lastType === 'L' ? 'L' : 'EN';\n } else if (t === 'R' || t === 'L') {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'ON') {\n var end = findUnequal(types, i + 1, 'ON');\n var before = sor;\n\n if (i > 0) {\n before = types[i - 1];\n }\n\n var after = eor;\n\n if (end + 1 < strLength) {\n after = types[end + 1];\n }\n\n if (before !== 'L') {\n before = 'R';\n }\n\n if (after !== 'L') {\n after = 'R';\n }\n\n if (before === after) {\n setValues(types, i, end, before);\n }\n\n i = end - 1;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === 'ON') {\n types[i] = e;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (isEven(levels[i])) {\n if (t === 'R') {\n levels[i] += 1;\n } else if (t === 'AN' || t === 'EN') {\n levels[i] += 2;\n }\n } else {\n if (t === 'L' || t === 'AN' || t === 'EN') {\n levels[i] += 1;\n }\n }\n }\n\n var highestLevel = -1;\n var lowestOddLevel = 99;\n var level;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n level = levels[i];\n\n if (highestLevel < level) {\n highestLevel = level;\n }\n\n if (lowestOddLevel > level && isOdd(level)) {\n lowestOddLevel = level;\n }\n }\n\n for (level = highestLevel; level >= lowestOddLevel; --level) {\n var start = -1;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n if (levels[i] < level) {\n if (start >= 0) {\n reverseValues(chars, start, i);\n start = -1;\n }\n } else if (start < 0) {\n start = i;\n }\n }\n\n if (start >= 0) {\n reverseValues(chars, start, levels.length);\n }\n }\n\n for (i = 0, ii = chars.length; i < ii; ++i) {\n var ch = chars[i];\n\n if (ch === '<' || ch === '>') {\n chars[i] = '';\n }\n }\n\n return createBidiText(chars.join(''), isLTR);\n}\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getMetrics = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar getMetrics = (0, _util.getLookupTableFactory)(function (t) {\n t['Courier'] = 600;\n t['Courier-Bold'] = 600;\n t['Courier-BoldOblique'] = 600;\n t['Courier-Oblique'] = 600;\n t['Helvetica'] = (0, _util.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 278;\n t['quotedbl'] = 355;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 667;\n t['quoteright'] = 222;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 556;\n t['at'] = 1015;\n t['A'] = 667;\n t['B'] = 667;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 500;\n t['K'] = 667;\n t['L'] = 556;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 278;\n t['backslash'] = 278;\n t['bracketright'] = 278;\n t['asciicircum'] = 469;\n t['underscore'] = 556;\n t['quoteleft'] = 222;\n t['a'] = 556;\n t['b'] = 556;\n t['c'] = 500;\n t['d'] = 556;\n t['e'] = 556;\n t['f'] = 278;\n t['g'] = 556;\n t['h'] = 556;\n t['i'] = 222;\n t['j'] = 222;\n t['k'] = 500;\n t['l'] = 222;\n t['m'] = 833;\n t['n'] = 556;\n t['o'] = 556;\n t['p'] = 556;\n t['q'] = 556;\n t['r'] = 333;\n t['s'] = 500;\n t['t'] = 278;\n t['u'] = 556;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 500;\n t['braceleft'] = 334;\n t['bar'] = 260;\n t['braceright'] = 334;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 191;\n t['quotedblleft'] = 333;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 500;\n t['fl'] = 500;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 537;\n t['bullet'] = 350;\n t['quotesinglbase'] = 222;\n t['quotedblbase'] = 333;\n t['quotedblright'] = 333;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 556;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 222;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 667;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 500;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 500;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 222;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 500;\n t['scedilla'] = 500;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 556;\n t['Amacron'] = 667;\n t['rcaron'] = 333;\n t['ccedilla'] = 500;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 643;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 667;\n t['Abreve'] = 667;\n t['multiply'] = 584;\n t['uacute'] = 556;\n t['Tcaron'] = 611;\n t['partialdiff'] = 476;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 500;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 260;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 333;\n t['omacron'] = 556;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 222;\n t['tcaron'] = 317;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 667;\n t['Adieresis'] = 667;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 222;\n t['Oacute'] = 778;\n t['oacute'] = 556;\n t['amacron'] = 556;\n t['sacute'] = 500;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 556;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 556;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 556;\n t['Eogonek'] = 667;\n t['dcroat'] = 556;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 299;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 556;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 556;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 556;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 556;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 556;\n t['Ccaron'] = 722;\n t['ugrave'] = 556;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 333;\n t['Ntilde'] = 722;\n t['otilde'] = 556;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 556;\n t['Atilde'] = 667;\n t['Aogonek'] = 667;\n t['Aring'] = 667;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 500;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 584;\n t['odieresis'] = 556;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 556;\n t['eth'] = 556;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Helvetica-Bold'] = (0, _util.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 333;\n t['quotedbl'] = 474;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 722;\n t['quoteright'] = 278;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 611;\n t['at'] = 975;\n t['A'] = 722;\n t['B'] = 722;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 556;\n t['K'] = 722;\n t['L'] = 611;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 584;\n t['underscore'] = 556;\n t['quoteleft'] = 278;\n t['a'] = 556;\n t['b'] = 611;\n t['c'] = 556;\n t['d'] = 611;\n t['e'] = 556;\n t['f'] = 333;\n t['g'] = 611;\n t['h'] = 611;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 556;\n t['l'] = 278;\n t['m'] = 889;\n t['n'] = 611;\n t['o'] = 611;\n t['p'] = 611;\n t['q'] = 611;\n t['r'] = 389;\n t['s'] = 556;\n t['t'] = 333;\n t['u'] = 611;\n t['v'] = 556;\n t['w'] = 778;\n t['x'] = 556;\n t['y'] = 556;\n t['z'] = 500;\n t['braceleft'] = 389;\n t['bar'] = 280;\n t['braceright'] = 389;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 238;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 611;\n t['fl'] = 611;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 556;\n t['bullet'] = 350;\n t['quotesinglbase'] = 278;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 611;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 611;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 722;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 556;\n t['scommaaccent'] = 556;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 611;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 556;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 556;\n t['scedilla'] = 556;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 611;\n t['acircumflex'] = 556;\n t['Amacron'] = 722;\n t['rcaron'] = 389;\n t['ccedilla'] = 556;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 743;\n t['Umacron'] = 722;\n t['uring'] = 611;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 584;\n t['uacute'] = 611;\n t['Tcaron'] = 611;\n t['partialdiff'] = 494;\n t['ydieresis'] = 556;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 556;\n t['nacute'] = 611;\n t['umacron'] = 611;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 280;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 389;\n t['omacron'] = 611;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 389;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 278;\n t['Oacute'] = 778;\n t['oacute'] = 611;\n t['amacron'] = 556;\n t['sacute'] = 556;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 611;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 611;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 611;\n t['Eogonek'] = 667;\n t['dcroat'] = 611;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 400;\n t['Kcommaaccent'] = 722;\n t['Lacute'] = 611;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 611;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 611;\n t['ntilde'] = 611;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 611;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 611;\n t['Ccaron'] = 722;\n t['ugrave'] = 611;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 722;\n t['otilde'] = 611;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 556;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 611;\n t['tcommaaccent'] = 333;\n t['logicalnot'] = 584;\n t['odieresis'] = 611;\n t['udieresis'] = 611;\n t['notequal'] = 549;\n t['gcommaaccent'] = 611;\n t['eth'] = 611;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 611;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Helvetica-BoldOblique'] = (0, _util.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 333;\n t['quotedbl'] = 474;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 722;\n t['quoteright'] = 278;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 611;\n t['at'] = 975;\n t['A'] = 722;\n t['B'] = 722;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 556;\n t['K'] = 722;\n t['L'] = 611;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 584;\n t['underscore'] = 556;\n t['quoteleft'] = 278;\n t['a'] = 556;\n t['b'] = 611;\n t['c'] = 556;\n t['d'] = 611;\n t['e'] = 556;\n t['f'] = 333;\n t['g'] = 611;\n t['h'] = 611;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 556;\n t['l'] = 278;\n t['m'] = 889;\n t['n'] = 611;\n t['o'] = 611;\n t['p'] = 611;\n t['q'] = 611;\n t['r'] = 389;\n t['s'] = 556;\n t['t'] = 333;\n t['u'] = 611;\n t['v'] = 556;\n t['w'] = 778;\n t['x'] = 556;\n t['y'] = 556;\n t['z'] = 500;\n t['braceleft'] = 389;\n t['bar'] = 280;\n t['braceright'] = 389;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 238;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 611;\n t['fl'] = 611;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 556;\n t['bullet'] = 350;\n t['quotesinglbase'] = 278;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 611;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 611;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 722;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 556;\n t['scommaaccent'] = 556;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 611;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 556;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 556;\n t['scedilla'] = 556;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 611;\n t['acircumflex'] = 556;\n t['Amacron'] = 722;\n t['rcaron'] = 389;\n t['ccedilla'] = 556;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 743;\n t['Umacron'] = 722;\n t['uring'] = 611;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 584;\n t['uacute'] = 611;\n t['Tcaron'] = 611;\n t['partialdiff'] = 494;\n t['ydieresis'] = 556;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 556;\n t['nacute'] = 611;\n t['umacron'] = 611;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 280;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 389;\n t['omacron'] = 611;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 389;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 278;\n t['Oacute'] = 778;\n t['oacute'] = 611;\n t['amacron'] = 556;\n t['sacute'] = 556;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 611;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 611;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 611;\n t['Eogonek'] = 667;\n t['dcroat'] = 611;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 400;\n t['Kcommaaccent'] = 722;\n t['Lacute'] = 611;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 611;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 611;\n t['ntilde'] = 611;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 611;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 611;\n t['Ccaron'] = 722;\n t['ugrave'] = 611;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 722;\n t['otilde'] = 611;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 556;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 611;\n t['tcommaaccent'] = 333;\n t['logicalnot'] = 584;\n t['odieresis'] = 611;\n t['udieresis'] = 611;\n t['notequal'] = 549;\n t['gcommaaccent'] = 611;\n t['eth'] = 611;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 611;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Helvetica-Oblique'] = (0, _util.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['exclam'] = 278;\n t['quotedbl'] = 355;\n t['numbersign'] = 556;\n t['dollar'] = 556;\n t['percent'] = 889;\n t['ampersand'] = 667;\n t['quoteright'] = 222;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 389;\n t['plus'] = 584;\n t['comma'] = 278;\n t['hyphen'] = 333;\n t['period'] = 278;\n t['slash'] = 278;\n t['zero'] = 556;\n t['one'] = 556;\n t['two'] = 556;\n t['three'] = 556;\n t['four'] = 556;\n t['five'] = 556;\n t['six'] = 556;\n t['seven'] = 556;\n t['eight'] = 556;\n t['nine'] = 556;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 584;\n t['equal'] = 584;\n t['greater'] = 584;\n t['question'] = 556;\n t['at'] = 1015;\n t['A'] = 667;\n t['B'] = 667;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 722;\n t['I'] = 278;\n t['J'] = 500;\n t['K'] = 667;\n t['L'] = 556;\n t['M'] = 833;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 667;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 667;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 944;\n t['X'] = 667;\n t['Y'] = 667;\n t['Z'] = 611;\n t['bracketleft'] = 278;\n t['backslash'] = 278;\n t['bracketright'] = 278;\n t['asciicircum'] = 469;\n t['underscore'] = 556;\n t['quoteleft'] = 222;\n t['a'] = 556;\n t['b'] = 556;\n t['c'] = 500;\n t['d'] = 556;\n t['e'] = 556;\n t['f'] = 278;\n t['g'] = 556;\n t['h'] = 556;\n t['i'] = 222;\n t['j'] = 222;\n t['k'] = 500;\n t['l'] = 222;\n t['m'] = 833;\n t['n'] = 556;\n t['o'] = 556;\n t['p'] = 556;\n t['q'] = 556;\n t['r'] = 333;\n t['s'] = 500;\n t['t'] = 278;\n t['u'] = 556;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 500;\n t['braceleft'] = 334;\n t['bar'] = 260;\n t['braceright'] = 334;\n t['asciitilde'] = 584;\n t['exclamdown'] = 333;\n t['cent'] = 556;\n t['sterling'] = 556;\n t['fraction'] = 167;\n t['yen'] = 556;\n t['florin'] = 556;\n t['section'] = 556;\n t['currency'] = 556;\n t['quotesingle'] = 191;\n t['quotedblleft'] = 333;\n t['guillemotleft'] = 556;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 500;\n t['fl'] = 500;\n t['endash'] = 556;\n t['dagger'] = 556;\n t['daggerdbl'] = 556;\n t['periodcentered'] = 278;\n t['paragraph'] = 537;\n t['bullet'] = 350;\n t['quotesinglbase'] = 222;\n t['quotedblbase'] = 333;\n t['quotedblright'] = 333;\n t['guillemotright'] = 556;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 611;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 370;\n t['Lslash'] = 556;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 365;\n t['ae'] = 889;\n t['dotlessi'] = 278;\n t['lslash'] = 222;\n t['oslash'] = 611;\n t['oe'] = 944;\n t['germandbls'] = 611;\n t['Idieresis'] = 278;\n t['eacute'] = 556;\n t['abreve'] = 556;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 556;\n t['Ydieresis'] = 667;\n t['divide'] = 584;\n t['Yacute'] = 667;\n t['Acircumflex'] = 667;\n t['aacute'] = 556;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 500;\n t['ecircumflex'] = 556;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 556;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 737;\n t['Emacron'] = 667;\n t['ccaron'] = 500;\n t['aring'] = 556;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 222;\n t['agrave'] = 556;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 722;\n t['atilde'] = 556;\n t['Edotaccent'] = 667;\n t['scaron'] = 500;\n t['scedilla'] = 500;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 556;\n t['Amacron'] = 667;\n t['rcaron'] = 333;\n t['ccedilla'] = 500;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 667;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 667;\n t['dcaron'] = 643;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 333;\n t['Ograve'] = 778;\n t['Agrave'] = 667;\n t['Abreve'] = 667;\n t['multiply'] = 584;\n t['uacute'] = 556;\n t['Tcaron'] = 611;\n t['partialdiff'] = 476;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 556;\n t['edieresis'] = 556;\n t['cacute'] = 500;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 278;\n t['plusminus'] = 584;\n t['brokenbar'] = 260;\n t['registered'] = 737;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 278;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 333;\n t['omacron'] = 556;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 222;\n t['tcaron'] = 317;\n t['eogonek'] = 556;\n t['Uogonek'] = 722;\n t['Aacute'] = 667;\n t['Adieresis'] = 667;\n t['egrave'] = 556;\n t['zacute'] = 500;\n t['iogonek'] = 222;\n t['Oacute'] = 778;\n t['oacute'] = 556;\n t['amacron'] = 556;\n t['sacute'] = 500;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 556;\n t['twosuperior'] = 333;\n t['Odieresis'] = 778;\n t['mu'] = 556;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 556;\n t['Eogonek'] = 667;\n t['dcroat'] = 556;\n t['threequarters'] = 834;\n t['Scedilla'] = 667;\n t['lcaron'] = 299;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 556;\n t['trademark'] = 1000;\n t['edotaccent'] = 556;\n t['Igrave'] = 278;\n t['Imacron'] = 278;\n t['Lcaron'] = 556;\n t['onehalf'] = 834;\n t['lessequal'] = 549;\n t['ocircumflex'] = 556;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 556;\n t['gbreve'] = 556;\n t['onequarter'] = 834;\n t['Scaron'] = 667;\n t['Scommaaccent'] = 667;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 556;\n t['Ccaron'] = 722;\n t['ugrave'] = 556;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 333;\n t['Ntilde'] = 722;\n t['otilde'] = 556;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 556;\n t['Atilde'] = 667;\n t['Aogonek'] = 667;\n t['Aring'] = 667;\n t['Otilde'] = 778;\n t['zdotaccent'] = 500;\n t['Ecaron'] = 667;\n t['Iogonek'] = 278;\n t['kcommaaccent'] = 500;\n t['minus'] = 584;\n t['Icircumflex'] = 278;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 584;\n t['odieresis'] = 556;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 556;\n t['eth'] = 556;\n t['zcaron'] = 500;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 333;\n t['imacron'] = 278;\n t['Euro'] = 556;\n });\n t['Symbol'] = (0, _util.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['universal'] = 713;\n t['numbersign'] = 500;\n t['existential'] = 549;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['suchthat'] = 439;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asteriskmath'] = 500;\n t['plus'] = 549;\n t['comma'] = 250;\n t['minus'] = 549;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 549;\n t['equal'] = 549;\n t['greater'] = 549;\n t['question'] = 444;\n t['congruent'] = 549;\n t['Alpha'] = 722;\n t['Beta'] = 667;\n t['Chi'] = 722;\n t['Delta'] = 612;\n t['Epsilon'] = 611;\n t['Phi'] = 763;\n t['Gamma'] = 603;\n t['Eta'] = 722;\n t['Iota'] = 333;\n t['theta1'] = 631;\n t['Kappa'] = 722;\n t['Lambda'] = 686;\n t['Mu'] = 889;\n t['Nu'] = 722;\n t['Omicron'] = 722;\n t['Pi'] = 768;\n t['Theta'] = 741;\n t['Rho'] = 556;\n t['Sigma'] = 592;\n t['Tau'] = 611;\n t['Upsilon'] = 690;\n t['sigma1'] = 439;\n t['Omega'] = 768;\n t['Xi'] = 645;\n t['Psi'] = 795;\n t['Zeta'] = 611;\n t['bracketleft'] = 333;\n t['therefore'] = 863;\n t['bracketright'] = 333;\n t['perpendicular'] = 658;\n t['underscore'] = 500;\n t['radicalex'] = 500;\n t['alpha'] = 631;\n t['beta'] = 549;\n t['chi'] = 549;\n t['delta'] = 494;\n t['epsilon'] = 439;\n t['phi'] = 521;\n t['gamma'] = 411;\n t['eta'] = 603;\n t['iota'] = 329;\n t['phi1'] = 603;\n t['kappa'] = 549;\n t['lambda'] = 549;\n t['mu'] = 576;\n t['nu'] = 521;\n t['omicron'] = 549;\n t['pi'] = 549;\n t['theta'] = 521;\n t['rho'] = 549;\n t['sigma'] = 603;\n t['tau'] = 439;\n t['upsilon'] = 576;\n t['omega1'] = 713;\n t['omega'] = 686;\n t['xi'] = 493;\n t['psi'] = 686;\n t['zeta'] = 494;\n t['braceleft'] = 480;\n t['bar'] = 200;\n t['braceright'] = 480;\n t['similar'] = 549;\n t['Euro'] = 750;\n t['Upsilon1'] = 620;\n t['minute'] = 247;\n t['lessequal'] = 549;\n t['fraction'] = 167;\n t['infinity'] = 713;\n t['florin'] = 500;\n t['club'] = 753;\n t['diamond'] = 753;\n t['heart'] = 753;\n t['spade'] = 753;\n t['arrowboth'] = 1042;\n t['arrowleft'] = 987;\n t['arrowup'] = 603;\n t['arrowright'] = 987;\n t['arrowdown'] = 603;\n t['degree'] = 400;\n t['plusminus'] = 549;\n t['second'] = 411;\n t['greaterequal'] = 549;\n t['multiply'] = 549;\n t['proportional'] = 713;\n t['partialdiff'] = 494;\n t['bullet'] = 460;\n t['divide'] = 549;\n t['notequal'] = 549;\n t['equivalence'] = 549;\n t['approxequal'] = 549;\n t['ellipsis'] = 1000;\n t['arrowvertex'] = 603;\n t['arrowhorizex'] = 1000;\n t['carriagereturn'] = 658;\n t['aleph'] = 823;\n t['Ifraktur'] = 686;\n t['Rfraktur'] = 795;\n t['weierstrass'] = 987;\n t['circlemultiply'] = 768;\n t['circleplus'] = 768;\n t['emptyset'] = 823;\n t['intersection'] = 768;\n t['union'] = 768;\n t['propersuperset'] = 713;\n t['reflexsuperset'] = 713;\n t['notsubset'] = 713;\n t['propersubset'] = 713;\n t['reflexsubset'] = 713;\n t['element'] = 713;\n t['notelement'] = 713;\n t['angle'] = 768;\n t['gradient'] = 713;\n t['registerserif'] = 790;\n t['copyrightserif'] = 790;\n t['trademarkserif'] = 890;\n t['product'] = 823;\n t['radical'] = 549;\n t['dotmath'] = 250;\n t['logicalnot'] = 713;\n t['logicaland'] = 603;\n t['logicalor'] = 603;\n t['arrowdblboth'] = 1042;\n t['arrowdblleft'] = 987;\n t['arrowdblup'] = 603;\n t['arrowdblright'] = 987;\n t['arrowdbldown'] = 603;\n t['lozenge'] = 494;\n t['angleleft'] = 329;\n t['registersans'] = 790;\n t['copyrightsans'] = 790;\n t['trademarksans'] = 786;\n t['summation'] = 713;\n t['parenlefttp'] = 384;\n t['parenleftex'] = 384;\n t['parenleftbt'] = 384;\n t['bracketlefttp'] = 384;\n t['bracketleftex'] = 384;\n t['bracketleftbt'] = 384;\n t['bracelefttp'] = 494;\n t['braceleftmid'] = 494;\n t['braceleftbt'] = 494;\n t['braceex'] = 494;\n t['angleright'] = 329;\n t['integral'] = 274;\n t['integraltp'] = 686;\n t['integralex'] = 686;\n t['integralbt'] = 686;\n t['parenrighttp'] = 384;\n t['parenrightex'] = 384;\n t['parenrightbt'] = 384;\n t['bracketrighttp'] = 384;\n t['bracketrightex'] = 384;\n t['bracketrightbt'] = 384;\n t['bracerighttp'] = 494;\n t['bracerightmid'] = 494;\n t['bracerightbt'] = 494;\n t['apple'] = 790;\n });\n t['Times-Roman'] = (0, _util.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['quotedbl'] = 408;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 564;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 278;\n t['semicolon'] = 278;\n t['less'] = 564;\n t['equal'] = 564;\n t['greater'] = 564;\n t['question'] = 444;\n t['at'] = 921;\n t['A'] = 722;\n t['B'] = 667;\n t['C'] = 667;\n t['D'] = 722;\n t['E'] = 611;\n t['F'] = 556;\n t['G'] = 722;\n t['H'] = 722;\n t['I'] = 333;\n t['J'] = 389;\n t['K'] = 722;\n t['L'] = 611;\n t['M'] = 889;\n t['N'] = 722;\n t['O'] = 722;\n t['P'] = 556;\n t['Q'] = 722;\n t['R'] = 667;\n t['S'] = 556;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 722;\n t['W'] = 944;\n t['X'] = 722;\n t['Y'] = 722;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 469;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 444;\n t['b'] = 500;\n t['c'] = 444;\n t['d'] = 500;\n t['e'] = 444;\n t['f'] = 333;\n t['g'] = 500;\n t['h'] = 500;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 500;\n t['l'] = 278;\n t['m'] = 778;\n t['n'] = 500;\n t['o'] = 500;\n t['p'] = 500;\n t['q'] = 500;\n t['r'] = 333;\n t['s'] = 389;\n t['t'] = 278;\n t['u'] = 500;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 444;\n t['braceleft'] = 480;\n t['bar'] = 200;\n t['braceright'] = 480;\n t['asciitilde'] = 541;\n t['exclamdown'] = 333;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 180;\n t['quotedblleft'] = 444;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 556;\n t['fl'] = 556;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 453;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 444;\n t['quotedblright'] = 444;\n t['guillemotright'] = 500;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 444;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 889;\n t['ordfeminine'] = 276;\n t['Lslash'] = 611;\n t['Oslash'] = 722;\n t['OE'] = 889;\n t['ordmasculine'] = 310;\n t['ae'] = 667;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 722;\n t['germandbls'] = 500;\n t['Idieresis'] = 333;\n t['eacute'] = 444;\n t['abreve'] = 444;\n t['uhungarumlaut'] = 500;\n t['ecaron'] = 444;\n t['Ydieresis'] = 722;\n t['divide'] = 564;\n t['Yacute'] = 722;\n t['Acircumflex'] = 722;\n t['aacute'] = 444;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 444;\n t['Uacute'] = 722;\n t['uogonek'] = 500;\n t['Edieresis'] = 611;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 760;\n t['Emacron'] = 611;\n t['ccaron'] = 444;\n t['aring'] = 444;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 444;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 667;\n t['atilde'] = 444;\n t['Edotaccent'] = 611;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 667;\n t['Gcommaaccent'] = 722;\n t['ucircumflex'] = 500;\n t['acircumflex'] = 444;\n t['Amacron'] = 722;\n t['rcaron'] = 333;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 556;\n t['Omacron'] = 722;\n t['Racute'] = 667;\n t['Sacute'] = 556;\n t['dcaron'] = 588;\n t['Umacron'] = 722;\n t['uring'] = 500;\n t['threesuperior'] = 300;\n t['Ograve'] = 722;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 564;\n t['uacute'] = 500;\n t['Tcaron'] = 611;\n t['partialdiff'] = 476;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 611;\n t['adieresis'] = 444;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 500;\n t['umacron'] = 500;\n t['Ncaron'] = 722;\n t['Iacute'] = 333;\n t['plusminus'] = 564;\n t['brokenbar'] = 200;\n t['registered'] = 760;\n t['Gbreve'] = 722;\n t['Idotaccent'] = 333;\n t['summation'] = 600;\n t['Egrave'] = 611;\n t['racute'] = 333;\n t['omacron'] = 500;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 667;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 326;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 444;\n t['zacute'] = 444;\n t['iogonek'] = 278;\n t['Oacute'] = 722;\n t['oacute'] = 500;\n t['amacron'] = 444;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 722;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 500;\n t['twosuperior'] = 300;\n t['Odieresis'] = 722;\n t['mu'] = 500;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 611;\n t['dcroat'] = 500;\n t['threequarters'] = 750;\n t['Scedilla'] = 556;\n t['lcaron'] = 344;\n t['Kcommaaccent'] = 722;\n t['Lacute'] = 611;\n t['trademark'] = 980;\n t['edotaccent'] = 444;\n t['Igrave'] = 333;\n t['Imacron'] = 333;\n t['Lcaron'] = 611;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 500;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 611;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 556;\n t['Scommaaccent'] = 556;\n t['Ohungarumlaut'] = 722;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 667;\n t['ugrave'] = 500;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 333;\n t['Ntilde'] = 722;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 667;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 722;\n t['zdotaccent'] = 444;\n t['Ecaron'] = 611;\n t['Iogonek'] = 333;\n t['kcommaaccent'] = 500;\n t['minus'] = 564;\n t['Icircumflex'] = 333;\n t['ncaron'] = 500;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 564;\n t['odieresis'] = 500;\n t['udieresis'] = 500;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 444;\n t['ncommaaccent'] = 500;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['Times-Bold'] = (0, _util.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['quotedbl'] = 555;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 1000;\n t['ampersand'] = 833;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 570;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 570;\n t['equal'] = 570;\n t['greater'] = 570;\n t['question'] = 500;\n t['at'] = 930;\n t['A'] = 722;\n t['B'] = 667;\n t['C'] = 722;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 611;\n t['G'] = 778;\n t['H'] = 778;\n t['I'] = 389;\n t['J'] = 500;\n t['K'] = 778;\n t['L'] = 667;\n t['M'] = 944;\n t['N'] = 722;\n t['O'] = 778;\n t['P'] = 611;\n t['Q'] = 778;\n t['R'] = 722;\n t['S'] = 556;\n t['T'] = 667;\n t['U'] = 722;\n t['V'] = 722;\n t['W'] = 1000;\n t['X'] = 722;\n t['Y'] = 722;\n t['Z'] = 667;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 581;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 500;\n t['b'] = 556;\n t['c'] = 444;\n t['d'] = 556;\n t['e'] = 444;\n t['f'] = 333;\n t['g'] = 500;\n t['h'] = 556;\n t['i'] = 278;\n t['j'] = 333;\n t['k'] = 556;\n t['l'] = 278;\n t['m'] = 833;\n t['n'] = 556;\n t['o'] = 500;\n t['p'] = 556;\n t['q'] = 556;\n t['r'] = 444;\n t['s'] = 389;\n t['t'] = 333;\n t['u'] = 556;\n t['v'] = 500;\n t['w'] = 722;\n t['x'] = 500;\n t['y'] = 500;\n t['z'] = 444;\n t['braceleft'] = 394;\n t['bar'] = 220;\n t['braceright'] = 394;\n t['asciitilde'] = 520;\n t['exclamdown'] = 333;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 278;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 556;\n t['fl'] = 556;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 540;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 500;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 500;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 1000;\n t['ordfeminine'] = 300;\n t['Lslash'] = 667;\n t['Oslash'] = 778;\n t['OE'] = 1000;\n t['ordmasculine'] = 330;\n t['ae'] = 722;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 722;\n t['germandbls'] = 556;\n t['Idieresis'] = 389;\n t['eacute'] = 444;\n t['abreve'] = 500;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 444;\n t['Ydieresis'] = 722;\n t['divide'] = 570;\n t['Yacute'] = 722;\n t['Acircumflex'] = 722;\n t['aacute'] = 500;\n t['Ucircumflex'] = 722;\n t['yacute'] = 500;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 500;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 747;\n t['Emacron'] = 667;\n t['ccaron'] = 444;\n t['aring'] = 500;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 500;\n t['Tcommaaccent'] = 667;\n t['Cacute'] = 722;\n t['atilde'] = 500;\n t['Edotaccent'] = 667;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 722;\n t['Gcommaaccent'] = 778;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 500;\n t['Amacron'] = 722;\n t['rcaron'] = 444;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 667;\n t['Thorn'] = 611;\n t['Omacron'] = 778;\n t['Racute'] = 722;\n t['Sacute'] = 556;\n t['dcaron'] = 672;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 300;\n t['Ograve'] = 778;\n t['Agrave'] = 722;\n t['Abreve'] = 722;\n t['multiply'] = 570;\n t['uacute'] = 556;\n t['Tcaron'] = 667;\n t['partialdiff'] = 494;\n t['ydieresis'] = 500;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 500;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 389;\n t['plusminus'] = 570;\n t['brokenbar'] = 220;\n t['registered'] = 747;\n t['Gbreve'] = 778;\n t['Idotaccent'] = 389;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 444;\n t['omacron'] = 500;\n t['Zacute'] = 667;\n t['Zcaron'] = 667;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 722;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 416;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 722;\n t['Adieresis'] = 722;\n t['egrave'] = 444;\n t['zacute'] = 444;\n t['iogonek'] = 278;\n t['Oacute'] = 778;\n t['oacute'] = 500;\n t['amacron'] = 500;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 778;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 556;\n t['twosuperior'] = 300;\n t['Odieresis'] = 778;\n t['mu'] = 556;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 667;\n t['dcroat'] = 556;\n t['threequarters'] = 750;\n t['Scedilla'] = 556;\n t['lcaron'] = 394;\n t['Kcommaaccent'] = 778;\n t['Lacute'] = 667;\n t['trademark'] = 1000;\n t['edotaccent'] = 444;\n t['Igrave'] = 389;\n t['Imacron'] = 389;\n t['Lcaron'] = 667;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 556;\n t['Scommaaccent'] = 556;\n t['Ohungarumlaut'] = 778;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 722;\n t['ugrave'] = 556;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 444;\n t['Ntilde'] = 722;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 722;\n t['Lcommaaccent'] = 667;\n t['Atilde'] = 722;\n t['Aogonek'] = 722;\n t['Aring'] = 722;\n t['Otilde'] = 778;\n t['zdotaccent'] = 444;\n t['Ecaron'] = 667;\n t['Iogonek'] = 389;\n t['kcommaaccent'] = 556;\n t['minus'] = 570;\n t['Icircumflex'] = 389;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 333;\n t['logicalnot'] = 570;\n t['odieresis'] = 500;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 444;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['Times-BoldItalic'] = (0, _util.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 389;\n t['quotedbl'] = 555;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 570;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 570;\n t['equal'] = 570;\n t['greater'] = 570;\n t['question'] = 500;\n t['at'] = 832;\n t['A'] = 667;\n t['B'] = 667;\n t['C'] = 667;\n t['D'] = 722;\n t['E'] = 667;\n t['F'] = 667;\n t['G'] = 722;\n t['H'] = 778;\n t['I'] = 389;\n t['J'] = 500;\n t['K'] = 667;\n t['L'] = 611;\n t['M'] = 889;\n t['N'] = 722;\n t['O'] = 722;\n t['P'] = 611;\n t['Q'] = 722;\n t['R'] = 667;\n t['S'] = 556;\n t['T'] = 611;\n t['U'] = 722;\n t['V'] = 667;\n t['W'] = 889;\n t['X'] = 667;\n t['Y'] = 611;\n t['Z'] = 611;\n t['bracketleft'] = 333;\n t['backslash'] = 278;\n t['bracketright'] = 333;\n t['asciicircum'] = 570;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 500;\n t['b'] = 500;\n t['c'] = 444;\n t['d'] = 500;\n t['e'] = 444;\n t['f'] = 333;\n t['g'] = 500;\n t['h'] = 556;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 500;\n t['l'] = 278;\n t['m'] = 778;\n t['n'] = 556;\n t['o'] = 500;\n t['p'] = 500;\n t['q'] = 500;\n t['r'] = 389;\n t['s'] = 389;\n t['t'] = 278;\n t['u'] = 556;\n t['v'] = 444;\n t['w'] = 667;\n t['x'] = 500;\n t['y'] = 444;\n t['z'] = 389;\n t['braceleft'] = 348;\n t['bar'] = 220;\n t['braceright'] = 348;\n t['asciitilde'] = 570;\n t['exclamdown'] = 389;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 278;\n t['quotedblleft'] = 500;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 556;\n t['fl'] = 556;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 500;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 500;\n t['quotedblright'] = 500;\n t['guillemotright'] = 500;\n t['ellipsis'] = 1000;\n t['perthousand'] = 1000;\n t['questiondown'] = 500;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 1000;\n t['AE'] = 944;\n t['ordfeminine'] = 266;\n t['Lslash'] = 611;\n t['Oslash'] = 722;\n t['OE'] = 944;\n t['ordmasculine'] = 300;\n t['ae'] = 722;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 722;\n t['germandbls'] = 500;\n t['Idieresis'] = 389;\n t['eacute'] = 444;\n t['abreve'] = 500;\n t['uhungarumlaut'] = 556;\n t['ecaron'] = 444;\n t['Ydieresis'] = 611;\n t['divide'] = 570;\n t['Yacute'] = 611;\n t['Acircumflex'] = 667;\n t['aacute'] = 500;\n t['Ucircumflex'] = 722;\n t['yacute'] = 444;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 500;\n t['Uacute'] = 722;\n t['uogonek'] = 556;\n t['Edieresis'] = 667;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 747;\n t['Emacron'] = 667;\n t['ccaron'] = 444;\n t['aring'] = 500;\n t['Ncommaaccent'] = 722;\n t['lacute'] = 278;\n t['agrave'] = 500;\n t['Tcommaaccent'] = 611;\n t['Cacute'] = 667;\n t['atilde'] = 500;\n t['Edotaccent'] = 667;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 494;\n t['Rcaron'] = 667;\n t['Gcommaaccent'] = 722;\n t['ucircumflex'] = 556;\n t['acircumflex'] = 500;\n t['Amacron'] = 667;\n t['rcaron'] = 389;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 611;\n t['Thorn'] = 611;\n t['Omacron'] = 722;\n t['Racute'] = 667;\n t['Sacute'] = 556;\n t['dcaron'] = 608;\n t['Umacron'] = 722;\n t['uring'] = 556;\n t['threesuperior'] = 300;\n t['Ograve'] = 722;\n t['Agrave'] = 667;\n t['Abreve'] = 667;\n t['multiply'] = 570;\n t['uacute'] = 556;\n t['Tcaron'] = 611;\n t['partialdiff'] = 494;\n t['ydieresis'] = 444;\n t['Nacute'] = 722;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 667;\n t['adieresis'] = 500;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 556;\n t['umacron'] = 556;\n t['Ncaron'] = 722;\n t['Iacute'] = 389;\n t['plusminus'] = 570;\n t['brokenbar'] = 220;\n t['registered'] = 747;\n t['Gbreve'] = 722;\n t['Idotaccent'] = 389;\n t['summation'] = 600;\n t['Egrave'] = 667;\n t['racute'] = 389;\n t['omacron'] = 500;\n t['Zacute'] = 611;\n t['Zcaron'] = 611;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 667;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 366;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 667;\n t['Adieresis'] = 667;\n t['egrave'] = 444;\n t['zacute'] = 389;\n t['iogonek'] = 278;\n t['Oacute'] = 722;\n t['oacute'] = 500;\n t['amacron'] = 500;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 722;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 500;\n t['twosuperior'] = 300;\n t['Odieresis'] = 722;\n t['mu'] = 576;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 667;\n t['dcroat'] = 500;\n t['threequarters'] = 750;\n t['Scedilla'] = 556;\n t['lcaron'] = 382;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 611;\n t['trademark'] = 1000;\n t['edotaccent'] = 444;\n t['Igrave'] = 389;\n t['Imacron'] = 389;\n t['Lcaron'] = 611;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 556;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 667;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 556;\n t['Scommaaccent'] = 556;\n t['Ohungarumlaut'] = 722;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 667;\n t['ugrave'] = 556;\n t['radical'] = 549;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 722;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 667;\n t['Lcommaaccent'] = 611;\n t['Atilde'] = 667;\n t['Aogonek'] = 667;\n t['Aring'] = 667;\n t['Otilde'] = 722;\n t['zdotaccent'] = 389;\n t['Ecaron'] = 667;\n t['Iogonek'] = 389;\n t['kcommaaccent'] = 500;\n t['minus'] = 606;\n t['Icircumflex'] = 389;\n t['ncaron'] = 556;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 606;\n t['odieresis'] = 500;\n t['udieresis'] = 556;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 389;\n t['ncommaaccent'] = 556;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['Times-Italic'] = (0, _util.getLookupTableFactory)(function (t) {\n t['space'] = 250;\n t['exclam'] = 333;\n t['quotedbl'] = 420;\n t['numbersign'] = 500;\n t['dollar'] = 500;\n t['percent'] = 833;\n t['ampersand'] = 778;\n t['quoteright'] = 333;\n t['parenleft'] = 333;\n t['parenright'] = 333;\n t['asterisk'] = 500;\n t['plus'] = 675;\n t['comma'] = 250;\n t['hyphen'] = 333;\n t['period'] = 250;\n t['slash'] = 278;\n t['zero'] = 500;\n t['one'] = 500;\n t['two'] = 500;\n t['three'] = 500;\n t['four'] = 500;\n t['five'] = 500;\n t['six'] = 500;\n t['seven'] = 500;\n t['eight'] = 500;\n t['nine'] = 500;\n t['colon'] = 333;\n t['semicolon'] = 333;\n t['less'] = 675;\n t['equal'] = 675;\n t['greater'] = 675;\n t['question'] = 500;\n t['at'] = 920;\n t['A'] = 611;\n t['B'] = 611;\n t['C'] = 667;\n t['D'] = 722;\n t['E'] = 611;\n t['F'] = 611;\n t['G'] = 722;\n t['H'] = 722;\n t['I'] = 333;\n t['J'] = 444;\n t['K'] = 667;\n t['L'] = 556;\n t['M'] = 833;\n t['N'] = 667;\n t['O'] = 722;\n t['P'] = 611;\n t['Q'] = 722;\n t['R'] = 611;\n t['S'] = 500;\n t['T'] = 556;\n t['U'] = 722;\n t['V'] = 611;\n t['W'] = 833;\n t['X'] = 611;\n t['Y'] = 556;\n t['Z'] = 556;\n t['bracketleft'] = 389;\n t['backslash'] = 278;\n t['bracketright'] = 389;\n t['asciicircum'] = 422;\n t['underscore'] = 500;\n t['quoteleft'] = 333;\n t['a'] = 500;\n t['b'] = 500;\n t['c'] = 444;\n t['d'] = 500;\n t['e'] = 444;\n t['f'] = 278;\n t['g'] = 500;\n t['h'] = 500;\n t['i'] = 278;\n t['j'] = 278;\n t['k'] = 444;\n t['l'] = 278;\n t['m'] = 722;\n t['n'] = 500;\n t['o'] = 500;\n t['p'] = 500;\n t['q'] = 500;\n t['r'] = 389;\n t['s'] = 389;\n t['t'] = 278;\n t['u'] = 500;\n t['v'] = 444;\n t['w'] = 667;\n t['x'] = 444;\n t['y'] = 444;\n t['z'] = 389;\n t['braceleft'] = 400;\n t['bar'] = 275;\n t['braceright'] = 400;\n t['asciitilde'] = 541;\n t['exclamdown'] = 389;\n t['cent'] = 500;\n t['sterling'] = 500;\n t['fraction'] = 167;\n t['yen'] = 500;\n t['florin'] = 500;\n t['section'] = 500;\n t['currency'] = 500;\n t['quotesingle'] = 214;\n t['quotedblleft'] = 556;\n t['guillemotleft'] = 500;\n t['guilsinglleft'] = 333;\n t['guilsinglright'] = 333;\n t['fi'] = 500;\n t['fl'] = 500;\n t['endash'] = 500;\n t['dagger'] = 500;\n t['daggerdbl'] = 500;\n t['periodcentered'] = 250;\n t['paragraph'] = 523;\n t['bullet'] = 350;\n t['quotesinglbase'] = 333;\n t['quotedblbase'] = 556;\n t['quotedblright'] = 556;\n t['guillemotright'] = 500;\n t['ellipsis'] = 889;\n t['perthousand'] = 1000;\n t['questiondown'] = 500;\n t['grave'] = 333;\n t['acute'] = 333;\n t['circumflex'] = 333;\n t['tilde'] = 333;\n t['macron'] = 333;\n t['breve'] = 333;\n t['dotaccent'] = 333;\n t['dieresis'] = 333;\n t['ring'] = 333;\n t['cedilla'] = 333;\n t['hungarumlaut'] = 333;\n t['ogonek'] = 333;\n t['caron'] = 333;\n t['emdash'] = 889;\n t['AE'] = 889;\n t['ordfeminine'] = 276;\n t['Lslash'] = 556;\n t['Oslash'] = 722;\n t['OE'] = 944;\n t['ordmasculine'] = 310;\n t['ae'] = 667;\n t['dotlessi'] = 278;\n t['lslash'] = 278;\n t['oslash'] = 500;\n t['oe'] = 667;\n t['germandbls'] = 500;\n t['Idieresis'] = 333;\n t['eacute'] = 444;\n t['abreve'] = 500;\n t['uhungarumlaut'] = 500;\n t['ecaron'] = 444;\n t['Ydieresis'] = 556;\n t['divide'] = 675;\n t['Yacute'] = 556;\n t['Acircumflex'] = 611;\n t['aacute'] = 500;\n t['Ucircumflex'] = 722;\n t['yacute'] = 444;\n t['scommaaccent'] = 389;\n t['ecircumflex'] = 444;\n t['Uring'] = 722;\n t['Udieresis'] = 722;\n t['aogonek'] = 500;\n t['Uacute'] = 722;\n t['uogonek'] = 500;\n t['Edieresis'] = 611;\n t['Dcroat'] = 722;\n t['commaaccent'] = 250;\n t['copyright'] = 760;\n t['Emacron'] = 611;\n t['ccaron'] = 444;\n t['aring'] = 500;\n t['Ncommaaccent'] = 667;\n t['lacute'] = 278;\n t['agrave'] = 500;\n t['Tcommaaccent'] = 556;\n t['Cacute'] = 667;\n t['atilde'] = 500;\n t['Edotaccent'] = 611;\n t['scaron'] = 389;\n t['scedilla'] = 389;\n t['iacute'] = 278;\n t['lozenge'] = 471;\n t['Rcaron'] = 611;\n t['Gcommaaccent'] = 722;\n t['ucircumflex'] = 500;\n t['acircumflex'] = 500;\n t['Amacron'] = 611;\n t['rcaron'] = 389;\n t['ccedilla'] = 444;\n t['Zdotaccent'] = 556;\n t['Thorn'] = 611;\n t['Omacron'] = 722;\n t['Racute'] = 611;\n t['Sacute'] = 500;\n t['dcaron'] = 544;\n t['Umacron'] = 722;\n t['uring'] = 500;\n t['threesuperior'] = 300;\n t['Ograve'] = 722;\n t['Agrave'] = 611;\n t['Abreve'] = 611;\n t['multiply'] = 675;\n t['uacute'] = 500;\n t['Tcaron'] = 556;\n t['partialdiff'] = 476;\n t['ydieresis'] = 444;\n t['Nacute'] = 667;\n t['icircumflex'] = 278;\n t['Ecircumflex'] = 611;\n t['adieresis'] = 500;\n t['edieresis'] = 444;\n t['cacute'] = 444;\n t['nacute'] = 500;\n t['umacron'] = 500;\n t['Ncaron'] = 667;\n t['Iacute'] = 333;\n t['plusminus'] = 675;\n t['brokenbar'] = 275;\n t['registered'] = 760;\n t['Gbreve'] = 722;\n t['Idotaccent'] = 333;\n t['summation'] = 600;\n t['Egrave'] = 611;\n t['racute'] = 389;\n t['omacron'] = 500;\n t['Zacute'] = 556;\n t['Zcaron'] = 556;\n t['greaterequal'] = 549;\n t['Eth'] = 722;\n t['Ccedilla'] = 667;\n t['lcommaaccent'] = 278;\n t['tcaron'] = 300;\n t['eogonek'] = 444;\n t['Uogonek'] = 722;\n t['Aacute'] = 611;\n t['Adieresis'] = 611;\n t['egrave'] = 444;\n t['zacute'] = 389;\n t['iogonek'] = 278;\n t['Oacute'] = 722;\n t['oacute'] = 500;\n t['amacron'] = 500;\n t['sacute'] = 389;\n t['idieresis'] = 278;\n t['Ocircumflex'] = 722;\n t['Ugrave'] = 722;\n t['Delta'] = 612;\n t['thorn'] = 500;\n t['twosuperior'] = 300;\n t['Odieresis'] = 722;\n t['mu'] = 500;\n t['igrave'] = 278;\n t['ohungarumlaut'] = 500;\n t['Eogonek'] = 611;\n t['dcroat'] = 500;\n t['threequarters'] = 750;\n t['Scedilla'] = 500;\n t['lcaron'] = 300;\n t['Kcommaaccent'] = 667;\n t['Lacute'] = 556;\n t['trademark'] = 980;\n t['edotaccent'] = 444;\n t['Igrave'] = 333;\n t['Imacron'] = 333;\n t['Lcaron'] = 611;\n t['onehalf'] = 750;\n t['lessequal'] = 549;\n t['ocircumflex'] = 500;\n t['ntilde'] = 500;\n t['Uhungarumlaut'] = 722;\n t['Eacute'] = 611;\n t['emacron'] = 444;\n t['gbreve'] = 500;\n t['onequarter'] = 750;\n t['Scaron'] = 500;\n t['Scommaaccent'] = 500;\n t['Ohungarumlaut'] = 722;\n t['degree'] = 400;\n t['ograve'] = 500;\n t['Ccaron'] = 667;\n t['ugrave'] = 500;\n t['radical'] = 453;\n t['Dcaron'] = 722;\n t['rcommaaccent'] = 389;\n t['Ntilde'] = 667;\n t['otilde'] = 500;\n t['Rcommaaccent'] = 611;\n t['Lcommaaccent'] = 556;\n t['Atilde'] = 611;\n t['Aogonek'] = 611;\n t['Aring'] = 611;\n t['Otilde'] = 722;\n t['zdotaccent'] = 389;\n t['Ecaron'] = 611;\n t['Iogonek'] = 333;\n t['kcommaaccent'] = 444;\n t['minus'] = 675;\n t['Icircumflex'] = 333;\n t['ncaron'] = 500;\n t['tcommaaccent'] = 278;\n t['logicalnot'] = 675;\n t['odieresis'] = 500;\n t['udieresis'] = 500;\n t['notequal'] = 549;\n t['gcommaaccent'] = 500;\n t['eth'] = 500;\n t['zcaron'] = 389;\n t['ncommaaccent'] = 500;\n t['onesuperior'] = 300;\n t['imacron'] = 278;\n t['Euro'] = 500;\n });\n t['ZapfDingbats'] = (0, _util.getLookupTableFactory)(function (t) {\n t['space'] = 278;\n t['a1'] = 974;\n t['a2'] = 961;\n t['a202'] = 974;\n t['a3'] = 980;\n t['a4'] = 719;\n t['a5'] = 789;\n t['a119'] = 790;\n t['a118'] = 791;\n t['a117'] = 690;\n t['a11'] = 960;\n t['a12'] = 939;\n t['a13'] = 549;\n t['a14'] = 855;\n t['a15'] = 911;\n t['a16'] = 933;\n t['a105'] = 911;\n t['a17'] = 945;\n t['a18'] = 974;\n t['a19'] = 755;\n t['a20'] = 846;\n t['a21'] = 762;\n t['a22'] = 761;\n t['a23'] = 571;\n t['a24'] = 677;\n t['a25'] = 763;\n t['a26'] = 760;\n t['a27'] = 759;\n t['a28'] = 754;\n t['a6'] = 494;\n t['a7'] = 552;\n t['a8'] = 537;\n t['a9'] = 577;\n t['a10'] = 692;\n t['a29'] = 786;\n t['a30'] = 788;\n t['a31'] = 788;\n t['a32'] = 790;\n t['a33'] = 793;\n t['a34'] = 794;\n t['a35'] = 816;\n t['a36'] = 823;\n t['a37'] = 789;\n t['a38'] = 841;\n t['a39'] = 823;\n t['a40'] = 833;\n t['a41'] = 816;\n t['a42'] = 831;\n t['a43'] = 923;\n t['a44'] = 744;\n t['a45'] = 723;\n t['a46'] = 749;\n t['a47'] = 790;\n t['a48'] = 792;\n t['a49'] = 695;\n t['a50'] = 776;\n t['a51'] = 768;\n t['a52'] = 792;\n t['a53'] = 759;\n t['a54'] = 707;\n t['a55'] = 708;\n t['a56'] = 682;\n t['a57'] = 701;\n t['a58'] = 826;\n t['a59'] = 815;\n t['a60'] = 789;\n t['a61'] = 789;\n t['a62'] = 707;\n t['a63'] = 687;\n t['a64'] = 696;\n t['a65'] = 689;\n t['a66'] = 786;\n t['a67'] = 787;\n t['a68'] = 713;\n t['a69'] = 791;\n t['a70'] = 785;\n t['a71'] = 791;\n t['a72'] = 873;\n t['a73'] = 761;\n t['a74'] = 762;\n t['a203'] = 762;\n t['a75'] = 759;\n t['a204'] = 759;\n t['a76'] = 892;\n t['a77'] = 892;\n t['a78'] = 788;\n t['a79'] = 784;\n t['a81'] = 438;\n t['a82'] = 138;\n t['a83'] = 277;\n t['a84'] = 415;\n t['a97'] = 392;\n t['a98'] = 392;\n t['a99'] = 668;\n t['a100'] = 668;\n t['a89'] = 390;\n t['a90'] = 390;\n t['a93'] = 317;\n t['a94'] = 317;\n t['a91'] = 276;\n t['a92'] = 276;\n t['a205'] = 509;\n t['a85'] = 509;\n t['a206'] = 410;\n t['a86'] = 410;\n t['a87'] = 234;\n t['a88'] = 234;\n t['a95'] = 334;\n t['a96'] = 334;\n t['a101'] = 732;\n t['a102'] = 544;\n t['a103'] = 544;\n t['a104'] = 910;\n t['a106'] = 667;\n t['a107'] = 760;\n t['a108'] = 760;\n t['a112'] = 776;\n t['a111'] = 595;\n t['a110'] = 694;\n t['a109'] = 626;\n t['a120'] = 788;\n t['a121'] = 788;\n t['a122'] = 788;\n t['a123'] = 788;\n t['a124'] = 788;\n t['a125'] = 788;\n t['a126'] = 788;\n t['a127'] = 788;\n t['a128'] = 788;\n t['a129'] = 788;\n t['a130'] = 788;\n t['a131'] = 788;\n t['a132'] = 788;\n t['a133'] = 788;\n t['a134'] = 788;\n t['a135'] = 788;\n t['a136'] = 788;\n t['a137'] = 788;\n t['a138'] = 788;\n t['a139'] = 788;\n t['a140'] = 788;\n t['a141'] = 788;\n t['a142'] = 788;\n t['a143'] = 788;\n t['a144'] = 788;\n t['a145'] = 788;\n t['a146'] = 788;\n t['a147'] = 788;\n t['a148'] = 788;\n t['a149'] = 788;\n t['a150'] = 788;\n t['a151'] = 788;\n t['a152'] = 788;\n t['a153'] = 788;\n t['a154'] = 788;\n t['a155'] = 788;\n t['a156'] = 788;\n t['a157'] = 788;\n t['a158'] = 788;\n t['a159'] = 788;\n t['a160'] = 894;\n t['a161'] = 838;\n t['a163'] = 1016;\n t['a164'] = 458;\n t['a196'] = 748;\n t['a165'] = 924;\n t['a192'] = 748;\n t['a166'] = 918;\n t['a167'] = 927;\n t['a168'] = 928;\n t['a169'] = 928;\n t['a170'] = 834;\n t['a171'] = 873;\n t['a172'] = 828;\n t['a173'] = 924;\n t['a162'] = 924;\n t['a174'] = 917;\n t['a175'] = 930;\n t['a176'] = 931;\n t['a177'] = 463;\n t['a178'] = 883;\n t['a179'] = 836;\n t['a193'] = 836;\n t['a180'] = 867;\n t['a199'] = 867;\n t['a181'] = 696;\n t['a200'] = 696;\n t['a182'] = 874;\n t['a201'] = 874;\n t['a183'] = 760;\n t['a184'] = 946;\n t['a197'] = 771;\n t['a185'] = 865;\n t['a194'] = 771;\n t['a198'] = 888;\n t['a186'] = 967;\n t['a195'] = 888;\n t['a187'] = 831;\n t['a188'] = 873;\n t['a189'] = 927;\n t['a190'] = 970;\n t['a191'] = 918;\n });\n});\nexports.getMetrics = getMetrics;\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPDFFunction = isPDFFunction;\nexports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _ps_parser = __w_pdfjs_require__(186);\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar IsEvalSupportedCached = {\n get value() {\n return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());\n }\n\n};\n\nvar PDFFunctionFactory =\n/*#__PURE__*/\nfunction () {\n function PDFFunctionFactory(_ref) {\n var xref = _ref.xref,\n _ref$isEvalSupported = _ref.isEvalSupported,\n isEvalSupported = _ref$isEvalSupported === void 0 ? true : _ref$isEvalSupported;\n\n _classCallCheck(this, PDFFunctionFactory);\n\n this.xref = xref;\n this.isEvalSupported = isEvalSupported !== false;\n }\n\n _createClass(PDFFunctionFactory, [{\n key: \"create\",\n value: function create(fn) {\n return PDFFunction.parse({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fn: fn\n });\n }\n }, {\n key: \"createFromArray\",\n value: function createFromArray(fnObj) {\n return PDFFunction.parseArray({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fnObj: fnObj\n });\n }\n }]);\n\n return PDFFunctionFactory;\n}();\n\nexports.PDFFunctionFactory = PDFFunctionFactory;\n\nfunction toNumberArray(arr) {\n if (!Array.isArray(arr)) {\n return null;\n }\n\n var length = arr.length;\n\n for (var i = 0; i < length; i++) {\n if (typeof arr[i] !== 'number') {\n var result = new Array(length);\n\n for (var _i = 0; _i < length; _i++) {\n result[_i] = +arr[_i];\n }\n\n return result;\n }\n }\n\n return arr;\n}\n\nvar PDFFunction = function PDFFunctionClosure() {\n var CONSTRUCT_SAMPLED = 0;\n var CONSTRUCT_INTERPOLATED = 2;\n var CONSTRUCT_STICHED = 3;\n var CONSTRUCT_POSTSCRIPT = 4;\n return {\n getSampleArray: function getSampleArray(size, outputSize, bps, stream) {\n var i, ii;\n var length = 1;\n\n for (i = 0, ii = size.length; i < ii; i++) {\n length *= size[i];\n }\n\n length *= outputSize;\n var array = new Array(length);\n var codeSize = 0;\n var codeBuf = 0;\n var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);\n var strBytes = stream.getBytes((length * bps + 7) / 8);\n var strIdx = 0;\n\n for (i = 0; i < length; i++) {\n while (codeSize < bps) {\n codeBuf <<= 8;\n codeBuf |= strBytes[strIdx++];\n codeSize += 8;\n }\n\n codeSize -= bps;\n array[i] = (codeBuf >> codeSize) * sampleMul;\n codeBuf &= (1 << codeSize) - 1;\n }\n\n return array;\n },\n getIR: function getIR(_ref2) {\n var xref = _ref2.xref,\n isEvalSupported = _ref2.isEvalSupported,\n fn = _ref2.fn;\n var dict = fn.dict;\n\n if (!dict) {\n dict = fn;\n }\n\n var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];\n var typeNum = dict.get('FunctionType');\n var typeFn = types[typeNum];\n\n if (!typeFn) {\n throw new _util.FormatError('Unknown type of function');\n }\n\n return typeFn.call(this, {\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn,\n dict: dict\n });\n },\n fromIR: function fromIR(_ref3) {\n var xref = _ref3.xref,\n isEvalSupported = _ref3.isEvalSupported,\n IR = _ref3.IR;\n var type = IR[0];\n\n switch (type) {\n case CONSTRUCT_SAMPLED:\n return this.constructSampledFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_INTERPOLATED:\n return this.constructInterpolatedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_STICHED:\n return this.constructStichedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n default:\n return this.constructPostScriptFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n }\n },\n parse: function parse(_ref4) {\n var xref = _ref4.xref,\n isEvalSupported = _ref4.isEvalSupported,\n fn = _ref4.fn;\n var IR = this.getIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn\n });\n return this.fromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n },\n parseArray: function parseArray(_ref5) {\n var xref = _ref5.xref,\n isEvalSupported = _ref5.isEvalSupported,\n fnObj = _ref5.fnObj;\n\n if (!Array.isArray(fnObj)) {\n return this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fnObj\n });\n }\n\n var fnArray = [];\n\n for (var j = 0, jj = fnObj.length; j < jj; j++) {\n fnArray.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnObj[j])\n }));\n }\n\n return function (src, srcOffset, dest, destOffset) {\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n fnArray[i](src, srcOffset, dest, destOffset + i);\n }\n };\n },\n constructSampled: function constructSampled(_ref6) {\n var xref = _ref6.xref,\n isEvalSupported = _ref6.isEvalSupported,\n fn = _ref6.fn,\n dict = _ref6.dict;\n\n function toMultiArray(arr) {\n var inputLength = arr.length;\n var out = [];\n var index = 0;\n\n for (var i = 0; i < inputLength; i += 2) {\n out[index] = [arr[i], arr[i + 1]];\n ++index;\n }\n\n return out;\n }\n\n var domain = toNumberArray(dict.getArray('Domain'));\n var range = toNumberArray(dict.getArray('Range'));\n\n if (!domain || !range) {\n throw new _util.FormatError('No domain or range');\n }\n\n var inputSize = domain.length / 2;\n var outputSize = range.length / 2;\n domain = toMultiArray(domain);\n range = toMultiArray(range);\n var size = toNumberArray(dict.getArray('Size'));\n var bps = dict.get('BitsPerSample');\n var order = dict.get('Order') || 1;\n\n if (order !== 1) {\n (0, _util.info)('No support for cubic spline interpolation: ' + order);\n }\n\n var encode = toNumberArray(dict.getArray('Encode'));\n\n if (!encode) {\n encode = [];\n\n for (var i = 0; i < inputSize; ++i) {\n encode.push([0, size[i] - 1]);\n }\n } else {\n encode = toMultiArray(encode);\n }\n\n var decode = toNumberArray(dict.getArray('Decode'));\n\n if (!decode) {\n decode = range;\n } else {\n decode = toMultiArray(decode);\n }\n\n var samples = this.getSampleArray(size, outputSize, bps, fn);\n return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, bps) - 1, range];\n },\n constructSampledFromIR: function constructSampledFromIR(_ref7) {\n var xref = _ref7.xref,\n isEvalSupported = _ref7.isEvalSupported,\n IR = _ref7.IR;\n\n function interpolate(x, xmin, xmax, ymin, ymax) {\n return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n }\n\n return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {\n var m = IR[1];\n var domain = IR[2];\n var encode = IR[3];\n var decode = IR[4];\n var samples = IR[5];\n var size = IR[6];\n var n = IR[7];\n var range = IR[9];\n var cubeVertices = 1 << m;\n var cubeN = new Float64Array(cubeVertices);\n var cubeVertex = new Uint32Array(cubeVertices);\n var i, j;\n\n for (j = 0; j < cubeVertices; j++) {\n cubeN[j] = 1;\n }\n\n var k = n,\n pos = 1;\n\n for (i = 0; i < m; ++i) {\n var domain_2i = domain[i][0];\n var domain_2i_1 = domain[i][1];\n var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n var size_i = size[i];\n e = Math.min(Math.max(e, 0), size_i - 1);\n var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n var n0 = e0 + 1 - e;\n var n1 = e - e0;\n var offset0 = e0 * k;\n var offset1 = offset0 + k;\n\n for (j = 0; j < cubeVertices; j++) {\n if (j & pos) {\n cubeN[j] *= n1;\n cubeVertex[j] += offset1;\n } else {\n cubeN[j] *= n0;\n cubeVertex[j] += offset0;\n }\n }\n\n k *= size_i;\n pos <<= 1;\n }\n\n for (j = 0; j < n; ++j) {\n var rj = 0;\n\n for (i = 0; i < cubeVertices; i++) {\n rj += samples[cubeVertex[i] + j] * cubeN[i];\n }\n\n rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n }\n };\n },\n constructInterpolated: function constructInterpolated(_ref8) {\n var xref = _ref8.xref,\n isEvalSupported = _ref8.isEvalSupported,\n fn = _ref8.fn,\n dict = _ref8.dict;\n var c0 = toNumberArray(dict.getArray('C0')) || [0];\n var c1 = toNumberArray(dict.getArray('C1')) || [1];\n var n = dict.get('N');\n var length = c0.length;\n var diff = [];\n\n for (var i = 0; i < length; ++i) {\n diff.push(c1[i] - c0[i]);\n }\n\n return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n },\n constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref9) {\n var xref = _ref9.xref,\n isEvalSupported = _ref9.isEvalSupported,\n IR = _ref9.IR;\n var c0 = IR[1];\n var diff = IR[2];\n var n = IR[3];\n var length = diff.length;\n return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {\n var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);\n\n for (var j = 0; j < length; ++j) {\n dest[destOffset + j] = c0[j] + x * diff[j];\n }\n };\n },\n constructStiched: function constructStiched(_ref10) {\n var xref = _ref10.xref,\n isEvalSupported = _ref10.isEvalSupported,\n fn = _ref10.fn,\n dict = _ref10.dict;\n var domain = toNumberArray(dict.getArray('Domain'));\n\n if (!domain) {\n throw new _util.FormatError('No domain');\n }\n\n var inputSize = domain.length / 2;\n\n if (inputSize !== 1) {\n throw new _util.FormatError('Bad domain for stiched function');\n }\n\n var fnRefs = dict.get('Functions');\n var fns = [];\n\n for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n fns.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnRefs[i])\n }));\n }\n\n var bounds = toNumberArray(dict.getArray('Bounds'));\n var encode = toNumberArray(dict.getArray('Encode'));\n return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n },\n constructStichedFromIR: function constructStichedFromIR(_ref11) {\n var xref = _ref11.xref,\n isEvalSupported = _ref11.isEvalSupported,\n IR = _ref11.IR;\n var domain = IR[1];\n var bounds = IR[2];\n var encode = IR[3];\n var fns = IR[4];\n var tmpBuf = new Float32Array(1);\n return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {\n var clip = function constructStichedFromIRClip(v, min, max) {\n if (v > max) {\n v = max;\n } else if (v < min) {\n v = min;\n }\n\n return v;\n };\n\n var v = clip(src[srcOffset], domain[0], domain[1]);\n\n for (var i = 0, ii = bounds.length; i < ii; ++i) {\n if (v < bounds[i]) {\n break;\n }\n }\n\n var dmin = domain[0];\n\n if (i > 0) {\n dmin = bounds[i - 1];\n }\n\n var dmax = domain[1];\n\n if (i < bounds.length) {\n dmax = bounds[i];\n }\n\n var rmin = encode[2 * i];\n var rmax = encode[2 * i + 1];\n tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n fns[i](tmpBuf, 0, dest, destOffset);\n };\n },\n constructPostScript: function constructPostScript(_ref12) {\n var xref = _ref12.xref,\n isEvalSupported = _ref12.isEvalSupported,\n fn = _ref12.fn,\n dict = _ref12.dict;\n var domain = toNumberArray(dict.getArray('Domain'));\n var range = toNumberArray(dict.getArray('Range'));\n\n if (!domain) {\n throw new _util.FormatError('No domain.');\n }\n\n if (!range) {\n throw new _util.FormatError('No range.');\n }\n\n var lexer = new _ps_parser.PostScriptLexer(fn);\n var parser = new _ps_parser.PostScriptParser(lexer);\n var code = parser.parse();\n return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n },\n constructPostScriptFromIR: function constructPostScriptFromIR(_ref13) {\n var xref = _ref13.xref,\n isEvalSupported = _ref13.isEvalSupported,\n IR = _ref13.IR;\n var domain = IR[1];\n var range = IR[2];\n var code = IR[3];\n\n if (isEvalSupported && IsEvalSupportedCached.value) {\n var compiled = new PostScriptCompiler().compile(code, domain, range);\n\n if (compiled) {\n return new Function('src', 'srcOffset', 'dest', 'destOffset', compiled);\n }\n }\n\n (0, _util.info)('Unable to compile PS function');\n var numOutputs = range.length >> 1;\n var numInputs = domain.length >> 1;\n var evaluator = new PostScriptEvaluator(code);\n var cache = Object.create(null);\n var MAX_CACHE_SIZE = 2048 * 4;\n var cache_available = MAX_CACHE_SIZE;\n var tmpBuf = new Float32Array(numInputs);\n return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {\n var i, value;\n var key = '';\n var input = tmpBuf;\n\n for (i = 0; i < numInputs; i++) {\n value = src[srcOffset + i];\n input[i] = value;\n key += value + '_';\n }\n\n var cachedValue = cache[key];\n\n if (cachedValue !== undefined) {\n dest.set(cachedValue, destOffset);\n return;\n }\n\n var output = new Float32Array(numOutputs);\n var stack = evaluator.execute(input);\n var stackIndex = stack.length - numOutputs;\n\n for (i = 0; i < numOutputs; i++) {\n value = stack[stackIndex + i];\n var bound = range[i * 2];\n\n if (value < bound) {\n value = bound;\n } else {\n bound = range[i * 2 + 1];\n\n if (value > bound) {\n value = bound;\n }\n }\n\n output[i] = value;\n }\n\n if (cache_available > 0) {\n cache_available--;\n cache[key] = output;\n }\n\n dest.set(output, destOffset);\n };\n }\n };\n}();\n\nfunction isPDFFunction(v) {\n var fnDict;\n\n if (_typeof(v) !== 'object') {\n return false;\n } else if ((0, _primitives.isDict)(v)) {\n fnDict = v;\n } else if ((0, _primitives.isStream)(v)) {\n fnDict = v.dict;\n } else {\n return false;\n }\n\n return fnDict.has('FunctionType');\n}\n\nvar PostScriptStack = function PostScriptStackClosure() {\n var MAX_STACK_SIZE = 100;\n\n function PostScriptStack(initialStack) {\n this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);\n }\n\n PostScriptStack.prototype = {\n push: function PostScriptStack_push(value) {\n if (this.stack.length >= MAX_STACK_SIZE) {\n throw new Error('PostScript function stack overflow.');\n }\n\n this.stack.push(value);\n },\n pop: function PostScriptStack_pop() {\n if (this.stack.length <= 0) {\n throw new Error('PostScript function stack underflow.');\n }\n\n return this.stack.pop();\n },\n copy: function PostScriptStack_copy(n) {\n if (this.stack.length + n >= MAX_STACK_SIZE) {\n throw new Error('PostScript function stack overflow.');\n }\n\n var stack = this.stack;\n\n for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n stack.push(stack[i]);\n }\n },\n index: function PostScriptStack_index(n) {\n this.push(this.stack[this.stack.length - n - 1]);\n },\n roll: function PostScriptStack_roll(n, p) {\n var stack = this.stack;\n var l = stack.length - n;\n var r = stack.length - 1,\n c = l + (p - Math.floor(p / n) * n),\n i,\n j,\n t;\n\n for (i = l, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = l, j = c - 1; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = c, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n }\n };\n return PostScriptStack;\n}();\n\nvar PostScriptEvaluator = function PostScriptEvaluatorClosure() {\n function PostScriptEvaluator(operators) {\n this.operators = operators;\n }\n\n PostScriptEvaluator.prototype = {\n execute: function PostScriptEvaluator_execute(initialStack) {\n var stack = new PostScriptStack(initialStack);\n var counter = 0;\n var operators = this.operators;\n var length = operators.length;\n var operator, a, b;\n\n while (counter < length) {\n operator = operators[counter++];\n\n if (typeof operator === 'number') {\n stack.push(operator);\n continue;\n }\n\n switch (operator) {\n case 'jz':\n b = stack.pop();\n a = stack.pop();\n\n if (!a) {\n counter = b;\n }\n\n break;\n\n case 'j':\n a = stack.pop();\n counter = a;\n break;\n\n case 'abs':\n a = stack.pop();\n stack.push(Math.abs(a));\n break;\n\n case 'add':\n b = stack.pop();\n a = stack.pop();\n stack.push(a + b);\n break;\n\n case 'and':\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a && b);\n } else {\n stack.push(a & b);\n }\n\n break;\n\n case 'atan':\n a = stack.pop();\n stack.push(Math.atan(a));\n break;\n\n case 'bitshift':\n b = stack.pop();\n a = stack.pop();\n\n if (a > 0) {\n stack.push(a << b);\n } else {\n stack.push(a >> b);\n }\n\n break;\n\n case 'ceiling':\n a = stack.pop();\n stack.push(Math.ceil(a));\n break;\n\n case 'copy':\n a = stack.pop();\n stack.copy(a);\n break;\n\n case 'cos':\n a = stack.pop();\n stack.push(Math.cos(a));\n break;\n\n case 'cvi':\n a = stack.pop() | 0;\n stack.push(a);\n break;\n\n case 'cvr':\n break;\n\n case 'div':\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b);\n break;\n\n case 'dup':\n stack.copy(1);\n break;\n\n case 'eq':\n b = stack.pop();\n a = stack.pop();\n stack.push(a === b);\n break;\n\n case 'exch':\n stack.roll(2, 1);\n break;\n\n case 'exp':\n b = stack.pop();\n a = stack.pop();\n stack.push(Math.pow(a, b));\n break;\n\n case 'false':\n stack.push(false);\n break;\n\n case 'floor':\n a = stack.pop();\n stack.push(Math.floor(a));\n break;\n\n case 'ge':\n b = stack.pop();\n a = stack.pop();\n stack.push(a >= b);\n break;\n\n case 'gt':\n b = stack.pop();\n a = stack.pop();\n stack.push(a > b);\n break;\n\n case 'idiv':\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b | 0);\n break;\n\n case 'index':\n a = stack.pop();\n stack.index(a);\n break;\n\n case 'le':\n b = stack.pop();\n a = stack.pop();\n stack.push(a <= b);\n break;\n\n case 'ln':\n a = stack.pop();\n stack.push(Math.log(a));\n break;\n\n case 'log':\n a = stack.pop();\n stack.push(Math.log(a) / Math.LN10);\n break;\n\n case 'lt':\n b = stack.pop();\n a = stack.pop();\n stack.push(a < b);\n break;\n\n case 'mod':\n b = stack.pop();\n a = stack.pop();\n stack.push(a % b);\n break;\n\n case 'mul':\n b = stack.pop();\n a = stack.pop();\n stack.push(a * b);\n break;\n\n case 'ne':\n b = stack.pop();\n a = stack.pop();\n stack.push(a !== b);\n break;\n\n case 'neg':\n a = stack.pop();\n stack.push(-a);\n break;\n\n case 'not':\n a = stack.pop();\n\n if ((0, _util.isBool)(a)) {\n stack.push(!a);\n } else {\n stack.push(~a);\n }\n\n break;\n\n case 'or':\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a || b);\n } else {\n stack.push(a | b);\n }\n\n break;\n\n case 'pop':\n stack.pop();\n break;\n\n case 'roll':\n b = stack.pop();\n a = stack.pop();\n stack.roll(a, b);\n break;\n\n case 'round':\n a = stack.pop();\n stack.push(Math.round(a));\n break;\n\n case 'sin':\n a = stack.pop();\n stack.push(Math.sin(a));\n break;\n\n case 'sqrt':\n a = stack.pop();\n stack.push(Math.sqrt(a));\n break;\n\n case 'sub':\n b = stack.pop();\n a = stack.pop();\n stack.push(a - b);\n break;\n\n case 'true':\n stack.push(true);\n break;\n\n case 'truncate':\n a = stack.pop();\n a = a < 0 ? Math.ceil(a) : Math.floor(a);\n stack.push(a);\n break;\n\n case 'xor':\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a !== b);\n } else {\n stack.push(a ^ b);\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown operator \".concat(operator));\n }\n }\n\n return stack.stack;\n }\n };\n return PostScriptEvaluator;\n}();\n\nexports.PostScriptEvaluator = PostScriptEvaluator;\n\nvar PostScriptCompiler = function PostScriptCompilerClosure() {\n function AstNode(type) {\n this.type = type;\n }\n\n AstNode.prototype.visit = function (visitor) {\n (0, _util.unreachable)('abstract method');\n };\n\n function AstArgument(index, min, max) {\n AstNode.call(this, 'args');\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstArgument.prototype = Object.create(AstNode.prototype);\n\n AstArgument.prototype.visit = function (visitor) {\n visitor.visitArgument(this);\n };\n\n function AstLiteral(number) {\n AstNode.call(this, 'literal');\n this.number = number;\n this.min = number;\n this.max = number;\n }\n\n AstLiteral.prototype = Object.create(AstNode.prototype);\n\n AstLiteral.prototype.visit = function (visitor) {\n visitor.visitLiteral(this);\n };\n\n function AstBinaryOperation(op, arg1, arg2, min, max) {\n AstNode.call(this, 'binary');\n this.op = op;\n this.arg1 = arg1;\n this.arg2 = arg2;\n this.min = min;\n this.max = max;\n }\n\n AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n\n AstBinaryOperation.prototype.visit = function (visitor) {\n visitor.visitBinaryOperation(this);\n };\n\n function AstMin(arg, max) {\n AstNode.call(this, 'max');\n this.arg = arg;\n this.min = arg.min;\n this.max = max;\n }\n\n AstMin.prototype = Object.create(AstNode.prototype);\n\n AstMin.prototype.visit = function (visitor) {\n visitor.visitMin(this);\n };\n\n function AstVariable(index, min, max) {\n AstNode.call(this, 'var');\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstVariable.prototype = Object.create(AstNode.prototype);\n\n AstVariable.prototype.visit = function (visitor) {\n visitor.visitVariable(this);\n };\n\n function AstVariableDefinition(variable, arg) {\n AstNode.call(this, 'definition');\n this.variable = variable;\n this.arg = arg;\n }\n\n AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n\n AstVariableDefinition.prototype.visit = function (visitor) {\n visitor.visitVariableDefinition(this);\n };\n\n function ExpressionBuilderVisitor() {\n this.parts = [];\n }\n\n ExpressionBuilderVisitor.prototype = {\n visitArgument: function visitArgument(arg) {\n this.parts.push('Math.max(', arg.min, ', Math.min(', arg.max, ', src[srcOffset + ', arg.index, ']))');\n },\n visitVariable: function visitVariable(variable) {\n this.parts.push('v', variable.index);\n },\n visitLiteral: function visitLiteral(literal) {\n this.parts.push(literal.number);\n },\n visitBinaryOperation: function visitBinaryOperation(operation) {\n this.parts.push('(');\n operation.arg1.visit(this);\n this.parts.push(' ', operation.op, ' ');\n operation.arg2.visit(this);\n this.parts.push(')');\n },\n visitVariableDefinition: function visitVariableDefinition(definition) {\n this.parts.push('var ');\n definition.variable.visit(this);\n this.parts.push(' = ');\n definition.arg.visit(this);\n this.parts.push(';');\n },\n visitMin: function visitMin(max) {\n this.parts.push('Math.min(');\n max.arg.visit(this);\n this.parts.push(', ', max.max, ')');\n },\n toString: function toString() {\n return this.parts.join('');\n }\n };\n\n function buildAddOperation(num1, num2) {\n if (num2.type === 'literal' && num2.number === 0) {\n return num1;\n }\n\n if (num1.type === 'literal' && num1.number === 0) {\n return num2;\n }\n\n if (num2.type === 'literal' && num1.type === 'literal') {\n return new AstLiteral(num1.number + num2.number);\n }\n\n return new AstBinaryOperation('+', num1, num2, num1.min + num2.min, num1.max + num2.max);\n }\n\n function buildMulOperation(num1, num2) {\n if (num2.type === 'literal') {\n if (num2.number === 0) {\n return new AstLiteral(0);\n } else if (num2.number === 1) {\n return num1;\n } else if (num1.type === 'literal') {\n return new AstLiteral(num1.number * num2.number);\n }\n }\n\n if (num1.type === 'literal') {\n if (num1.number === 0) {\n return new AstLiteral(0);\n } else if (num1.number === 1) {\n return num2;\n }\n }\n\n var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n return new AstBinaryOperation('*', num1, num2, min, max);\n }\n\n function buildSubOperation(num1, num2) {\n if (num2.type === 'literal') {\n if (num2.number === 0) {\n return num1;\n } else if (num1.type === 'literal') {\n return new AstLiteral(num1.number - num2.number);\n }\n }\n\n if (num2.type === 'binary' && num2.op === '-' && num1.type === 'literal' && num1.number === 1 && num2.arg1.type === 'literal' && num2.arg1.number === 1) {\n return num2.arg2;\n }\n\n return new AstBinaryOperation('-', num1, num2, num1.min - num2.max, num1.max - num2.min);\n }\n\n function buildMinOperation(num1, max) {\n if (num1.min >= max) {\n return new AstLiteral(max);\n } else if (num1.max <= max) {\n return num1;\n }\n\n return new AstMin(num1, max);\n }\n\n function PostScriptCompiler() {}\n\n PostScriptCompiler.prototype = {\n compile: function PostScriptCompiler_compile(code, domain, range) {\n var stack = [];\n var i, ii;\n var instructions = [];\n var inputSize = domain.length >> 1,\n outputSize = range.length >> 1;\n var lastRegister = 0;\n var n, j;\n var num1, num2, ast1, ast2, tmpVar, item;\n\n for (i = 0; i < inputSize; i++) {\n stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n }\n\n for (i = 0, ii = code.length; i < ii; i++) {\n item = code[i];\n\n if (typeof item === 'number') {\n stack.push(new AstLiteral(item));\n continue;\n }\n\n switch (item) {\n case 'add':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildAddOperation(num1, num2));\n break;\n\n case 'cvr':\n if (stack.length < 1) {\n return null;\n }\n\n break;\n\n case 'mul':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildMulOperation(num1, num2));\n break;\n\n case 'sub':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n stack.push(buildSubOperation(num1, num2));\n break;\n\n case 'exch':\n if (stack.length < 2) {\n return null;\n }\n\n ast1 = stack.pop();\n ast2 = stack.pop();\n stack.push(ast1, ast2);\n break;\n\n case 'pop':\n if (stack.length < 1) {\n return null;\n }\n\n stack.pop();\n break;\n\n case 'index':\n if (stack.length < 1) {\n return null;\n }\n\n num1 = stack.pop();\n\n if (num1.type !== 'literal') {\n return null;\n }\n\n n = num1.number;\n\n if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n return null;\n }\n\n ast1 = stack[stack.length - n - 1];\n\n if (ast1.type === 'literal' || ast1.type === 'var') {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - n - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case 'dup':\n if (stack.length < 1) {\n return null;\n }\n\n if (typeof code[i + 1] === 'number' && code[i + 2] === 'gt' && code[i + 3] === i + 7 && code[i + 4] === 'jz' && code[i + 5] === 'pop' && code[i + 6] === code[i + 1]) {\n num1 = stack.pop();\n stack.push(buildMinOperation(num1, code[i + 1]));\n i += 6;\n break;\n }\n\n ast1 = stack[stack.length - 1];\n\n if (ast1.type === 'literal' || ast1.type === 'var') {\n stack.push(ast1);\n break;\n }\n\n tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n stack[stack.length - 1] = tmpVar;\n stack.push(tmpVar);\n instructions.push(new AstVariableDefinition(tmpVar, ast1));\n break;\n\n case 'roll':\n if (stack.length < 2) {\n return null;\n }\n\n num2 = stack.pop();\n num1 = stack.pop();\n\n if (num2.type !== 'literal' || num1.type !== 'literal') {\n return null;\n }\n\n j = num2.number;\n n = num1.number;\n\n if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {\n return null;\n }\n\n j = (j % n + n) % n;\n\n if (j === 0) {\n break;\n }\n\n Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j));\n break;\n\n default:\n return null;\n }\n }\n\n if (stack.length !== outputSize) {\n return null;\n }\n\n var result = [];\n instructions.forEach(function (instruction) {\n var statementBuilder = new ExpressionBuilderVisitor();\n instruction.visit(statementBuilder);\n result.push(statementBuilder.toString());\n });\n stack.forEach(function (expr, i) {\n var statementBuilder = new ExpressionBuilderVisitor();\n expr.visit(statementBuilder);\n var min = range[i * 2],\n max = range[i * 2 + 1];\n var out = [statementBuilder.toString()];\n\n if (min > expr.min) {\n out.unshift('Math.max(', min, ', ');\n out.push(')');\n }\n\n if (max < expr.max) {\n out.unshift('Math.min(', max, ', ');\n out.push(')');\n }\n\n out.unshift('dest[destOffset + ', i, '] = ');\n out.push(';');\n result.push(out.join(''));\n });\n return result.join('\\n');\n }\n };\n return PostScriptCompiler;\n}();\n\nexports.PostScriptCompiler = PostScriptCompiler;\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PostScriptParser = exports.PostScriptLexer = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PostScriptParser =\n/*#__PURE__*/\nfunction () {\n function PostScriptParser(lexer) {\n _classCallCheck(this, PostScriptParser);\n\n this.lexer = lexer;\n this.operators = [];\n this.token = null;\n this.prev = null;\n }\n\n _createClass(PostScriptParser, [{\n key: \"nextToken\",\n value: function nextToken() {\n this.prev = this.token;\n this.token = this.lexer.getToken();\n }\n }, {\n key: \"accept\",\n value: function accept(type) {\n if (this.token.type === type) {\n this.nextToken();\n return true;\n }\n\n return false;\n }\n }, {\n key: \"expect\",\n value: function expect(type) {\n if (this.accept(type)) {\n return true;\n }\n\n throw new _util.FormatError(\"Unexpected symbol: found \".concat(this.token.type, \" expected \").concat(type, \".\"));\n }\n }, {\n key: \"parse\",\n value: function parse() {\n this.nextToken();\n this.expect(PostScriptTokenTypes.LBRACE);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n return this.operators;\n }\n }, {\n key: \"parseBlock\",\n value: function parseBlock() {\n while (true) {\n if (this.accept(PostScriptTokenTypes.NUMBER)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n this.operators.push(this.prev.value);\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n this.parseCondition();\n } else {\n return;\n }\n }\n }\n }, {\n key: \"parseCondition\",\n value: function parseCondition() {\n var conditionLocation = this.operators.length;\n this.operators.push(null, null);\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n\n if (this.accept(PostScriptTokenTypes.IF)) {\n this.operators[conditionLocation] = this.operators.length;\n this.operators[conditionLocation + 1] = 'jz';\n } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n var jumpLocation = this.operators.length;\n this.operators.push(null, null);\n var endOfTrue = this.operators.length;\n this.parseBlock();\n this.expect(PostScriptTokenTypes.RBRACE);\n this.expect(PostScriptTokenTypes.IFELSE);\n this.operators[jumpLocation] = this.operators.length;\n this.operators[jumpLocation + 1] = 'j';\n this.operators[conditionLocation] = endOfTrue;\n this.operators[conditionLocation + 1] = 'jz';\n } else {\n throw new _util.FormatError('PS Function: error parsing conditional.');\n }\n }\n }]);\n\n return PostScriptParser;\n}();\n\nexports.PostScriptParser = PostScriptParser;\nvar PostScriptTokenTypes = {\n LBRACE: 0,\n RBRACE: 1,\n NUMBER: 2,\n OPERATOR: 3,\n IF: 4,\n IFELSE: 5\n};\n\nvar PostScriptToken = function PostScriptTokenClosure() {\n var opCache = Object.create(null);\n\n var PostScriptToken =\n /*#__PURE__*/\n function () {\n function PostScriptToken(type, value) {\n _classCallCheck(this, PostScriptToken);\n\n this.type = type;\n this.value = value;\n }\n\n _createClass(PostScriptToken, null, [{\n key: \"getOperator\",\n value: function getOperator(op) {\n var opValue = opCache[op];\n\n if (opValue) {\n return opValue;\n }\n\n return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n }\n }, {\n key: \"LBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, 'LBRACE', new PostScriptToken(PostScriptTokenTypes.LBRACE, '{'));\n }\n }, {\n key: \"RBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, 'RBRACE', new PostScriptToken(PostScriptTokenTypes.RBRACE, '}'));\n }\n }, {\n key: \"IF\",\n get: function get() {\n return (0, _util.shadow)(this, 'IF', new PostScriptToken(PostScriptTokenTypes.IF, 'IF'));\n }\n }, {\n key: \"IFELSE\",\n get: function get() {\n return (0, _util.shadow)(this, 'IFELSE', new PostScriptToken(PostScriptTokenTypes.IFELSE, 'IFELSE'));\n }\n }]);\n\n return PostScriptToken;\n }();\n\n return PostScriptToken;\n}();\n\nvar PostScriptLexer =\n/*#__PURE__*/\nfunction () {\n function PostScriptLexer(stream) {\n _classCallCheck(this, PostScriptLexer);\n\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n }\n\n _createClass(PostScriptLexer, [{\n key: \"nextChar\",\n value: function nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n }, {\n key: \"getToken\",\n value: function getToken() {\n var comment = false;\n var ch = this.currentChar;\n\n while (true) {\n if (ch < 0) {\n return _primitives.EOF;\n }\n\n if (comment) {\n if (ch === 0x0A || ch === 0x0D) {\n comment = false;\n }\n } else if (ch === 0x25) {\n comment = true;\n } else if (!(0, _util.isSpace)(ch)) {\n break;\n }\n\n ch = this.nextChar();\n }\n\n switch (ch | 0) {\n case 0x30:\n case 0x31:\n case 0x32:\n case 0x33:\n case 0x34:\n case 0x35:\n case 0x36:\n case 0x37:\n case 0x38:\n case 0x39:\n case 0x2B:\n case 0x2D:\n case 0x2E:\n return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());\n\n case 0x7B:\n this.nextChar();\n return PostScriptToken.LBRACE;\n\n case 0x7D:\n this.nextChar();\n return PostScriptToken.RBRACE;\n }\n\n var strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5A || ch >= 0x61 && ch <= 0x7A)) {\n strBuf.push(String.fromCharCode(ch));\n }\n\n var str = strBuf.join('');\n\n switch (str.toLowerCase()) {\n case 'if':\n return PostScriptToken.IF;\n\n case 'ifelse':\n return PostScriptToken.IFELSE;\n\n default:\n return PostScriptToken.getOperator(str);\n }\n }\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var ch = this.currentChar;\n var strBuf = this.strBuf;\n strBuf.length = 0;\n strBuf[0] = String.fromCharCode(ch);\n\n while ((ch = this.nextChar()) >= 0) {\n if (ch >= 0x30 && ch <= 0x39 || ch === 0x2D || ch === 0x2E) {\n strBuf.push(String.fromCharCode(ch));\n } else {\n break;\n }\n }\n\n var value = parseFloat(strBuf.join(''));\n\n if (isNaN(value)) {\n throw new _util.FormatError(\"Invalid floating point number: \".concat(value));\n }\n\n return value;\n }\n }]);\n\n return PostScriptLexer;\n}();\n\nexports.PostScriptLexer = PostScriptLexer;\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar MurmurHash3_64 = function MurmurHash3_64Closure(seed) {\n var MASK_HIGH = 0xffff0000;\n var MASK_LOW = 0xffff;\n\n function MurmurHash3_64(seed) {\n var SEED = 0xc3d2e1f0;\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n MurmurHash3_64.prototype = {\n update: function MurmurHash3_64_update(input) {\n var data, length;\n\n if ((0, _util.isString)(input)) {\n data = new Uint8Array(input.length * 2);\n length = 0;\n\n for (var i = 0, ii = input.length; i < ii; i++) {\n var code = input.charCodeAt(i);\n\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input;\n length = data.byteLength;\n } else {\n throw new Error('Wrong data format in MurmurHash3_64_update. ' + 'Input must be a string or array.');\n }\n\n var blockCounts = length >> 2;\n var tailLength = length - blockCounts * 4;\n var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n var k1 = 0;\n var k2 = 0;\n var h1 = this.h1;\n var h2 = this.h2;\n var C1 = 0xcc9e2d51;\n var C2 = 0x1b873593;\n var C1_LOW = C1 & MASK_LOW;\n var C2_LOW = C2 & MASK_LOW;\n\n for (var _i = 0; _i < blockCounts; _i++) {\n if (_i & 1) {\n k1 = dataUint32[_i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[_i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n\n k1 = 0;\n\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n\n }\n\n this.h1 = h1;\n this.h2 = h2;\n return this;\n },\n hexdigest: function MurmurHash3_64_hexdigest() {\n var h1 = this.h1;\n var h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n\n for (var i = 0, arr = [h1, h2], str = ''; i < arr.length; i++) {\n var hex = (arr[i] >>> 0).toString(16);\n\n while (hex.length < 8) {\n hex = '0' + hex;\n }\n\n str += hex;\n }\n\n return str;\n }\n };\n return MurmurHash3_64;\n}();\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFImage = void 0;\n\nvar _util = __w_pdfjs_require__(6);\n\nvar _primitives = __w_pdfjs_require__(155);\n\nvar _colorspace = __w_pdfjs_require__(168);\n\nvar _stream = __w_pdfjs_require__(157);\n\nvar _jpeg_stream = __w_pdfjs_require__(163);\n\nvar _jpx = __w_pdfjs_require__(166);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar PDFImage = function PDFImageClosure() {\n function handleImageData(image, nativeDecoder) {\n if (nativeDecoder && nativeDecoder.canDecode(image)) {\n return nativeDecoder.decode(image).catch(function (reason) {\n (0, _util.warn)('Native image decoding failed -- trying to recover: ' + (reason && reason.message));\n return image;\n });\n }\n\n return Promise.resolve(image);\n }\n\n function decodeAndClamp(value, addend, coefficient, max) {\n value = addend + value * coefficient;\n return value < 0 ? 0 : value > max ? max : value;\n }\n\n function resizeImageMask(src, bpc, w1, h1, w2, h2) {\n var length = w2 * h2;\n var dest = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length);\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var i,\n j,\n py,\n newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1;\n\n for (i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio);\n }\n\n for (i = 0; i < h2; i++) {\n py = Math.floor(i * yRatio) * w1Scanline;\n\n for (j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex];\n }\n }\n\n return dest;\n }\n\n function PDFImage(_ref) {\n var xref = _ref.xref,\n res = _ref.res,\n image = _ref.image,\n _ref$isInline = _ref.isInline,\n isInline = _ref$isInline === void 0 ? false : _ref$isInline,\n _ref$smask = _ref.smask,\n smask = _ref$smask === void 0 ? null : _ref$smask,\n _ref$mask = _ref.mask,\n mask = _ref$mask === void 0 ? null : _ref$mask,\n _ref$isMask = _ref.isMask,\n isMask = _ref$isMask === void 0 ? false : _ref$isMask,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\n this.image = image;\n var dict = image.dict;\n var filter = dict.get('Filter');\n\n if ((0, _primitives.isName)(filter)) {\n switch (filter.name) {\n case 'JPXDecode':\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parseImageProperties(image.stream);\n image.stream.reset();\n image.width = jpxImage.width;\n image.height = jpxImage.height;\n image.bitsPerComponent = jpxImage.bitsPerComponent;\n image.numComps = jpxImage.componentsCount;\n break;\n\n case 'JBIG2Decode':\n image.bitsPerComponent = 1;\n image.numComps = 1;\n break;\n }\n }\n\n var width = dict.get('Width', 'W');\n var height = dict.get('Height', 'H');\n\n if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 0 && (image.width !== width || image.height !== height)) {\n (0, _util.warn)('PDFImage - using the Width/Height of the image data, ' + 'rather than the image dictionary.');\n width = image.width;\n height = image.height;\n }\n\n if (width < 1 || height < 1) {\n throw new _util.FormatError(\"Invalid image width: \".concat(width, \" or \") + \"height: \".concat(height));\n }\n\n this.width = width;\n this.height = height;\n this.interpolate = dict.get('Interpolate', 'I') || false;\n this.imageMask = dict.get('ImageMask', 'IM') || false;\n this.matte = dict.get('Matte') || false;\n var bitsPerComponent = image.bitsPerComponent;\n\n if (!bitsPerComponent) {\n bitsPerComponent = dict.get('BitsPerComponent', 'BPC');\n\n if (!bitsPerComponent) {\n if (this.imageMask) {\n bitsPerComponent = 1;\n } else {\n throw new _util.FormatError(\"Bits per component missing in image: \".concat(this.imageMask));\n }\n }\n }\n\n this.bpc = bitsPerComponent;\n\n if (!this.imageMask) {\n var colorSpace = dict.get('ColorSpace', 'CS');\n\n if (!colorSpace) {\n (0, _util.info)('JPX images (which do not require color spaces)');\n\n switch (image.numComps) {\n case 1:\n colorSpace = _primitives.Name.get('DeviceGray');\n break;\n\n case 3:\n colorSpace = _primitives.Name.get('DeviceRGB');\n break;\n\n case 4:\n colorSpace = _primitives.Name.get('DeviceCMYK');\n break;\n\n default:\n throw new Error(\"JPX images with \".concat(image.numComps, \" \") + 'color components not supported.');\n }\n }\n\n var resources = isInline ? res : null;\n this.colorSpace = _colorspace.ColorSpace.parse(colorSpace, xref, resources, pdfFunctionFactory);\n this.numComps = this.colorSpace.numComps;\n }\n\n this.decode = dict.getArray('Decode', 'D');\n this.needsDecode = false;\n\n if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {\n this.needsDecode = true;\n var max = (1 << bitsPerComponent) - 1;\n this.decodeCoefficients = [];\n this.decodeAddends = [];\n var isIndexed = this.colorSpace && this.colorSpace.name === 'Indexed';\n\n for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n var dmin = this.decode[i];\n var dmax = this.decode[i + 1];\n this.decodeCoefficients[j] = isIndexed ? (dmax - dmin) / max : dmax - dmin;\n this.decodeAddends[j] = isIndexed ? dmin : max * dmin;\n }\n }\n\n if (smask) {\n this.smask = new PDFImage({\n xref: xref,\n res: res,\n image: smask,\n isInline: isInline,\n pdfFunctionFactory: pdfFunctionFactory\n });\n } else if (mask) {\n if ((0, _primitives.isStream)(mask)) {\n var maskDict = mask.dict,\n imageMask = maskDict.get('ImageMask', 'IM');\n\n if (!imageMask) {\n (0, _util.warn)('Ignoring /Mask in image without /ImageMask.');\n } else {\n this.mask = new PDFImage({\n xref: xref,\n res: res,\n image: mask,\n isInline: isInline,\n isMask: true,\n pdfFunctionFactory: pdfFunctionFactory\n });\n }\n } else {\n this.mask = mask;\n }\n }\n }\n\n PDFImage.buildImage = function (_ref2) {\n var handler = _ref2.handler,\n xref = _ref2.xref,\n res = _ref2.res,\n image = _ref2.image,\n _ref2$isInline = _ref2.isInline,\n isInline = _ref2$isInline === void 0 ? false : _ref2$isInline,\n _ref2$nativeDecoder = _ref2.nativeDecoder,\n nativeDecoder = _ref2$nativeDecoder === void 0 ? null : _ref2$nativeDecoder,\n pdfFunctionFactory = _ref2.pdfFunctionFactory;\n var imagePromise = handleImageData(image, nativeDecoder);\n var smaskPromise;\n var maskPromise;\n var smask = image.dict.get('SMask');\n var mask = image.dict.get('Mask');\n\n if (smask) {\n smaskPromise = handleImageData(smask, nativeDecoder);\n maskPromise = Promise.resolve(null);\n } else {\n smaskPromise = Promise.resolve(null);\n\n if (mask) {\n if ((0, _primitives.isStream)(mask)) {\n maskPromise = handleImageData(mask, nativeDecoder);\n } else if (Array.isArray(mask)) {\n maskPromise = Promise.resolve(mask);\n } else {\n (0, _util.warn)('Unsupported mask format.');\n maskPromise = Promise.resolve(null);\n }\n } else {\n maskPromise = Promise.resolve(null);\n }\n }\n\n return Promise.all([imagePromise, smaskPromise, maskPromise]).then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 3),\n imageData = _ref4[0],\n smaskData = _ref4[1],\n maskData = _ref4[2];\n\n return new PDFImage({\n xref: xref,\n res: res,\n image: imageData,\n isInline: isInline,\n smask: smaskData,\n mask: maskData,\n pdfFunctionFactory: pdfFunctionFactory\n });\n });\n };\n\n PDFImage.createMask = function (_ref5) {\n var imgArray = _ref5.imgArray,\n width = _ref5.width,\n height = _ref5.height,\n imageIsFromDecodeStream = _ref5.imageIsFromDecodeStream,\n inverseDecode = _ref5.inverseDecode;\n var computedLength = (width + 7 >> 3) * height;\n var actualLength = imgArray.byteLength;\n var haveFullData = computedLength === actualLength;\n var data, i;\n\n if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n data = imgArray;\n } else if (!inverseDecode) {\n data = new Uint8ClampedArray(actualLength);\n data.set(imgArray);\n } else {\n data = new Uint8ClampedArray(computedLength);\n data.set(imgArray);\n\n for (i = actualLength; i < computedLength; i++) {\n data[i] = 0xff;\n }\n }\n\n if (inverseDecode) {\n for (i = 0; i < actualLength; i++) {\n data[i] ^= 0xFF;\n }\n }\n\n return {\n data: data,\n width: width,\n height: height\n };\n };\n\n PDFImage.prototype = {\n get drawWidth() {\n return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n },\n\n get drawHeight() {\n return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n },\n\n decodeBuffer: function decodeBuffer(buffer) {\n var bpc = this.bpc;\n var numComps = this.numComps;\n var decodeAddends = this.decodeAddends;\n var decodeCoefficients = this.decodeCoefficients;\n var max = (1 << bpc) - 1;\n var i, ii;\n\n if (bpc === 1) {\n for (i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] = +!buffer[i];\n }\n\n return;\n }\n\n var index = 0;\n\n for (i = 0, ii = this.width * this.height; i < ii; i++) {\n for (var j = 0; j < numComps; j++) {\n buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);\n index++;\n }\n }\n },\n getComponents: function getComponents(buffer) {\n var bpc = this.bpc;\n\n if (bpc === 8) {\n return buffer;\n }\n\n var width = this.width;\n var height = this.height;\n var numComps = this.numComps;\n var length = width * height * numComps;\n var bufferPos = 0;\n var output = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length);\n var rowComps = width * numComps;\n var max = (1 << bpc) - 1;\n var i = 0,\n ii,\n buf;\n\n if (bpc === 1) {\n var mask, loop1End, loop2End;\n\n for (var j = 0; j < height; j++) {\n loop1End = i + (rowComps & ~7);\n loop2End = i + rowComps;\n\n while (i < loop1End) {\n buf = buffer[bufferPos++];\n output[i] = buf >> 7 & 1;\n output[i + 1] = buf >> 6 & 1;\n output[i + 2] = buf >> 5 & 1;\n output[i + 3] = buf >> 4 & 1;\n output[i + 4] = buf >> 3 & 1;\n output[i + 5] = buf >> 2 & 1;\n output[i + 6] = buf >> 1 & 1;\n output[i + 7] = buf & 1;\n i += 8;\n }\n\n if (i < loop2End) {\n buf = buffer[bufferPos++];\n mask = 128;\n\n while (i < loop2End) {\n output[i++] = +!!(buf & mask);\n mask >>= 1;\n }\n }\n }\n } else {\n var bits = 0;\n buf = 0;\n\n for (i = 0, ii = length; i < ii; ++i) {\n if (i % rowComps === 0) {\n buf = 0;\n bits = 0;\n }\n\n while (bits < bpc) {\n buf = buf << 8 | buffer[bufferPos++];\n bits += 8;\n }\n\n var remainingBits = bits - bpc;\n var value = buf >> remainingBits;\n output[i] = value < 0 ? 0 : value > max ? max : value;\n buf = buf & (1 << remainingBits) - 1;\n bits = remainingBits;\n }\n }\n\n return output;\n },\n fillOpacity: function fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n var smask = this.smask;\n var mask = this.mask;\n var alphaBuf, sw, sh, i, ii, j;\n\n if (smask) {\n sw = smask.width;\n sh = smask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n smask.fillGrayBuffer(alphaBuf);\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);\n }\n } else if (mask) {\n if (mask instanceof PDFImage) {\n sw = mask.width;\n sh = mask.height;\n alphaBuf = new Uint8ClampedArray(sw * sh);\n mask.numComps = 1;\n mask.fillGrayBuffer(alphaBuf);\n\n for (i = 0, ii = sw * sh; i < ii; ++i) {\n alphaBuf[i] = 255 - alphaBuf[i];\n }\n\n if (sw !== width || sh !== height) {\n alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);\n }\n } else if (Array.isArray(mask)) {\n alphaBuf = new Uint8ClampedArray(width * height);\n var numComps = this.numComps;\n\n for (i = 0, ii = width * height; i < ii; ++i) {\n var opacity = 0;\n var imageOffset = i * numComps;\n\n for (j = 0; j < numComps; ++j) {\n var color = image[imageOffset + j];\n var maskOffset = j * 2;\n\n if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n opacity = 255;\n break;\n }\n }\n\n alphaBuf[i] = opacity;\n }\n } else {\n throw new _util.FormatError('Unknown mask format.');\n }\n }\n\n if (alphaBuf) {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = alphaBuf[i];\n }\n } else {\n for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n rgbaBuf[j] = 255;\n }\n }\n },\n undoPreblend: function undoPreblend(buffer, width, height) {\n var matte = this.smask && this.smask.matte;\n\n if (!matte) {\n return;\n }\n\n var matteRgb = this.colorSpace.getRgb(matte, 0);\n var matteR = matteRgb[0];\n var matteG = matteRgb[1];\n var matteB = matteRgb[2];\n var length = width * height * 4;\n\n for (var i = 0; i < length; i += 4) {\n var alpha = buffer[i + 3];\n\n if (alpha === 0) {\n buffer[i] = 255;\n buffer[i + 1] = 255;\n buffer[i + 2] = 255;\n continue;\n }\n\n var k = 255 / alpha;\n buffer[i] = (buffer[i] - matteR) * k + matteR;\n buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;\n buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;\n }\n },\n createImageData: function createImageData() {\n var forceRGBA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var drawWidth = this.drawWidth;\n var drawHeight = this.drawHeight;\n var imgData = {\n width: drawWidth,\n height: drawHeight,\n kind: 0,\n data: null\n };\n var numComps = this.numComps;\n var originalWidth = this.width;\n var originalHeight = this.height;\n var bpc = this.bpc;\n var rowBytes = originalWidth * numComps * bpc + 7 >> 3;\n var imgArray;\n\n if (!forceRGBA) {\n var kind;\n\n if (this.colorSpace.name === 'DeviceGray' && bpc === 1) {\n kind = _util.ImageKind.GRAYSCALE_1BPP;\n } else if (this.colorSpace.name === 'DeviceRGB' && bpc === 8 && !this.needsDecode) {\n kind = _util.ImageKind.RGB_24BPP;\n }\n\n if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {\n imgData.kind = kind;\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n\n if (this.image instanceof _stream.DecodeStream) {\n imgData.data = imgArray;\n } else {\n var newArray = new Uint8ClampedArray(imgArray.length);\n newArray.set(imgArray);\n imgData.data = newArray;\n }\n\n if (this.needsDecode) {\n (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, 'PDFImage.createImageData: The image must be grayscale.');\n var buffer = imgData.data;\n\n for (var i = 0, ii = buffer.length; i < ii; i++) {\n buffer[i] ^= 0xff;\n }\n }\n\n return imgData;\n }\n\n if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask) {\n var imageLength = originalHeight * rowBytes;\n\n switch (this.colorSpace.name) {\n case 'DeviceGray':\n imageLength *= 3;\n\n case 'DeviceRGB':\n case 'DeviceCMYK':\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = this.getImageBytes(imageLength, drawWidth, drawHeight, true);\n return imgData;\n }\n }\n }\n\n imgArray = this.getImageBytes(originalHeight * rowBytes);\n var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;\n var comps = this.getComponents(imgArray);\n var alpha01, maybeUndoPreblend;\n\n if (!forceRGBA && !this.smask && !this.mask) {\n imgData.kind = _util.ImageKind.RGB_24BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 3);\n alpha01 = 0;\n maybeUndoPreblend = false;\n } else {\n imgData.kind = _util.ImageKind.RGBA_32BPP;\n imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 4);\n alpha01 = 1;\n maybeUndoPreblend = true;\n this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps);\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);\n\n if (maybeUndoPreblend) {\n this.undoPreblend(imgData.data, drawWidth, actualHeight);\n }\n\n return imgData;\n },\n fillGrayBuffer: function fillGrayBuffer(buffer) {\n var numComps = this.numComps;\n\n if (numComps !== 1) {\n throw new _util.FormatError(\"Reading gray scale from a color image: \".concat(numComps));\n }\n\n var width = this.width;\n var height = this.height;\n var bpc = this.bpc;\n var rowBytes = width * numComps * bpc + 7 >> 3;\n var imgArray = this.getImageBytes(height * rowBytes);\n var comps = this.getComponents(imgArray);\n var i, length;\n\n if (bpc === 1) {\n length = width * height;\n\n if (this.needsDecode) {\n for (i = 0; i < length; ++i) {\n buffer[i] = comps[i] - 1 & 255;\n }\n } else {\n for (i = 0; i < length; ++i) {\n buffer[i] = -comps[i] & 255;\n }\n }\n\n return;\n }\n\n if (this.needsDecode) {\n this.decodeBuffer(comps);\n }\n\n length = width * height;\n var scale = 255 / ((1 << bpc) - 1);\n\n for (i = 0; i < length; ++i) {\n buffer[i] = scale * comps[i];\n }\n },\n getImageBytes: function getImageBytes(length, drawWidth, drawHeight) {\n var forceRGB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n this.image.reset();\n this.image.drawWidth = drawWidth || this.width;\n this.image.drawHeight = drawHeight || this.height;\n this.image.forceRGB = !!forceRGB;\n return this.image.getBytes(length, true);\n }\n };\n return PDFImage;\n}();\n\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = MessageHandler;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(6);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction resolveCall(_x, _x2) {\n return _resolveCall.apply(this, arguments);\n}\n\nfunction _resolveCall() {\n _resolveCall = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee(fn, args) {\n var thisArg,\n _args = arguments;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n thisArg = _args.length > 2 && _args[2] !== undefined ? _args[2] : null;\n\n if (fn) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 3:\n return _context.abrupt(\"return\", fn.apply(thisArg, args));\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n return _resolveCall.apply(this, arguments);\n}\n\nfunction wrapReason(reason) {\n if (_typeof(reason) !== 'object') {\n return reason;\n }\n\n switch (reason.name) {\n case 'AbortException':\n return new _util.AbortException(reason.message);\n\n case 'MissingPDFException':\n return new _util.MissingPDFException(reason.message);\n\n case 'UnexpectedResponseException':\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.details);\n }\n}\n\nfunction makeReasonSerializable(reason) {\n if (!(reason instanceof Error) || reason instanceof _util.AbortException || reason instanceof _util.MissingPDFException || reason instanceof _util.UnexpectedResponseException || reason instanceof _util.UnknownErrorException) {\n return reason;\n }\n\n return new _util.UnknownErrorException(reason.message, reason.toString());\n}\n\nfunction resolveOrReject(capability, success, reason) {\n if (success) {\n capability.resolve();\n } else {\n capability.reject(reason);\n }\n}\n\nfunction finalize(promise) {\n return Promise.resolve(promise).catch(function () {});\n}\n\nfunction MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);\n var ah = this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this._processStreamMessage(data);\n } else if (data.isReply) {\n var callbackId = data.callbackId;\n\n if (data.callbackId in callbacksCapabilities) {\n var callback = callbacksCapabilities[callbackId];\n delete callbacksCapabilities[callbackId];\n\n if ('error' in data) {\n callback.reject(wrapReason(data.error));\n } else {\n callback.resolve(data.data);\n }\n } else {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n } else if (data.action in ah) {\n var action = ah[data.action];\n\n if (data.callbackId) {\n var _sourceName = _this.sourceName;\n var _targetName = data.sourceName;\n Promise.resolve().then(function () {\n return action[0].call(action[1], data.data);\n }).then(function (result) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: _sourceName,\n targetName: _targetName,\n isReply: true,\n callbackId: data.callbackId,\n error: makeReasonSerializable(reason)\n });\n });\n } else if (data.streamId) {\n _this._createStreamSink(data);\n } else {\n action[0].call(action[1], data.data);\n }\n } else {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n };\n\n comObj.addEventListener('message', this._onComObjOnMessage);\n}\n\nMessageHandler.prototype = {\n on: function on(actionName, handler, scope) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = [handler, scope];\n },\n send: function send(actionName, data, transfers) {\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n };\n this.postMessage(message, transfers);\n },\n sendWithPromise: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var message = {\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data,\n callbackId: callbackId\n };\n var capability = (0, _util.createPromiseCapability)();\n this.callbacksCapabilities[callbackId] = capability;\n\n try {\n this.postMessage(message, transfers);\n } catch (e) {\n capability.reject(e);\n }\n\n return capability.promise;\n },\n sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this2 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n return new _util.ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n isClosed: false\n };\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n });\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'pull',\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n\n _this2.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: 'cancel',\n reason: reason,\n streamId: streamId\n });\n\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n },\n _createStreamSink: function _createStreamSink(data) {\n var _this3 = this;\n\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var desiredSize = data.desiredSize;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var capability = (0, _util.createPromiseCapability)();\n\n var sendStreamRequest = function sendStreamRequest(_ref) {\n var stream = _ref.stream,\n chunk = _ref.chunk,\n transfers = _ref.transfers,\n success = _ref.success,\n reason = _ref.reason;\n\n _this3.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n streamId: streamId,\n chunk: chunk,\n success: success,\n reason: reason\n }, transfers);\n };\n\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n sendStreamRequest({\n stream: 'enqueue',\n chunk: chunk,\n transfers: transfers\n });\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'close'\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n sendStreamRequest({\n stream: 'error',\n reason: reason\n });\n },\n sinkCapability: capability,\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n resolveCall(action[0], [data.data, streamSink], action[1]).then(function () {\n sendStreamRequest({\n stream: 'start_complete',\n success: true\n });\n }, function (reason) {\n sendStreamRequest({\n stream: 'start_complete',\n success: false,\n reason: reason\n });\n });\n },\n _processStreamMessage: function _processStreamMessage(data) {\n var _this4 = this;\n\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var streamId = data.streamId;\n\n var sendStreamResponse = function sendStreamResponse(_ref2) {\n var stream = _ref2.stream,\n success = _ref2.success,\n reason = _ref2.reason;\n\n _this4.comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: stream,\n success: success,\n streamId: streamId,\n reason: reason\n });\n };\n\n var deleteStreamController = function deleteStreamController() {\n Promise.all([_this4.streamControllers[data.streamId].startCall, _this4.streamControllers[data.streamId].pullCall, _this4.streamControllers[data.streamId].cancelCall].map(function (capability) {\n return capability && finalize(capability.promise);\n })).then(function () {\n delete _this4.streamControllers[data.streamId];\n });\n };\n\n switch (data.stream) {\n case 'start_complete':\n resolveOrReject(this.streamControllers[data.streamId].startCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull_complete':\n resolveOrReject(this.streamControllers[data.streamId].pullCall, data.success, wrapReason(data.reason));\n break;\n\n case 'pull':\n if (!this.streamSinks[data.streamId]) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n break;\n }\n\n if (this.streamSinks[data.streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[data.streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[data.streamId].desiredSize = data.desiredSize;\n resolveCall(this.streamSinks[data.streamId].onPull).then(function () {\n sendStreamResponse({\n stream: 'pull_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'pull_complete',\n success: false,\n reason: reason\n });\n });\n break;\n\n case 'enqueue':\n (0, _util.assert)(this.streamControllers[data.streamId], 'enqueue should have stream controller');\n\n if (!this.streamControllers[data.streamId].isClosed) {\n this.streamControllers[data.streamId].controller.enqueue(data.chunk);\n }\n\n break;\n\n case 'close':\n (0, _util.assert)(this.streamControllers[data.streamId], 'close should have stream controller');\n\n if (this.streamControllers[data.streamId].isClosed) {\n break;\n }\n\n this.streamControllers[data.streamId].isClosed = true;\n this.streamControllers[data.streamId].controller.close();\n deleteStreamController();\n break;\n\n case 'error':\n (0, _util.assert)(this.streamControllers[data.streamId], 'error should have stream controller');\n this.streamControllers[data.streamId].controller.error(wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel_complete':\n resolveOrReject(this.streamControllers[data.streamId].cancelCall, data.success, wrapReason(data.reason));\n deleteStreamController();\n break;\n\n case 'cancel':\n if (!this.streamSinks[data.streamId]) {\n break;\n }\n\n resolveCall(this.streamSinks[data.streamId].onCancel, [wrapReason(data.reason)]).then(function () {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: true\n });\n }, function (reason) {\n sendStreamResponse({\n stream: 'cancel_complete',\n success: false,\n reason: reason\n });\n });\n this.streamSinks[data.streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[data.streamId].isCancelled = true;\n delete this.streamSinks[data.streamId];\n break;\n\n default:\n throw new Error('Unexpected stream case');\n }\n },\n postMessage: function postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n },\n destroy: function destroy() {\n this.comObj.removeEventListener('message', this._onComObjOnMessage);\n }\n};\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.worker.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _makeEventProps = _interopRequireDefault(require(\"make-event-props\"));\n\nvar _makeCancellablePromise = _interopRequireDefault(require(\"make-cancellable-promise\"));\n\nvar _mergeClassNames = _interopRequireDefault(require(\"merge-class-names\"));\n\nvar _pdfjsDist = _interopRequireWildcard(require(\"pdfjs-dist\"));\n\nvar _DocumentContext = _interopRequireDefault(require(\"./DocumentContext\"));\n\nvar _Message = _interopRequireDefault(require(\"./Message\"));\n\nvar _LinkService = _interopRequireDefault(require(\"./LinkService\"));\n\nvar _PasswordResponses = _interopRequireDefault(require(\"./PasswordResponses\"));\n\nvar _utils = require(\"./shared/utils\");\n\nvar _propTypes2 = require(\"./shared/propTypes\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar Document = /*#__PURE__*/function (_PureComponent) {\n (0, _inherits2[\"default\"])(Document, _PureComponent);\n\n var _super = _createSuper(Document);\n\n function Document() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Document);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"state\", {\n pdf: null\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"viewer\", {\n scrollPageIntoView: function scrollPageIntoView(_ref) {\n var pageNumber = _ref.pageNumber;\n // Handling jumping to internal links target\n var onItemClick = _this.props.onItemClick; // First, check if custom handling of onItemClick was provided\n\n if (onItemClick) {\n onItemClick({\n pageNumber: pageNumber\n });\n return;\n } // If not, try to look for target page within the .\n\n\n var page = _this.pages[pageNumber - 1];\n\n if (page) {\n // Scroll to the page automatically\n page.scrollIntoView();\n return;\n }\n\n (0, _utils.warnOnDev)(\"Warning: An internal link leading to page \".concat(pageNumber, \" was clicked, but neither was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to and handle navigating by yourself or ensure that all pages are rendered within .\"));\n }\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"linkService\", new _LinkService[\"default\"]());\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"loadDocument\", /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var source, _this$props, options, onLoadProgress, onPassword, cancellable, pdf;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n source = null;\n _context.prev = 1;\n _context.next = 4;\n return _this.findDocumentSource();\n\n case 4:\n source = _context.sent;\n\n _this.onSourceSuccess();\n\n _context.next = 11;\n break;\n\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](1);\n\n _this.onSourceError(_context.t0);\n\n case 11:\n if (source) {\n _context.next = 13;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 13:\n _this.setState(function (prevState) {\n if (!prevState.pdf) {\n return null;\n }\n\n return {\n pdf: null\n };\n });\n\n _this$props = _this.props, options = _this$props.options, onLoadProgress = _this$props.onLoadProgress, onPassword = _this$props.onPassword;\n _context.prev = 15;\n // If another loading is in progress, let's cancel it\n (0, _utils.cancelRunningTask)(_this.runningTask);\n _this.loadingTask = _pdfjsDist[\"default\"].getDocument(_objectSpread({}, source, {}, options));\n _this.loadingTask.onPassword = onPassword;\n\n if (onLoadProgress) {\n _this.loadingTask.onProgress = onLoadProgress;\n }\n\n cancellable = (0, _makeCancellablePromise[\"default\"])(_this.loadingTask.promise);\n _this.runningTask = cancellable;\n _context.next = 24;\n return cancellable.promise;\n\n case 24:\n pdf = _context.sent;\n\n _this.setState(function (prevState) {\n if (prevState.pdf && prevState.pdf.fingerprint === pdf.fingerprint) {\n return null;\n }\n\n return {\n pdf: pdf\n };\n }, _this.onLoadSuccess);\n\n _context.next = 31;\n break;\n\n case 28:\n _context.prev = 28;\n _context.t1 = _context[\"catch\"](15);\n\n _this.onLoadError(_context.t1);\n\n case 31:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 8], [15, 28]]);\n })));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"setupLinkService\", function () {\n _this.linkService.setViewer(_this.viewer);\n\n var documentInstance = (0, _assertThisInitialized2[\"default\"])(_this);\n Object.defineProperty(_this.linkService, 'externalLinkTarget', {\n get: function get() {\n var externalLinkTarget = documentInstance.props.externalLinkTarget;\n\n switch (externalLinkTarget) {\n case '_self':\n return 1;\n\n case '_blank':\n return 2;\n\n case '_parent':\n return 3;\n\n case '_top':\n return 4;\n\n default:\n return 0;\n }\n }\n });\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onSourceSuccess\", function () {\n var onSourceSuccess = _this.props.onSourceSuccess;\n if (onSourceSuccess) onSourceSuccess();\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onSourceError\", function (error) {\n (0, _utils.errorOnDev)(error);\n var onSourceError = _this.props.onSourceError;\n if (onSourceError) onSourceError(error);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onLoadSuccess\", function () {\n var onLoadSuccess = _this.props.onLoadSuccess;\n var pdf = _this.state.pdf;\n if (onLoadSuccess) onLoadSuccess(pdf);\n _this.pages = new Array(pdf.numPages);\n\n _this.linkService.setDocument(pdf);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onLoadError\", function (error) {\n _this.setState({\n pdf: false\n });\n\n (0, _utils.errorOnDev)(error);\n var onLoadError = _this.props.onLoadError;\n if (onLoadError) onLoadError(error);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"findDocumentSource\", /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var file, fileUint8Array, url, otherParams, _fileUint8Array;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n file = _this.props.file;\n\n if (file) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 3:\n if (!(typeof file === 'string')) {\n _context2.next = 9;\n break;\n }\n\n if (!(0, _utils.isDataURI)(file)) {\n _context2.next = 7;\n break;\n }\n\n fileUint8Array = (0, _utils.dataURItoUint8Array)(file);\n return _context2.abrupt(\"return\", {\n data: fileUint8Array\n });\n\n case 7:\n (0, _utils.displayCORSWarning)();\n return _context2.abrupt(\"return\", {\n url: file\n });\n\n case 9:\n if (!(file instanceof _pdfjsDist.PDFDataRangeTransport)) {\n _context2.next = 11;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n range: file\n });\n\n case 11:\n if (!(0, _utils.isArrayBuffer)(file)) {\n _context2.next = 13;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n data: file\n });\n\n case 13:\n if (!_utils.isBrowser) {\n _context2.next = 19;\n break;\n }\n\n if (!((0, _utils.isBlob)(file) || (0, _utils.isFile)(file))) {\n _context2.next = 19;\n break;\n }\n\n _context2.next = 17;\n return (0, _utils.loadFromFile)(file);\n\n case 17:\n _context2.t0 = _context2.sent;\n return _context2.abrupt(\"return\", {\n data: _context2.t0\n });\n\n case 19:\n if (!((0, _typeof2[\"default\"])(file) !== 'object')) {\n _context2.next = 21;\n break;\n }\n\n throw new Error('Invalid parameter in file, need either Uint8Array, string or a parameter object');\n\n case 21:\n if (!(!file.url && !file.data && !file.range)) {\n _context2.next = 23;\n break;\n }\n\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n\n case 23:\n if (!(typeof file.url === 'string')) {\n _context2.next = 29;\n break;\n }\n\n if (!(0, _utils.isDataURI)(file.url)) {\n _context2.next = 28;\n break;\n }\n\n url = file.url, otherParams = (0, _objectWithoutProperties2[\"default\"])(file, [\"url\"]);\n _fileUint8Array = (0, _utils.dataURItoUint8Array)(url);\n return _context2.abrupt(\"return\", _objectSpread({\n data: _fileUint8Array\n }, otherParams));\n\n case 28:\n (0, _utils.displayCORSWarning)();\n\n case 29:\n return _context2.abrupt(\"return\", file);\n\n case 30:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n })));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"registerPage\", function (pageIndex, ref) {\n _this.pages[pageIndex] = ref;\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"unregisterPage\", function (pageIndex) {\n delete _this.pages[pageIndex];\n });\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Document, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.loadDocument();\n this.setupLinkService();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var file = this.props.file;\n\n if (file !== prevProps.file) {\n this.loadDocument();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.loadingTask) this.loadingTask.destroy();\n (0, _utils.cancelRunningTask)(this.runningTask);\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var children = this.props.children;\n return /*#__PURE__*/_react[\"default\"].createElement(_DocumentContext[\"default\"].Provider, {\n value: this.childContext\n }, children);\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var file = this.props.file;\n var pdf = this.state.pdf;\n\n if (!file) {\n var noData = this.props.noData;\n return /*#__PURE__*/_react[\"default\"].createElement(_Message[\"default\"], {\n type: \"no-data\"\n }, typeof noData === 'function' ? noData() : noData);\n }\n\n if (pdf === null) {\n var loading = this.props.loading;\n return /*#__PURE__*/_react[\"default\"].createElement(_Message[\"default\"], {\n type: \"loading\"\n }, typeof loading === 'function' ? loading() : loading);\n }\n\n if (pdf === false) {\n var error = this.props.error;\n return /*#__PURE__*/_react[\"default\"].createElement(_Message[\"default\"], {\n type: \"error\"\n }, typeof error === 'function' ? error() : error);\n }\n\n return this.renderChildren();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n inputRef = _this$props2.inputRef;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", (0, _extends2[\"default\"])({\n className: (0, _mergeClassNames[\"default\"])('react-pdf__Document', className),\n ref: inputRef\n }, this.eventProps), this.renderContent());\n }\n }, {\n key: \"childContext\",\n get: function get() {\n var linkService = this.linkService,\n registerPage = this.registerPage,\n unregisterPage = this.unregisterPage;\n var _this$props3 = this.props,\n renderMode = _this$props3.renderMode,\n rotate = _this$props3.rotate;\n var pdf = this.state.pdf;\n return {\n linkService: linkService,\n pdf: pdf,\n registerPage: registerPage,\n renderMode: renderMode,\n rotate: rotate,\n unregisterPage: unregisterPage\n };\n }\n }, {\n key: \"eventProps\",\n get: function get() {\n var _this2 = this;\n\n // eslint-disable-next-line react/destructuring-assignment\n return (0, _makeEventProps[\"default\"])(this.props, function () {\n return _this2.state.pdf;\n });\n }\n /**\n * Called when a document source is resolved correctly\n */\n\n }]);\n return Document;\n}(_react.PureComponent);\n\nexports[\"default\"] = Document;\nDocument.defaultProps = {\n error: 'Failed to load PDF file.',\n loading: 'Loading PDFā€¦',\n noData: 'No PDF file specified.',\n onPassword: function onPassword(callback, reason) {\n switch (reason) {\n case _PasswordResponses[\"default\"].NEED_PASSWORD:\n {\n // eslint-disable-next-line no-alert\n var password = prompt('Enter the password to open this PDF file.');\n callback(password);\n break;\n }\n\n case _PasswordResponses[\"default\"].INCORRECT_PASSWORD:\n {\n // eslint-disable-next-line no-alert\n var _password = prompt('Invalid password. Please try again.');\n\n callback(_password);\n break;\n }\n\n default:\n }\n }\n};\n\nvar isFunctionOrNode = _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].node]);\n\nDocument.propTypes = _objectSpread({}, _propTypes2.eventProps, {\n children: _propTypes[\"default\"].node,\n className: _propTypes2.isClassName,\n error: isFunctionOrNode,\n file: _utils.isFile,\n inputRef: _propTypes[\"default\"].func,\n loading: isFunctionOrNode,\n noData: isFunctionOrNode,\n onItemClick: _propTypes[\"default\"].func,\n onLoadError: _propTypes[\"default\"].func,\n onLoadProgress: _propTypes[\"default\"].func,\n onLoadSuccess: _propTypes[\"default\"].func,\n onPassword: _propTypes[\"default\"].func,\n onSourceError: _propTypes[\"default\"].func,\n onSourceSuccess: _propTypes[\"default\"].func,\n rotate: _propTypes[\"default\"].number\n});","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\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 * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = require(\"./ui_utils\");\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFLinkService =\n/*#__PURE__*/\nfunction () {\n function PDFLinkService() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n eventBus = _ref.eventBus,\n _ref$externalLinkTarg = _ref.externalLinkTarget,\n externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,\n _ref$externalLinkRel = _ref.externalLinkRel,\n externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel;\n\n _classCallCheck(this, PDFLinkService);\n\n this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n _createClass(PDFLinkService, [{\n key: \"setDocument\",\n value: function setDocument(pdfDocument) {\n var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n }, {\n key: \"setViewer\",\n value: function setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n }, {\n key: \"setHistory\",\n value: function setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n }, {\n key: \"navigateTo\",\n value: function navigateTo(dest) {\n var _this = this;\n\n var goToDestination = function goToDestination(_ref2) {\n var namedDest = _ref2.namedDest,\n explicitDest = _ref2.explicitDest;\n var destRef = explicitDest[0],\n pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = _this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {\n _this.cachePageRef(pageIndex + 1, destRef);\n\n goToDestination({\n namedDest: namedDest,\n explicitDest: explicitDest\n });\n }).catch(function () {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid page reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n });\n\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(destRef, \"\\\" is not \") + \"a valid destination reference, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(pageNumber, \"\\\" is not \") + \"a valid page number, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n if (_this.pdfHistory) {\n _this.pdfHistory.pushCurrentPosition();\n\n _this.pdfHistory.push({\n namedDest: namedDest,\n explicitDest: explicitDest,\n pageNumber: pageNumber\n });\n }\n\n _this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber,\n destArray: explicitDest\n });\n };\n\n new Promise(function (resolve, reject) {\n if (typeof dest === 'string') {\n _this.pdfDocument.getDestination(dest).then(function (destArray) {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n\n return;\n }\n\n resolve({\n namedDest: '',\n explicitDest: dest\n });\n }).then(function (data) {\n if (!Array.isArray(data.explicitDest)) {\n console.error(\"PDFLinkService.navigateTo: \\\"\".concat(data.explicitDest, \"\\\" is\") + \" not a valid destination array, for dest=\\\"\".concat(dest, \"\\\".\"));\n return;\n }\n\n goToDestination(data);\n });\n }\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n if (typeof dest === 'string') {\n return this.getAnchorUrl('#' + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n var str = JSON.stringify(dest);\n return this.getAnchorUrl('#' + escape(str));\n }\n\n return this.getAnchorUrl('');\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(anchor) {\n return (this.baseUrl || '') + anchor;\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {\n var pageNumber, dest;\n\n if (hash.includes('=')) {\n var params = (0, _ui_utils.parseQueryString)(hash);\n\n if ('search' in params) {\n this.eventBus.dispatch('findfromurlhash', {\n source: this,\n query: params['search'].replace(/\"/g, ''),\n phraseSearch: params['phrase'] === 'true'\n });\n }\n\n if ('nameddest' in params) {\n this.navigateTo(params.nameddest);\n return;\n }\n\n if ('page' in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if ('zoom' in params) {\n var zoomArgs = params.zoom.split(',');\n var zoomArg = zoomArgs[0];\n var zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes('Fit')) {\n dest = [null, {\n name: 'XYZ'\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === 'Fit' || zoomArg === 'FitB') {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === 'FitH' || zoomArg === 'FitBH' || zoomArg === 'FitV' || zoomArg === 'FitBV') {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === 'FitR') {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(\"PDFLinkService.setHash: \\\"\".concat(zoomArg, \"\\\" is not \") + 'a valid zoom value.');\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if ('pagemode' in params) {\n this.eventBus.dispatch('pagemode', {\n source: this,\n mode: params.pagemode\n });\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === 'string' || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(\"PDFLinkService.setHash: \\\"\".concat(unescape(hash), \"\\\" is not \") + 'a valid destination.');\n }\n }\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {\n switch (action) {\n case 'GoBack':\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case 'GoForward':\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case 'NextPage':\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case 'PrevPage':\n if (this.page > 1) {\n this.page--;\n }\n\n break;\n\n case 'LastPage':\n this.page = this.pagesCount;\n break;\n\n case 'FirstPage':\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch('namedaction', {\n source: this,\n action: action\n });\n }\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n var refStr = pageRef.num + ' ' + pageRef.gen + ' R';\n this._pagesRefCache[refStr] = pageNum;\n }\n }, {\n key: \"_cachedPageNumber\",\n value: function _cachedPageNumber(pageRef) {\n var refStr = pageRef.num + ' ' + pageRef.gen + ' R';\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return this.pdfViewer.currentPageNumber;\n },\n set: function set(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n }, {\n key: \"rotation\",\n get: function get() {\n return this.pdfViewer.pagesRotation;\n },\n set: function set(value) {\n this.pdfViewer.pagesRotation = value;\n }\n }]);\n\n return PDFLinkService;\n}();\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n var destLength = dest.length,\n allowNull = true;\n\n if (destLength < 2) {\n return false;\n }\n\n var page = dest[0];\n\n if (!(_typeof(page) === 'object' && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n var zoom = dest[1];\n\n if (!(_typeof(zoom) === 'object' && typeof zoom.name === 'string')) {\n return false;\n }\n\n switch (zoom.name) {\n case 'XYZ':\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case 'Fit':\n case 'FitB':\n return destLength === 2;\n\n case 'FitH':\n case 'FitBH':\n case 'FitV':\n case 'FitBV':\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case 'FitR':\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (var i = 2; i < destLength; i++) {\n var param = dest[i];\n\n if (!(typeof param === 'number' || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar SimpleLinkService =\n/*#__PURE__*/\nfunction () {\n function SimpleLinkService() {\n _classCallCheck(this, SimpleLinkService);\n\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n }\n\n _createClass(SimpleLinkService, [{\n key: \"navigateTo\",\n value: function navigateTo(dest) {}\n }, {\n key: \"getDestinationHash\",\n value: function getDestinationHash(dest) {\n return '#';\n }\n }, {\n key: \"getAnchorUrl\",\n value: function getAnchorUrl(hash) {\n return '#';\n }\n }, {\n key: \"setHash\",\n value: function setHash(hash) {}\n }, {\n key: \"executeNamedAction\",\n value: function executeNamedAction(action) {}\n }, {\n key: \"cachePageRef\",\n value: function cachePageRef(pageNum, pageRef) {}\n }, {\n key: \"isPageVisible\",\n value: function isPageVisible(pageNumber) {\n return true;\n }\n }, {\n key: \"pagesCount\",\n get: function get() {\n return 0;\n }\n }, {\n key: \"page\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }, {\n key: \"rotation\",\n get: function get() {\n return 0;\n },\n set: function set(value) {}\n }]);\n\n return SimpleLinkService;\n}();\n\nexports.SimpleLinkService = SimpleLinkService;","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\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 * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.getGlobalEventBus = getGlobalEventBus;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nvar DEFAULT_SCALE_VALUE = 'auto';\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nvar DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nvar MIN_SCALE = 0.10;\nexports.MIN_SCALE = MIN_SCALE;\nvar MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nvar UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nvar MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nvar SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nvar VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nvar PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nvar RendererType = {\n CANVAS: 'canvas',\n SVG: 'svg'\n};\nexports.RendererType = RendererType;\nvar TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nvar ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nvar SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, function (all, name) {\n return name in args ? args[name] : '{{' + name + '}}';\n });\n}\n\nvar NullL10n = {\n getLanguage: function () {\n var _getLanguage = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", 'en-us');\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLanguage() {\n return _getLanguage.apply(this, arguments);\n }\n\n return getLanguage;\n }(),\n getDirection: function () {\n var _getDirection = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee2() {\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n return _context2.abrupt(\"return\", 'ltr');\n\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getDirection() {\n return _getDirection.apply(this, arguments);\n }\n\n return getDirection;\n }(),\n get: function () {\n var _get = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee3(property, args, fallback) {\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", formatL10nValue(fallback, args));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function get(_x, _x2, _x3) {\n return _get.apply(this, arguments);\n }\n\n return get;\n }(),\n translate: function () {\n var _translate = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator.default.mark(function _callee4(element) {\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function translate(_x4) {\n return _translate.apply(this, arguments);\n }\n\n return translate;\n }()\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n var devicePixelRatio = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n var pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot) {\n var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var parent = element.offsetParent;\n\n if (!parent) {\n console.error('offsetParent is not set -- cannot scroll');\n return;\n }\n\n var offsetY = element.offsetTop + element.clientTop;\n var offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === 'hidden') {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n var debounceScroll = function debounceScroll(evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n var currentX = viewAreaElement.scrollLeft;\n var lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n var currentY = viewAreaElement.scrollTop;\n var lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n var state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n var rAF = null;\n viewAreaElement.addEventListener('scroll', debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n var parts = query.split('&');\n var params = Object.create(null);\n\n for (var i = 0, ii = parts.length; i < ii; ++i) {\n var param = parts[i].split('=');\n var key = param[0].toLowerCase();\n var value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n var minIndex = 0;\n var maxIndex = items.length - 1;\n\n if (items.length === 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n var currentIndex = minIndex + maxIndex >> 1;\n var currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n var xinv = 1 / x;\n var limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n var x_ = x > 1 ? xinv : x;\n var a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n var p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n var result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n var r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches(_ref) {\n var view = _ref.view,\n userUnit = _ref.userUnit,\n rotate = _ref.rotate;\n\n var _view = _slicedToArray(view, 4),\n x1 = _view[0],\n y1 = _view[1],\n x2 = _view[2],\n y2 = _view[3];\n\n var changeOrientation = rotate % 180 !== 0;\n var width = (x2 - x1) / 72 * userUnit;\n var height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n var elt = views[index].div;\n var pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (var i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(scrollEl, views) {\n var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n var left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n var element = view.div;\n var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n var element = view.div;\n var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n var visible = [],\n numViews = views.length;\n var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n var lastEdge = horizontal ? right : -1;\n\n for (var i = firstVisibleElementInd; i < numViews; i++) {\n var view = views[i],\n element = view.div;\n var currentWidth = element.offsetLeft + element.clientLeft;\n var currentHeight = element.offsetTop + element.clientTop;\n var viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n var viewRight = currentWidth + viewWidth;\n var viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view: view,\n percent: percent\n });\n }\n\n var first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n var pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first: first,\n last: last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n var i = 0,\n ii = url.length;\n\n while (i < ii && url[i].trim() === '') {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === 'data:';\n}\n\nfunction getPDFFileNameFromURL(url) {\n var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'document.pdf';\n\n if (typeof url !== 'string') {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn('getPDFFileNameFromURL: ' + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n var reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n var reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n var splitURI = reURI.exec(url);\n var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes('%')) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n var angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n var MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n var MOUSE_DOM_DELTA_LINE_MODE = 1;\n var MOUSE_PIXELS_PER_LINE = 30;\n var MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nvar WaitOnType = {\n EVENT: 'event',\n TIMEOUT: 'timeout'\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout(_ref2) {\n var target = _ref2.target,\n name = _ref2.name,\n _ref2$delay = _ref2.delay,\n delay = _ref2$delay === void 0 ? 0 : _ref2$delay;\n return new Promise(function (resolve, reject) {\n if (_typeof(target) !== 'object' || !(name && typeof name === 'string') || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error('waitOnEventOrTimeout - invalid parameters.');\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target.off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n var eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target.on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n var timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nvar animationStarted = new Promise(function (resolve) {\n if (typeof window === 'undefined') {\n setTimeout(resolve, 20);\n return;\n }\n\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nvar EventBus =\n/*#__PURE__*/\nfunction () {\n function EventBus() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$dispatchToDOM = _ref3.dispatchToDOM,\n dispatchToDOM = _ref3$dispatchToDOM === void 0 ? false : _ref3$dispatchToDOM;\n\n _classCallCheck(this, EventBus);\n\n this._listeners = Object.create(null);\n this._dispatchToDOM = dispatchToDOM === true;\n }\n\n _createClass(EventBus, [{\n key: \"on\",\n value: function on(eventName, listener) {\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n eventListeners = [];\n this._listeners[eventName] = eventListeners;\n }\n\n eventListeners.push(listener);\n }\n }, {\n key: \"off\",\n value: function off(eventName, listener) {\n var eventListeners = this._listeners[eventName];\n var i;\n\n if (!eventListeners || (i = eventListeners.indexOf(listener)) < 0) {\n return;\n }\n\n eventListeners.splice(i, 1);\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(eventName) {\n var eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n if (this._dispatchToDOM) {\n var _args5 = Array.prototype.slice.call(arguments, 1);\n\n this._dispatchDOMEvent(eventName, _args5);\n }\n\n return;\n }\n\n var args = Array.prototype.slice.call(arguments, 1);\n eventListeners.slice(0).forEach(function (listener) {\n listener.apply(null, args);\n });\n\n if (this._dispatchToDOM) {\n this._dispatchDOMEvent(eventName, args);\n }\n }\n }, {\n key: \"_dispatchDOMEvent\",\n value: function _dispatchDOMEvent(eventName) {\n var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var details = Object.create(null);\n\n if (args && args.length > 0) {\n var obj = args[0];\n\n for (var key in obj) {\n var value = obj[key];\n\n if (key === 'source') {\n if (value === window || value === document) {\n return;\n }\n\n continue;\n }\n\n details[key] = value;\n }\n }\n\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent(eventName, true, true, details);\n document.dispatchEvent(event);\n }\n }]);\n\n return EventBus;\n}();\n\nexports.EventBus = EventBus;\nvar globalEventBus = null;\n\nfunction getGlobalEventBus() {\n var dispatchToDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!globalEventBus) {\n globalEventBus = new EventBus({\n dispatchToDOM: dispatchToDOM\n });\n }\n\n return globalEventBus;\n}\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nvar ProgressBar =\n/*#__PURE__*/\nfunction () {\n function ProgressBar(id) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n height = _ref4.height,\n width = _ref4.width,\n units = _ref4.units;\n\n _classCallCheck(this, ProgressBar);\n\n this.visible = true;\n this.div = document.querySelector(id + ' .progress');\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || '%';\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _createClass(ProgressBar, [{\n key: \"_updateBar\",\n value: function _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add('indeterminate');\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove('indeterminate');\n var progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n }, {\n key: \"setWidth\",\n value: function setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n var container = viewer.parentNode;\n var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.setAttribute('style', 'width: calc(100% - ' + scrollbarWidth + 'px);');\n }\n }\n }, {\n key: \"hide\",\n value: function hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add('hidden');\n document.body.classList.remove('loadingInProgress');\n }\n }, {\n key: \"show\",\n value: function show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add('loadingInProgress');\n this.bar.classList.remove('hidden');\n }\n }, {\n key: \"percent\",\n get: function get() {\n return this._percent;\n },\n set: function set(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n }]);\n\n return ProgressBar;\n}();\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n var moved = [],\n len = arr.length;\n var write = 0;\n\n for (var read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (var _read = 0; write < len; ++_read, ++write) {\n arr[write] = moved[_read];\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n// As defined in https://github.com/mozilla/pdf.js/blob/master/src/shared/util.js#L378-L381\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nvar _default = PasswordResponses;\nexports[\"default\"] = _default;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.OutlineInternal = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _makeCancellablePromise = _interopRequireDefault(require(\"make-cancellable-promise\"));\n\nvar _makeEventProps = _interopRequireDefault(require(\"make-event-props\"));\n\nvar _mergeClassNames = _interopRequireDefault(require(\"merge-class-names\"));\n\nvar _DocumentContext = _interopRequireDefault(require(\"./DocumentContext\"));\n\nvar _OutlineContext = _interopRequireDefault(require(\"./OutlineContext\"));\n\nvar _OutlineItem = _interopRequireDefault(require(\"./OutlineItem\"));\n\nvar _utils = require(\"./shared/utils\");\n\nvar _propTypes2 = require(\"./shared/propTypes\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar OutlineInternal = /*#__PURE__*/function (_PureComponent) {\n (0, _inherits2[\"default\"])(OutlineInternal, _PureComponent);\n\n var _super = _createSuper(OutlineInternal);\n\n function OutlineInternal() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, OutlineInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"state\", {\n outline: null\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"loadOutline\", /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var pdf, cancellable, outline;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n pdf = _this.props.pdf;\n\n _this.setState(function (prevState) {\n if (!prevState.outline) {\n return null;\n }\n\n return {\n outline: null\n };\n });\n\n _context.prev = 2;\n cancellable = (0, _makeCancellablePromise[\"default\"])(pdf.getOutline());\n _this.runningTask = cancellable;\n _context.next = 7;\n return cancellable.promise;\n\n case 7:\n outline = _context.sent;\n\n _this.setState({\n outline: outline\n }, _this.onLoadSuccess);\n\n _context.next = 14;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](2);\n\n _this.onLoadError(_context.t0);\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 11]]);\n })));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onLoadSuccess\", function () {\n var onLoadSuccess = _this.props.onLoadSuccess;\n var outline = _this.state.outline;\n if (onLoadSuccess) onLoadSuccess(outline);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onLoadError\", function (error) {\n _this.setState({\n outline: false\n });\n\n (0, _utils.errorOnDev)(error);\n var onLoadError = _this.props.onLoadError;\n if (onLoadError) onLoadError(error);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onItemClick\", function (_ref2) {\n var pageIndex = _ref2.pageIndex,\n pageNumber = _ref2.pageNumber;\n var onItemClick = _this.props.onItemClick;\n\n if (onItemClick) {\n onItemClick({\n pageIndex: pageIndex,\n pageNumber: pageNumber\n });\n }\n });\n return _this;\n }\n\n (0, _createClass2[\"default\"])(OutlineInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var pdf = this.props.pdf;\n\n if (!pdf) {\n throw new Error('Attempted to load an outline, but no document was specified.');\n }\n\n this.loadOutline();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var pdf = this.props.pdf;\n\n if (prevProps.pdf && pdf !== prevProps.pdf) {\n this.loadOutline();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n (0, _utils.cancelRunningTask)(this.runningTask);\n }\n }, {\n key: \"renderOutline\",\n value: function renderOutline() {\n var outline = this.state.outline;\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", null, outline.map(function (item, itemIndex) {\n return /*#__PURE__*/_react[\"default\"].createElement(_OutlineItem[\"default\"], {\n key: typeof item.destination === 'string' ? item.destination : itemIndex,\n item: item\n });\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var pdf = this.props.pdf;\n var outline = this.state.outline;\n\n if (!pdf || !outline) {\n return null;\n }\n\n var _this$props = this.props,\n className = _this$props.className,\n inputRef = _this$props.inputRef;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", (0, _extends2[\"default\"])({\n className: (0, _mergeClassNames[\"default\"])('react-pdf__Outline', className),\n ref: inputRef\n }, this.eventProps), /*#__PURE__*/_react[\"default\"].createElement(_OutlineContext[\"default\"].Provider, {\n value: this.childContext\n }, this.renderOutline()));\n }\n }, {\n key: \"childContext\",\n get: function get() {\n return {\n onClick: this.onItemClick\n };\n }\n }, {\n key: \"eventProps\",\n get: function get() {\n var _this2 = this;\n\n // eslint-disable-next-line react/destructuring-assignment\n return (0, _makeEventProps[\"default\"])(this.props, function () {\n return _this2.state.outline;\n });\n }\n /**\n * Called when an outline is read successfully\n */\n\n }]);\n return OutlineInternal;\n}(_react.PureComponent);\n\nexports.OutlineInternal = OutlineInternal;\nOutlineInternal.propTypes = _objectSpread({\n className: _propTypes2.isClassName,\n inputRef: _propTypes[\"default\"].func,\n onItemClick: _propTypes[\"default\"].func,\n onLoadError: _propTypes[\"default\"].func,\n onLoadSuccess: _propTypes[\"default\"].func,\n pdf: _propTypes2.isPdf\n}, _propTypes2.eventProps);\n\nfunction Outline(props, ref) {\n return /*#__PURE__*/_react[\"default\"].createElement(_DocumentContext[\"default\"].Consumer, null, function (context) {\n return /*#__PURE__*/_react[\"default\"].createElement(OutlineInternal, (0, _extends2[\"default\"])({\n ref: ref\n }, context, props));\n });\n}\n\nvar _default = _react[\"default\"].forwardRef(Outline);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.OutlineItemInternal = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _DocumentContext = _interopRequireDefault(require(\"./DocumentContext\"));\n\nvar _OutlineContext = _interopRequireDefault(require(\"./OutlineContext\"));\n\nvar _Ref = _interopRequireDefault(require(\"./Ref\"));\n\nvar _utils = require(\"./shared/utils\");\n\nvar _propTypes2 = require(\"./shared/propTypes\");\n\nfunction _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar OutlineItemInternal = /*#__PURE__*/function (_PureComponent) {\n (0, _inherits2[\"default\"])(OutlineItemInternal, _PureComponent);\n\n var _super = _createSuper(OutlineItemInternal);\n\n function OutlineItemInternal() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, OutlineItemInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"getDestination\", /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var _this$props, item, pdf;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this$props = _this.props, item = _this$props.item, pdf = _this$props.pdf;\n\n if ((0, _utils.isDefined)(_this.destination)) {\n _context.next = 9;\n break;\n }\n\n if (!(typeof item.dest === 'string')) {\n _context.next = 8;\n break;\n }\n\n _context.next = 5;\n return pdf.getDestination(item.dest);\n\n case 5:\n _this.destination = _context.sent;\n _context.next = 9;\n break;\n\n case 8:\n _this.destination = item.dest;\n\n case 9:\n return _context.abrupt(\"return\", _this.destination);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"getPageIndex\", /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var pdf, destination, _destination, ref;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n pdf = _this.props.pdf;\n\n if ((0, _utils.isDefined)(_this.pageIndex)) {\n _context2.next = 10;\n break;\n }\n\n _context2.next = 4;\n return _this.getDestination();\n\n case 4:\n destination = _context2.sent;\n\n if (!destination) {\n _context2.next = 10;\n break;\n }\n\n _destination = (0, _slicedToArray2[\"default\"])(destination, 1), ref = _destination[0];\n _context2.next = 9;\n return pdf.getPageIndex(new _Ref[\"default\"](ref));\n\n case 9:\n _this.pageIndex = _context2.sent;\n\n case 10:\n return _context2.abrupt(\"return\", _this.pageIndex);\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n })));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"getPageNumber\", /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if ((0, _utils.isDefined)(_this.pageNumber)) {\n _context3.next = 5;\n break;\n }\n\n _context3.next = 3;\n return _this.getPageIndex();\n\n case 3:\n _context3.t0 = _context3.sent;\n _this.pageNumber = _context3.t0 + 1;\n\n case 5:\n return _context3.abrupt(\"return\", _this.pageNumber);\n\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n })));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onClick\", /*#__PURE__*/function () {\n var _ref4 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(event) {\n var onClick, pageIndex, pageNumber;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n onClick = _this.props.onClick;\n event.preventDefault();\n _context4.next = 4;\n return _this.getPageIndex();\n\n case 4:\n pageIndex = _context4.sent;\n _context4.next = 7;\n return _this.getPageNumber();\n\n case 7:\n pageNumber = _context4.sent;\n\n if (onClick) {\n onClick({\n pageIndex: pageIndex,\n pageNumber: pageNumber\n });\n }\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n return function (_x) {\n return _ref4.apply(this, arguments);\n };\n }());\n return _this;\n }\n\n (0, _createClass2[\"default\"])(OutlineItemInternal, [{\n key: \"renderSubitems\",\n value: function renderSubitems() {\n var _this$props2 = this.props,\n item = _this$props2.item,\n otherProps = (0, _objectWithoutProperties2[\"default\"])(_this$props2, [\"item\"]);\n\n if (!item.items || !item.items.length) {\n return null;\n }\n\n var subitems = item.items;\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", null, subitems.map(function (subitem, subitemIndex) {\n return /*#__PURE__*/_react[\"default\"].createElement(OutlineItemInternal, (0, _extends2[\"default\"])({\n key: typeof subitem.destination === 'string' ? subitem.destination : subitemIndex,\n item: subitem\n }, otherProps));\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var item = this.props.item;\n /* eslint-disable jsx-a11y/anchor-is-valid */\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"li\", null, /*#__PURE__*/_react[\"default\"].createElement(\"a\", {\n href: \"#\",\n onClick: this.onClick\n }, item.title), this.renderSubitems());\n }\n }]);\n return OutlineItemInternal;\n}(_react.PureComponent);\n\nexports.OutlineItemInternal = OutlineItemInternal;\n\nvar isDestination = _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].any)]);\n\nOutlineItemInternal.propTypes = {\n item: _propTypes[\"default\"].shape({\n dest: isDestination,\n items: _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].shape({\n dest: isDestination,\n title: _propTypes[\"default\"].string\n })),\n title: _propTypes[\"default\"].string\n }).isRequired,\n onClick: _propTypes[\"default\"].func,\n pdf: _propTypes2.isPdf.isRequired\n};\n\nvar OutlineItem = function OutlineItem(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(_DocumentContext[\"default\"].Consumer, null, function (documentContext) {\n return /*#__PURE__*/_react[\"default\"].createElement(_OutlineContext[\"default\"].Consumer, null, function (outlineContext) {\n return /*#__PURE__*/_react[\"default\"].createElement(OutlineItemInternal, (0, _extends2[\"default\"])({}, documentContext, outlineContext, props));\n });\n });\n};\n\nvar _default = OutlineItem;\nexports[\"default\"] = _default;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar Ref = /*#__PURE__*/function () {\n function Ref(_ref) {\n var num = _ref.num,\n gen = _ref.gen;\n (0, _classCallCheck2[\"default\"])(this, Ref);\n this.num = num;\n this.gen = gen;\n }\n\n (0, _createClass2[\"default\"])(Ref, [{\n key: \"toString\",\n value: function toString() {\n var str = \"\".concat(this.num, \"R\");\n\n if (this.gen !== 0) {\n str += this.gen;\n }\n\n return str;\n }\n }]);\n return Ref;\n}();\n\nexports[\"default\"] = Ref;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.PageInternal = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _makeCancellablePromise = _interopRequireDefault(require(\"make-cancellable-promise\"));\n\nvar _makeEventProps = _interopRequireDefault(require(\"make-event-props\"));\n\nvar _mergeClassNames = _interopRequireDefault(require(\"merge-class-names\"));\n\nvar _DocumentContext = _interopRequireDefault(require(\"./DocumentContext\"));\n\nvar _PageContext = _interopRequireDefault(require(\"./PageContext\"));\n\nvar _Message = _interopRequireDefault(require(\"./Message\"));\n\nvar _PageCanvas = _interopRequireDefault(require(\"./Page/PageCanvas\"));\n\nvar _PageSVG = _interopRequireDefault(require(\"./Page/PageSVG\"));\n\nvar _TextLayer = _interopRequireDefault(require(\"./Page/TextLayer\"));\n\nvar _AnnotationLayer = _interopRequireDefault(require(\"./Page/AnnotationLayer\"));\n\nvar _utils = require(\"./shared/utils\");\n\nvar _propTypes2 = require(\"./shared/propTypes\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar defaultScale = 1.0;\n\nvar PageInternal = /*#__PURE__*/function (_PureComponent) {\n (0, _inherits2[\"default\"])(PageInternal, _PureComponent);\n\n var _super = _createSuper(PageInternal);\n\n function PageInternal() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, PageInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"state\", {\n page: null\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onLoadSuccess\", function () {\n var _this$props = _this.props,\n onLoadSuccess = _this$props.onLoadSuccess,\n registerPage = _this$props.registerPage;\n var page = _this.state.page;\n if (onLoadSuccess) onLoadSuccess((0, _utils.makePageCallback)(page, _this.scale));\n if (registerPage) registerPage(_this.pageIndex, _this.ref);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onLoadError\", function (error) {\n (0, _utils.errorOnDev)(error);\n var onLoadError = _this.props.onLoadError;\n if (onLoadError) onLoadError(error);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"loadPage\", /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var pdf, pageNumber, cancellable, page;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n pdf = _this.props.pdf;\n pageNumber = _this.getPageNumber();\n\n if (pageNumber) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 4:\n _this.setState(function (prevState) {\n if (!prevState.page) {\n return null;\n }\n\n return {\n page: null\n };\n });\n\n _context.prev = 5;\n cancellable = (0, _makeCancellablePromise[\"default\"])(pdf.getPage(pageNumber));\n _this.runningTask = cancellable;\n _context.next = 10;\n return cancellable.promise;\n\n case 10:\n page = _context.sent;\n\n _this.setState({\n page: page\n }, _this.onLoadSuccess);\n\n _context.next = 18;\n break;\n\n case 14:\n _context.prev = 14;\n _context.t0 = _context[\"catch\"](5);\n\n _this.setState({\n page: false\n });\n\n _this.onLoadError(_context.t0);\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 14]]);\n })));\n return _this;\n }\n\n (0, _createClass2[\"default\"])(PageInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var pdf = this.props.pdf;\n\n if (!pdf) {\n throw new Error('Attempted to load a page, but no document was specified.');\n }\n\n this.loadPage();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var pdf = this.props.pdf;\n\n if (prevProps.pdf && pdf !== prevProps.pdf || this.getPageNumber() !== this.getPageNumber(prevProps)) {\n var unregisterPage = this.props.unregisterPage;\n if (unregisterPage) unregisterPage(this.getPageIndex(prevProps));\n this.loadPage();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var unregisterPage = this.props.unregisterPage;\n if (unregisterPage) unregisterPage(this.pageIndex);\n (0, _utils.cancelRunningTask)(this.runningTask);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n\n if ((0, _utils.isProvided)(props.pageNumber)) {\n return props.pageNumber - 1;\n }\n\n if ((0, _utils.isProvided)(props.pageIndex)) {\n return props.pageIndex;\n }\n\n return null;\n }\n }, {\n key: \"getPageNumber\",\n value: function getPageNumber() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n\n if ((0, _utils.isProvided)(props.pageNumber)) {\n return props.pageNumber;\n }\n\n if ((0, _utils.isProvided)(props.pageIndex)) {\n return props.pageIndex + 1;\n }\n\n return null;\n }\n }, {\n key: \"renderMainLayer\",\n value: function renderMainLayer() {\n var renderMode = this.props.renderMode;\n\n switch (renderMode) {\n case 'none':\n return null;\n\n case 'svg':\n return /*#__PURE__*/_react[\"default\"].createElement(_PageSVG[\"default\"], {\n key: \"\".concat(this.pageKeyNoScale, \"_svg\")\n });\n\n case 'canvas':\n default:\n return /*#__PURE__*/_react[\"default\"].createElement(_PageCanvas[\"default\"], {\n key: \"\".concat(this.pageKey, \"_canvas\")\n });\n }\n }\n }, {\n key: \"renderTextLayer\",\n value: function renderTextLayer() {\n var renderTextLayer = this.props.renderTextLayer;\n\n if (!renderTextLayer) {\n return null;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(_TextLayer[\"default\"], {\n key: \"\".concat(this.pageKey, \"_text\")\n });\n }\n }, {\n key: \"renderAnnotationLayer\",\n value: function renderAnnotationLayer() {\n var renderAnnotationLayer = this.props.renderAnnotationLayer;\n\n if (!renderAnnotationLayer) {\n return null;\n }\n /**\n * As of now, PDF.js 2.0.943 returns warnings on unimplemented annotations in SVG mode.\n * Therefore, as a fallback, we render \"traditional\" AnnotationLayer component.\n */\n\n\n return /*#__PURE__*/_react[\"default\"].createElement(_AnnotationLayer[\"default\"], {\n key: \"\".concat(this.pageKey, \"_annotations\")\n });\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var children = this.props.children;\n return /*#__PURE__*/_react[\"default\"].createElement(_PageContext[\"default\"].Provider, {\n value: this.childContext\n }, this.renderMainLayer(), this.renderTextLayer(), this.renderAnnotationLayer(), children);\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var pageNumber = this.pageNumber;\n var pdf = this.props.pdf;\n var page = this.state.page;\n\n if (!pageNumber) {\n var noData = this.props.noData;\n return /*#__PURE__*/_react[\"default\"].createElement(_Message[\"default\"], {\n type: \"no-data\"\n }, typeof noData === 'function' ? noData() : noData);\n }\n\n if (pdf === null || page === null) {\n var loading = this.props.loading;\n return /*#__PURE__*/_react[\"default\"].createElement(_Message[\"default\"], {\n type: \"loading\"\n }, typeof loading === 'function' ? loading() : loading);\n }\n\n if (pdf === false || page === false) {\n var error = this.props.error;\n return /*#__PURE__*/_react[\"default\"].createElement(_Message[\"default\"], {\n type: \"error\"\n }, typeof error === 'function' ? error() : error);\n }\n\n return this.renderChildren();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var pageNumber = this.pageNumber;\n var className = this.props.className;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", (0, _extends2[\"default\"])({\n className: (0, _mergeClassNames[\"default\"])('react-pdf__Page', className),\n \"data-page-number\": pageNumber,\n ref: function ref(_ref2) {\n var inputRef = _this2.props.inputRef;\n\n if (inputRef) {\n inputRef(_ref2);\n }\n\n _this2.ref = _ref2;\n },\n style: {\n position: 'relative'\n }\n }, this.eventProps), this.renderContent());\n }\n }, {\n key: \"childContext\",\n get: function get() {\n var page = this.state.page;\n\n if (!page) {\n return {};\n }\n\n var _this$props2 = this.props,\n customTextRenderer = _this$props2.customTextRenderer,\n onGetAnnotationsError = _this$props2.onGetAnnotationsError,\n onGetAnnotationsSuccess = _this$props2.onGetAnnotationsSuccess,\n onGetTextError = _this$props2.onGetTextError,\n onGetTextSuccess = _this$props2.onGetTextSuccess,\n onRenderAnnotationLayerError = _this$props2.onRenderAnnotationLayerError,\n onRenderAnnotationLayerSuccess = _this$props2.onRenderAnnotationLayerSuccess,\n onRenderError = _this$props2.onRenderError,\n onRenderSuccess = _this$props2.onRenderSuccess,\n renderInteractiveForms = _this$props2.renderInteractiveForms;\n return {\n customTextRenderer: customTextRenderer,\n onGetAnnotationsError: onGetAnnotationsError,\n onGetAnnotationsSuccess: onGetAnnotationsSuccess,\n onGetTextError: onGetTextError,\n onGetTextSuccess: onGetTextSuccess,\n onRenderAnnotationLayerError: onRenderAnnotationLayerError,\n onRenderAnnotationLayerSuccess: onRenderAnnotationLayerSuccess,\n onRenderError: onRenderError,\n onRenderSuccess: onRenderSuccess,\n page: page,\n renderInteractiveForms: renderInteractiveForms,\n rotate: this.rotate,\n scale: this.scale\n };\n }\n /**\n * Called when a page is loaded successfully\n */\n\n }, {\n key: \"pageIndex\",\n get: function get() {\n return this.getPageIndex();\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this.getPageNumber();\n }\n }, {\n key: \"rotate\",\n get: function get() {\n var rotate = this.props.rotate;\n\n if ((0, _utils.isProvided)(rotate)) {\n return rotate;\n }\n\n var page = this.state.page;\n\n if (!page) {\n return null;\n }\n\n return page.rotate;\n }\n }, {\n key: \"scale\",\n get: function get() {\n var page = this.state.page;\n\n if (!page) {\n return null;\n }\n\n var _this$props3 = this.props,\n scale = _this$props3.scale,\n width = _this$props3.width,\n height = _this$props3.height;\n var rotate = this.rotate; // Be default, we'll render page at 100% * scale width.\n\n var pageScale = 1; // Passing scale explicitly null would cause the page not to render\n\n var scaleWithDefault = scale === null ? defaultScale : scale; // If width/height is defined, calculate the scale of the page so it could be of desired width.\n\n if (width || height) {\n var viewport = page.getViewport({\n scale: 1,\n rotation: rotate\n });\n pageScale = width ? width / viewport.width : height / viewport.height;\n }\n\n return scaleWithDefault * pageScale;\n }\n }, {\n key: \"eventProps\",\n get: function get() {\n var _this3 = this;\n\n return (0, _makeEventProps[\"default\"])(this.props, function () {\n var page = _this3.state.page;\n\n if (!page) {\n return page;\n }\n\n return (0, _utils.makePageCallback)(page, _this3.scale);\n });\n }\n }, {\n key: \"pageKey\",\n get: function get() {\n var page = this.state.page;\n return \"\".concat(page.pageIndex, \"@\").concat(this.scale, \"/\").concat(this.rotate);\n }\n }, {\n key: \"pageKeyNoScale\",\n get: function get() {\n var page = this.state.page;\n return \"\".concat(page.pageIndex, \"/\").concat(this.rotate);\n }\n }]);\n return PageInternal;\n}(_react.PureComponent);\n\nexports.PageInternal = PageInternal;\nPageInternal.defaultProps = {\n error: 'Failed to load the page.',\n loading: 'Loading pageā€¦',\n noData: 'No page specified.',\n renderAnnotationLayer: true,\n renderInteractiveForms: false,\n renderMode: 'canvas',\n renderTextLayer: true,\n scale: defaultScale\n};\n\nvar isFunctionOrNode = _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].node]);\n\nPageInternal.propTypes = _objectSpread({}, _propTypes2.eventProps, {\n children: _propTypes[\"default\"].node,\n className: _propTypes2.isClassName,\n customTextRenderer: _propTypes[\"default\"].func,\n error: isFunctionOrNode,\n height: _propTypes[\"default\"].number,\n inputRef: _propTypes[\"default\"].func,\n loading: isFunctionOrNode,\n noData: isFunctionOrNode,\n onGetTextError: _propTypes[\"default\"].func,\n onGetTextSuccess: _propTypes[\"default\"].func,\n onLoadError: _propTypes[\"default\"].func,\n onLoadSuccess: _propTypes[\"default\"].func,\n onRenderError: _propTypes[\"default\"].func,\n onRenderSuccess: _propTypes[\"default\"].func,\n pageIndex: _propTypes2.isPageIndex,\n pageNumber: _propTypes2.isPageNumber,\n pdf: _propTypes2.isPdf,\n registerPage: _propTypes[\"default\"].func,\n renderAnnotationLayer: _propTypes[\"default\"].bool,\n renderInteractiveForms: _propTypes[\"default\"].bool,\n renderMode: _propTypes2.isRenderMode,\n renderTextLayer: _propTypes[\"default\"].bool,\n rotate: _propTypes2.isRotate,\n scale: _propTypes[\"default\"].number,\n unregisterPage: _propTypes[\"default\"].func,\n width: _propTypes[\"default\"].number\n}); // forwardRef render functions do not support propTypes\n\n/* eslint-disable react/prop-types */\n\nfunction Page(props, ref) {\n return /*#__PURE__*/_react[\"default\"].createElement(_DocumentContext[\"default\"].Consumer, null, function (context) {\n return /*#__PURE__*/_react[\"default\"].createElement(PageInternal, (0, _extends2[\"default\"])({\n ref: ref\n }, context, props, {\n // For backwards compatibility\n renderAnnotationLayer: typeof props.renderAnnotationLayer !== 'undefined' ? props.renderAnnotationLayer : props.renderAnnotations\n }));\n });\n}\n\nvar _default = _react[\"default\"].forwardRef(Page);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = PageCanvas;\nexports.PageCanvasInternal = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _PageContext = _interopRequireDefault(require(\"../PageContext\"));\n\nvar _utils = require(\"../shared/utils\");\n\nvar _propTypes2 = require(\"../shared/propTypes\");\n\nfunction _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar PageCanvasInternal = /*#__PURE__*/function (_PureComponent) {\n (0, _inherits2[\"default\"])(PageCanvasInternal, _PureComponent);\n\n var _super = _createSuper(PageCanvasInternal);\n\n function PageCanvasInternal() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, PageCanvasInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onRenderSuccess\", function () {\n _this.renderer = null;\n var _this$props = _this.props,\n onRenderSuccess = _this$props.onRenderSuccess,\n page = _this$props.page,\n scale = _this$props.scale;\n if (onRenderSuccess) onRenderSuccess((0, _utils.makePageCallback)(page, scale));\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onRenderError\", function (error) {\n if ((0, _utils.isCancelException)(error)) {\n return;\n }\n\n (0, _utils.errorOnDev)(error);\n var onRenderError = _this.props.onRenderError;\n if (onRenderError) onRenderError(error);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"drawPageOnCanvas\", function () {\n var _assertThisInitialize = (0, _assertThisInitialized2[\"default\"])(_this),\n canvas = _assertThisInitialize.canvasLayer;\n\n if (!canvas) {\n return null;\n }\n\n var _assertThisInitialize2 = (0, _assertThisInitialized2[\"default\"])(_this),\n renderViewport = _assertThisInitialize2.renderViewport,\n viewport = _assertThisInitialize2.viewport;\n\n var _this$props2 = _this.props,\n page = _this$props2.page,\n renderInteractiveForms = _this$props2.renderInteractiveForms;\n canvas.width = renderViewport.width;\n canvas.height = renderViewport.height;\n canvas.style.width = \"\".concat(Math.floor(viewport.width), \"px\");\n canvas.style.height = \"\".concat(Math.floor(viewport.height), \"px\");\n var renderContext = {\n get canvasContext() {\n return canvas.getContext('2d');\n },\n\n viewport: renderViewport,\n renderInteractiveForms: renderInteractiveForms\n }; // If another render is in progress, let's cancel it\n\n _this.cancelRenderingTask();\n\n _this.renderer = page.render(renderContext);\n return _this.renderer.promise.then(_this.onRenderSuccess)[\"catch\"](_this.onRenderError);\n });\n return _this;\n }\n\n (0, _createClass2[\"default\"])(PageCanvasInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.drawPageOnCanvas();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n page = _this$props3.page,\n renderInteractiveForms = _this$props3.renderInteractiveForms;\n\n if (renderInteractiveForms !== prevProps.renderInteractiveForms) {\n // Ensures the canvas will be re-rendered from scratch. Otherwise all form data will stay.\n page.cleanup();\n this.drawPageOnCanvas();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelRenderingTask();\n /**\n * Zeroing the width and height cause most browsers to release graphics\n * resources immediately, which can greatly reduce memory consumption.\n */\n\n if (this.canvasLayer) {\n this.canvasLayer.width = 0;\n this.canvasLayer.height = 0;\n this.canvasLayer = null;\n }\n }\n }, {\n key: \"cancelRenderingTask\",\n value: function cancelRenderingTask() {\n /* eslint-disable no-underscore-dangle */\n if (this.renderer && this.renderer._internalRenderTask.running) {\n this.renderer._internalRenderTask.cancel();\n }\n /* eslint-enable no-underscore-dangle */\n\n }\n /**\n * Called when a page is rendered successfully.\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"canvas\", {\n className: \"react-pdf__Page__canvas\",\n dir: \"ltr\",\n ref: function ref(_ref) {\n _this2.canvasLayer = _ref;\n },\n style: {\n display: 'block',\n userSelect: 'none'\n }\n });\n }\n }, {\n key: \"renderViewport\",\n get: function get() {\n var _this$props4 = this.props,\n page = _this$props4.page,\n rotate = _this$props4.rotate,\n scale = _this$props4.scale;\n var pixelRatio = (0, _utils.getPixelRatio)();\n return page.getViewport({\n scale: scale * pixelRatio,\n rotation: rotate\n });\n }\n }, {\n key: \"viewport\",\n get: function get() {\n var _this$props5 = this.props,\n page = _this$props5.page,\n rotate = _this$props5.rotate,\n scale = _this$props5.scale;\n return page.getViewport({\n scale: scale,\n rotation: rotate\n });\n }\n }]);\n return PageCanvasInternal;\n}(_react.PureComponent);\n\nexports.PageCanvasInternal = PageCanvasInternal;\nPageCanvasInternal.propTypes = {\n onRenderError: _propTypes[\"default\"].func,\n onRenderSuccess: _propTypes[\"default\"].func,\n page: _propTypes2.isPage.isRequired,\n renderInteractiveForms: _propTypes[\"default\"].bool,\n rotate: _propTypes2.isRotate,\n scale: _propTypes[\"default\"].number\n};\n\nfunction PageCanvas(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(_PageContext[\"default\"].Consumer, null, function (context) {\n return /*#__PURE__*/_react[\"default\"].createElement(PageCanvasInternal, (0, _extends2[\"default\"])({}, context, props));\n });\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = PageSVG;\nexports.PageSVGInternal = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _pdfjsDist = _interopRequireDefault(require(\"pdfjs-dist\"));\n\nvar _PageContext = _interopRequireDefault(require(\"../PageContext\"));\n\nvar _utils = require(\"../shared/utils\");\n\nvar _propTypes2 = require(\"../shared/propTypes\");\n\nfunction _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar PageSVGInternal = /*#__PURE__*/function (_PureComponent) {\n (0, _inherits2[\"default\"])(PageSVGInternal, _PureComponent);\n\n var _super = _createSuper(PageSVGInternal);\n\n function PageSVGInternal() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, PageSVGInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"state\", {\n svg: null\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onRenderSuccess\", function () {\n _this.renderer = null;\n var _this$props = _this.props,\n onRenderSuccess = _this$props.onRenderSuccess,\n page = _this$props.page,\n scale = _this$props.scale;\n if (onRenderSuccess) onRenderSuccess((0, _utils.makePageCallback)(page, scale));\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onRenderError\", function (error) {\n if ((0, _utils.isCancelException)(error)) {\n return;\n }\n\n (0, _utils.errorOnDev)(error);\n var onRenderError = _this.props.onRenderError;\n if (onRenderError) onRenderError(error);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"renderSVG\", function () {\n var page = _this.props.page;\n _this.renderer = page.getOperatorList();\n return _this.renderer.then(function (operatorList) {\n var svgGfx = new _pdfjsDist[\"default\"].SVGGraphics(page.commonObjs, page.objs);\n _this.renderer = svgGfx.getSVG(operatorList, _this.viewport).then(function (svg) {\n _this.setState({\n svg: svg\n }, _this.onRenderSuccess);\n })[\"catch\"](_this.onRenderError);\n })[\"catch\"](_this.onRenderError);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"drawPageOnContainer\", function (element) {\n var svg = _this.state.svg;\n\n if (!element || !svg) {\n return;\n } // Append SVG element to the main container, if this hasn't been done already\n\n\n if (!element.firstElementChild) {\n element.appendChild(svg);\n }\n\n var _this$viewport = _this.viewport,\n width = _this$viewport.width,\n height = _this$viewport.height;\n svg.setAttribute('width', width);\n svg.setAttribute('height', height);\n });\n return _this;\n }\n\n (0, _createClass2[\"default\"])(PageSVGInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.renderSVG();\n }\n /**\n * Called when a page is rendered successfully.\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$viewport2 = this.viewport,\n width = _this$viewport2.width,\n height = _this$viewport2.height;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"react-pdf__Page__svg\" // Note: This cannot be shortened, as we need this function to be called with each render.\n ,\n ref: function ref(_ref) {\n return _this2.drawPageOnContainer(_ref);\n },\n style: {\n display: 'block',\n backgroundColor: 'white',\n overflow: 'hidden',\n width: width,\n height: height,\n userSelect: 'none'\n }\n });\n }\n }, {\n key: \"viewport\",\n get: function get() {\n var _this$props2 = this.props,\n page = _this$props2.page,\n rotate = _this$props2.rotate,\n scale = _this$props2.scale;\n return page.getViewport({\n scale: scale,\n rotation: rotate\n });\n }\n }]);\n return PageSVGInternal;\n}(_react.PureComponent);\n\nexports.PageSVGInternal = PageSVGInternal;\nPageSVGInternal.propTypes = {\n onRenderError: _propTypes[\"default\"].func,\n onRenderSuccess: _propTypes[\"default\"].func,\n page: _propTypes2.isPage.isRequired,\n rotate: _propTypes2.isRotate,\n scale: _propTypes[\"default\"].number\n};\n\nfunction PageSVG(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(_PageContext[\"default\"].Consumer, null, function (context) {\n return /*#__PURE__*/_react[\"default\"].createElement(PageSVGInternal, (0, _extends2[\"default\"])({}, context, props));\n });\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = TextLayer;\nexports.TextLayerInternal = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _makeCancellablePromise = _interopRequireDefault(require(\"make-cancellable-promise\"));\n\nvar _PageContext = _interopRequireDefault(require(\"../PageContext\"));\n\nvar _TextLayerItem = _interopRequireDefault(require(\"./TextLayerItem\"));\n\nvar _utils = require(\"../shared/utils\");\n\nvar _propTypes2 = require(\"../shared/propTypes\");\n\nfunction _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar TextLayerInternal = /*#__PURE__*/function (_PureComponent) {\n (0, _inherits2[\"default\"])(TextLayerInternal, _PureComponent);\n\n var _super = _createSuper(TextLayerInternal);\n\n function TextLayerInternal() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, TextLayerInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"state\", {\n textItems: null\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"loadTextItems\", /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var page, cancellable, _yield$cancellable$pr, textItems;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n page = _this.props.page;\n _context.prev = 1;\n cancellable = (0, _makeCancellablePromise[\"default\"])(page.getTextContent());\n _this.runningTask = cancellable;\n _context.next = 6;\n return cancellable.promise;\n\n case 6:\n _yield$cancellable$pr = _context.sent;\n textItems = _yield$cancellable$pr.items;\n\n _this.setState({\n textItems: textItems\n }, _this.onLoadSuccess);\n\n _context.next = 14;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](1);\n\n _this.onLoadError(_context.t0);\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 11]]);\n })));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onLoadSuccess\", function () {\n var onGetTextSuccess = _this.props.onGetTextSuccess;\n var textItems = _this.state.textItems;\n if (onGetTextSuccess) onGetTextSuccess(textItems);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onLoadError\", function (error) {\n _this.setState({\n textItems: false\n });\n\n (0, _utils.errorOnDev)(error);\n var onGetTextError = _this.props.onGetTextError;\n if (onGetTextError) onGetTextError(error);\n });\n return _this;\n }\n\n (0, _createClass2[\"default\"])(TextLayerInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var page = this.props.page;\n\n if (!page) {\n throw new Error('Attempted to load page text content, but no page was specified.');\n }\n\n this.loadTextItems();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var page = this.props.page;\n\n if (prevProps.page && page !== prevProps.page) {\n this.loadTextItems();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n (0, _utils.cancelRunningTask)(this.runningTask);\n }\n }, {\n key: \"renderTextItems\",\n value: function renderTextItems() {\n var textItems = this.state.textItems;\n\n if (!textItems) {\n return null;\n }\n\n return textItems.map(function (textItem, itemIndex) {\n return /*#__PURE__*/_react[\"default\"].createElement(_TextLayerItem[\"default\"] // eslint-disable-next-line react/no-array-index-key\n , (0, _extends2[\"default\"])({\n key: itemIndex,\n itemIndex: itemIndex\n }, textItem));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var viewport = this.unrotatedViewport,\n rotate = this.rotate;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"react-pdf__Page__textContent\",\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: \"\".concat(viewport.width, \"px\"),\n height: \"\".concat(viewport.height, \"px\"),\n color: 'transparent',\n transform: \"translate(-50%, -50%) rotate(\".concat(rotate, \"deg)\"),\n WebkitTransform: \"translate(-50%, -50%) rotate(\".concat(rotate, \"deg)\"),\n pointerEvents: 'none'\n }\n }, this.renderTextItems());\n }\n }, {\n key: \"unrotatedViewport\",\n get: function get() {\n var _this$props = this.props,\n page = _this$props.page,\n scale = _this$props.scale;\n return page.getViewport({\n scale: scale\n });\n }\n /**\n * It might happen that the page is rotated by default. In such cases, we shouldn't rotate\n * text content.\n */\n\n }, {\n key: \"rotate\",\n get: function get() {\n var _this$props2 = this.props,\n page = _this$props2.page,\n rotate = _this$props2.rotate;\n return rotate - page.rotate;\n }\n }]);\n return TextLayerInternal;\n}(_react.PureComponent);\n\nexports.TextLayerInternal = TextLayerInternal;\nTextLayerInternal.propTypes = {\n onGetTextError: _propTypes[\"default\"].func,\n onGetTextSuccess: _propTypes[\"default\"].func,\n page: _propTypes2.isPage.isRequired,\n rotate: _propTypes2.isRotate,\n scale: _propTypes[\"default\"].number\n};\n\nfunction TextLayer(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(_PageContext[\"default\"].Consumer, null, function (context) {\n return /*#__PURE__*/_react[\"default\"].createElement(TextLayerInternal, (0, _extends2[\"default\"])({}, context, props));\n });\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = TextLayerItem;\nexports.TextLayerItemInternal = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _PageContext = _interopRequireDefault(require(\"../PageContext\"));\n\nvar _propTypes2 = require(\"../shared/propTypes\");\n\nfunction _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar TextLayerItemInternal = /*#__PURE__*/function (_PureComponent) {\n (0, _inherits2[\"default\"])(TextLayerItemInternal, _PureComponent);\n\n var _super = _createSuper(TextLayerItemInternal);\n\n function TextLayerItemInternal() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, TextLayerItemInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"getElementWidth\", function (element) {\n var _assertThisInitialize = (0, _assertThisInitialized2[\"default\"])(_this),\n sideways = _assertThisInitialize.sideways;\n\n return element.getBoundingClientRect()[sideways ? 'height' : 'width'];\n });\n return _this;\n }\n\n (0, _createClass2[\"default\"])(TextLayerItemInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.alignTextItem();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.alignTextItem();\n }\n }, {\n key: \"getFontData\",\n value: function () {\n var _getFontData = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(fontName) {\n var page, font;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n page = this.props.page;\n _context.next = 3;\n return new Promise(function (resolve) {\n page.commonObjs.get(fontName, resolve);\n });\n\n case 3:\n font = _context.sent;\n return _context.abrupt(\"return\", font);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getFontData(_x) {\n return _getFontData.apply(this, arguments);\n }\n\n return getFontData;\n }()\n }, {\n key: \"alignTextItem\",\n value: function () {\n var _alignTextItem = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n var element, _this$props, fontName, scale, width, fontData, fallbackFontName, targetWidth, actualWidth, transform, ascent;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n element = this.item;\n\n if (element) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 3:\n element.style.transform = '';\n _this$props = this.props, fontName = _this$props.fontName, scale = _this$props.scale, width = _this$props.width;\n element.style.fontFamily = \"\".concat(fontName, \", sans-serif\");\n _context2.next = 8;\n return this.getFontData(fontName);\n\n case 8:\n fontData = _context2.sent;\n fallbackFontName = fontData ? fontData.fallbackName : 'sans-serif';\n element.style.fontFamily = \"\".concat(fontName, \", \").concat(fallbackFontName);\n targetWidth = width * scale;\n actualWidth = this.getElementWidth(element);\n transform = \"scaleX(\".concat(targetWidth / actualWidth, \")\");\n ascent = fontData ? fontData.ascent : 0;\n\n if (ascent) {\n transform += \" translateY(\".concat((1 - ascent) * 100, \"%)\");\n }\n\n element.style.transform = transform;\n element.style.WebkitTransform = transform;\n\n case 18:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function alignTextItem() {\n return _alignTextItem.apply(this, arguments);\n }\n\n return alignTextItem;\n }()\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var fontSize = this.fontSize,\n top = this.top,\n left = this.left;\n var _this$props2 = this.props,\n customTextRenderer = _this$props2.customTextRenderer,\n scale = _this$props2.scale,\n text = _this$props2.str;\n return /*#__PURE__*/_react[\"default\"].createElement(\"span\", {\n ref: function ref(_ref) {\n _this2.item = _ref;\n },\n style: {\n height: '1em',\n fontFamily: 'sans-serif',\n fontSize: \"\".concat(fontSize * scale, \"px\"),\n position: 'absolute',\n top: \"\".concat(top * scale, \"px\"),\n left: \"\".concat(left * scale, \"px\"),\n transformOrigin: 'left bottom',\n whiteSpace: 'pre',\n pointerEvents: 'all'\n }\n }, customTextRenderer ? customTextRenderer(this.props) : text);\n }\n }, {\n key: \"unrotatedViewport\",\n get: function get() {\n var _this$props3 = this.props,\n page = _this$props3.page,\n scale = _this$props3.scale;\n return page.getViewport({\n scale: scale\n });\n }\n /**\n * It might happen that the page is rotated by default. In such cases, we shouldn't rotate\n * text content.\n */\n\n }, {\n key: \"rotate\",\n get: function get() {\n var _this$props4 = this.props,\n page = _this$props4.page,\n rotate = _this$props4.rotate;\n return rotate - page.rotate;\n }\n }, {\n key: \"sideways\",\n get: function get() {\n var rotate = this.rotate;\n return rotate % 180 !== 0;\n }\n }, {\n key: \"defaultSideways\",\n get: function get() {\n var rotation = this.unrotatedViewport.rotation;\n return rotation % 180 !== 0;\n }\n }, {\n key: \"fontSize\",\n get: function get() {\n var transform = this.props.transform;\n var defaultSideways = this.defaultSideways;\n\n var _transform = (0, _slicedToArray2[\"default\"])(transform, 2),\n fontHeightPx = _transform[0],\n fontWidthPx = _transform[1];\n\n return defaultSideways ? fontWidthPx : fontHeightPx;\n }\n }, {\n key: \"top\",\n get: function get() {\n var transform = this.props.transform;\n var viewport = this.unrotatedViewport,\n defaultSideways = this.defaultSideways;\n\n var _transform2 = (0, _slicedToArray2[\"default\"])(transform, 6),\n\n /* fontHeightPx */\n\n /* fontWidthPx */\n offsetX = _transform2[2],\n offsetY = _transform2[3],\n x = _transform2[4],\n y = _transform2[5];\n\n var _viewport$viewBox = (0, _slicedToArray2[\"default\"])(viewport.viewBox, 4),\n\n /* xMin */\n yMin = _viewport$viewBox[1],\n\n /* xMax */\n yMax = _viewport$viewBox[3];\n\n return defaultSideways ? x + offsetX + yMin : yMax - (y + offsetY);\n }\n }, {\n key: \"left\",\n get: function get() {\n var transform = this.props.transform;\n var viewport = this.unrotatedViewport,\n defaultSideways = this.defaultSideways;\n\n var _transform3 = (0, _slicedToArray2[\"default\"])(transform, 6),\n\n /* fontHeightPx */\n\n /* fontWidthPx */\n\n /* offsetX */\n\n /* offsetY */\n x = _transform3[4],\n y = _transform3[5];\n\n var _viewport$viewBox2 = (0, _slicedToArray2[\"default\"])(viewport.viewBox, 1),\n xMin = _viewport$viewBox2[0];\n\n return defaultSideways ? y - xMin : x - xMin;\n }\n }]);\n return TextLayerItemInternal;\n}(_react.PureComponent);\n\nexports.TextLayerItemInternal = TextLayerItemInternal;\nTextLayerItemInternal.propTypes = {\n customTextRenderer: _propTypes[\"default\"].func,\n fontName: _propTypes[\"default\"].string.isRequired,\n itemIndex: _propTypes[\"default\"].number.isRequired,\n // eslint-disable-line react/no-unused-prop-types\n page: _propTypes2.isPage.isRequired,\n rotate: _propTypes2.isRotate,\n scale: _propTypes[\"default\"].number,\n str: _propTypes[\"default\"].string.isRequired,\n transform: _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].number).isRequired,\n width: _propTypes[\"default\"].number.isRequired\n};\n\nfunction TextLayerItem(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(_PageContext[\"default\"].Consumer, null, function (context) {\n return /*#__PURE__*/_react[\"default\"].createElement(TextLayerItemInternal, (0, _extends2[\"default\"])({}, context, props));\n });\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.AnnotationLayerInternal = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _pdfjsDist = _interopRequireDefault(require(\"pdfjs-dist\"));\n\nvar _makeCancellablePromise = _interopRequireDefault(require(\"make-cancellable-promise\"));\n\nvar _DocumentContext = _interopRequireDefault(require(\"../DocumentContext\"));\n\nvar _PageContext = _interopRequireDefault(require(\"../PageContext\"));\n\nvar _utils = require(\"../shared/utils\");\n\nvar _propTypes2 = require(\"../shared/propTypes\");\n\nfunction _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar AnnotationLayerInternal = /*#__PURE__*/function (_PureComponent) {\n (0, _inherits2[\"default\"])(AnnotationLayerInternal, _PureComponent);\n\n var _super = _createSuper(AnnotationLayerInternal);\n\n function AnnotationLayerInternal() {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, AnnotationLayerInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"state\", {\n annotations: null\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"loadAnnotations\", /*#__PURE__*/(0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n var page, cancellable, annotations;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n page = _this.props.page;\n _context.prev = 1;\n cancellable = (0, _makeCancellablePromise[\"default\"])(page.getAnnotations());\n _this.runningTask = cancellable;\n _context.next = 6;\n return cancellable.promise;\n\n case 6:\n annotations = _context.sent;\n\n _this.setState({\n annotations: annotations\n }, _this.onLoadSuccess);\n\n _context.next = 13;\n break;\n\n case 10:\n _context.prev = 10;\n _context.t0 = _context[\"catch\"](1);\n\n _this.onLoadError(_context.t0);\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 10]]);\n })));\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onLoadSuccess\", function () {\n var onGetAnnotationsSuccess = _this.props.onGetAnnotationsSuccess;\n var annotations = _this.state.annotations;\n if (onGetAnnotationsSuccess) onGetAnnotationsSuccess(annotations);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onLoadError\", function (error) {\n _this.setState({\n annotations: false\n });\n\n (0, _utils.errorOnDev)(error);\n var onGetAnnotationsError = _this.props.onGetAnnotationsError;\n if (onGetAnnotationsError) onGetAnnotationsError(error);\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onRenderSuccess\", function () {\n var onRenderAnnotationLayerSuccess = _this.props.onRenderAnnotationLayerSuccess;\n if (onRenderAnnotationLayerSuccess) onRenderAnnotationLayerSuccess();\n });\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"onRenderError\", function (error) {\n (0, _utils.errorOnDev)(error);\n var onRenderAnnotationLayerError = _this.props.onRenderAnnotationLayerError;\n if (onRenderAnnotationLayerError) onRenderAnnotationLayerError(error);\n });\n return _this;\n }\n\n (0, _createClass2[\"default\"])(AnnotationLayerInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var page = this.props.page;\n\n if (!page) {\n throw new Error('Attempted to load page annotations, but no page was specified.');\n }\n\n this.loadAnnotations();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n page = _this$props.page,\n renderInteractiveForms = _this$props.renderInteractiveForms;\n\n if (prevProps.page && page !== prevProps.page || renderInteractiveForms !== prevProps.renderInteractiveForms) {\n this.loadAnnotations();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n (0, _utils.cancelRunningTask)(this.runningTask);\n }\n }, {\n key: \"renderAnnotationLayer\",\n value: function renderAnnotationLayer() {\n var annotations = this.state.annotations;\n\n if (!annotations) {\n return;\n }\n\n var _this$props2 = this.props,\n linkService = _this$props2.linkService,\n page = _this$props2.page,\n renderInteractiveForms = _this$props2.renderInteractiveForms;\n var viewport = this.viewport.clone({\n dontFlip: true\n });\n var parameters = {\n annotations: annotations,\n div: this.annotationLayer,\n linkService: linkService,\n page: page,\n renderInteractiveForms: renderInteractiveForms,\n viewport: viewport\n };\n this.annotationLayer.innerHTML = '';\n\n try {\n _pdfjsDist[\"default\"].AnnotationLayer.render(parameters);\n\n this.onRenderSuccess();\n } catch (error) {\n this.onRenderError(error);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: \"react-pdf__Page__annotations annotationLayer\",\n ref: function ref(_ref2) {\n _this2.annotationLayer = _ref2;\n }\n }, this.renderAnnotationLayer());\n }\n }, {\n key: \"viewport\",\n get: function get() {\n var _this$props3 = this.props,\n page = _this$props3.page,\n rotate = _this$props3.rotate,\n scale = _this$props3.scale;\n return page.getViewport({\n scale: scale,\n rotation: rotate\n });\n }\n }]);\n return AnnotationLayerInternal;\n}(_react.PureComponent);\n\nexports.AnnotationLayerInternal = AnnotationLayerInternal;\nAnnotationLayerInternal.propTypes = {\n linkService: _propTypes2.isLinkService.isRequired,\n onGetAnnotationsError: _propTypes[\"default\"].func,\n onGetAnnotationsSuccess: _propTypes[\"default\"].func,\n onRenderAnnotationLayerError: _propTypes[\"default\"].func,\n onRenderAnnotationLayerSuccess: _propTypes[\"default\"].func,\n page: _propTypes2.isPage,\n renderInteractiveForms: _propTypes[\"default\"].bool,\n rotate: _propTypes2.isRotate,\n scale: _propTypes[\"default\"].number\n};\n\nvar AnnotationLayer = function AnnotationLayer(props) {\n return /*#__PURE__*/_react[\"default\"].createElement(_DocumentContext[\"default\"].Consumer, null, function (documentContext) {\n return /*#__PURE__*/_react[\"default\"].createElement(_PageContext[\"default\"].Consumer, null, function (pageContext) {\n return /*#__PURE__*/_react[\"default\"].createElement(AnnotationLayerInternal, (0, _extends2[\"default\"])({}, documentContext, pageContext, props));\n });\n });\n};\n\nvar _default = AnnotationLayer;\nexports[\"default\"] = _default;"],"sourceRoot":""}