{"version":3,"sources":["webpack:///./node_modules/pdfjs-dist/build/pdf.worker.js"],"names":["root","factory","module","exports","this","modules","installedModules","__w_pdfjs_require__","moduleId","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","pdfjsCoreWorker","WorkerMessageHandler","WorkerTask","_regenerator","_interopRequireDefault","_util","_primitives","_pdf_manager","_is_node","_message_handler","_worker_stream","_core_utils","obj","_typeof","iterator","constructor","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","TypeError","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","length","err","Array","isArray","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","terminated","_capability","createPromiseCapability","promise","finish","terminate","ensureNotTerminated","Error","setup","handler","port","testMessageProcessed","on","data","Uint8Array","supportTransfers","postMessageTransfers","xhr","XMLHttpRequest","responseExists","responseType","e","send","supportTypedArray","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","workerVersion","concat","docId","docBaseUrl","workerHandlerName","MessageHandler","startWorkerTask","task","finishWorkerTask","indexOf","splice","loadDocument","_x","_loadDocument","mark","_callee","recoveryMode","_ref4","_ref5","numPages","fingerprint","wrap","_context","prev","ensureDoc","all","sent","abrupt","stop","getPdfManager","evaluatorOptions","pdfManagerCapability","source","LocalPdfManager","password","ex","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","isRangeSupported","disableAutoFetch","isStreamingSupported","NetworkPdfManager","msgHandler","contentLength","rangeChunkSize","sendProgressiveData","reason","loaded","flushChunks","pdfFile","arraysToBytes","warn","readPromise","readChunk","chunk","arrayByteLength","total","Math","max","read","cancelAllRequests","setupDoc","onSuccess","doc","pdfInfo","onFailure","PasswordException","code","sendWithPromise","updatePassword","pdfManagerReady","boundException","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","message","toString","XRefParseException","requestLoadedStream","onLoadedStream","forceDataSchema","disableCreateObjectURL","maxImageSize","disableFontFace","nativeImageDecoderSupport","ignoreErrors","isEvalSupported","newPdfManager","stream","bytes","byteLength","getPage","pageIndex","page","ensure","_ref","_ref2","rotate","ref","userUnit","view","Ref","num","catalog","pdfDocument","getPageIndex","ensureCatalog","id","xref","stats","_ref3","intent","getAnnotationsData","start","VerbosityLevel","INFOS","Date","now","getOperatorList","renderInteractiveForms","operatorList","totalLength","featureId","UNSUPPORTED_FEATURES","unknown","wrappedException","minimumStackMessage","stack","sink","onPull","desiredSize","onCancel","extractTextContent","normalizeWhitespace","combineTextItems","close","fontFallback","cleanup","clearPrimitiveCaches","waitOn","forEach","finished","destroy","initializeFromPort","isMessagePort","maybePort","postMessage","window","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","type","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","AsyncIterator","invoke","record","result","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","iter","keys","reverse","pop","skipTempReset","charAt","slice","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","assert","bytesToString","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isString","isSpace","isSameOrigin","createValidAbsoluteUrl","isLittleEndian","log2","readInt8","readUint16","readUint32","removeNullCharacters","shadow","string32","stringToBytes","stringToPDFString","stringToUTF8String","utf8StringToString","unreachable","_streams_polyfill","ReadableStream","_url_polyfill","URL","createObjectURL","FormatError","Util","TextRenderingMode","StreamType","PermissionFlag","PasswordResponses","NativeImageDecoding","AbortException","CMapCompressionType","ImageKind","FontType","AnnotationType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","OPS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","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","forms","javaScript","smask","shadingPattern","font","NEED_PASSWORD","INCORRECT_PASSWORD","level","Number","isInteger","msg","console","log","cond","baseUrl","otherUrl","base","origin","other","_isValidProtocol","url","protocol","absoluteUrl","prop","configurable","writable","details","status","NullCharactersRegExp","str","replace","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","min","subarray","join","charCodeAt","item","itemLength","resultLength","ii","pos","set","x","ceil","offset","buffer8","view32","Uint32Array","buffer","rgbBuf","makeCssRgb","g","b","m1","m2","applyTransform","xt","yt","applyInverseTransform","getAxialAlignedBoundingBox","p1","p2","p3","p4","inverseTransform","apply3dTransform","v","singularValueDecompose2dScale","transpose","a","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","compare","orderedX","sort","orderedY","PDFStringTranslateTable","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","arr2","every","element","index","ch","capability","isSettled","digits","contentType","blob","Blob","b1","b2","b3","d1","d2","d3","d4","globalScope","_pdfjsCompatibilityChecked","isNodeJS","hasDOM","document","btoa","chars","Buffer","from","atob","input","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_i2","_tokens2","toggle","force","startsWith","endsWith","includes","assign","WeakMap","WeakSet","codePointAt","fromCodePoint","padStart","padEnd","global","process","versions","$export","toLength","STARTS_WITH","$startsWith","P","F","searchString","that","search","core","hide","redefine","ctx","PROTOTYPE","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","target","expProto","U","W","R","__g","version","__e","dP","createDesc","f","anObject","IE8_DOM_DEFINE","toPrimitive","O","Attributes","isObject","it","exec","is","val","valueOf","bitmap","has","SRC","$toString","TO_STRING","TPL","split","inspectSource","safe","isFunction","px","random","SHARED","store","copyright","aFunction","toInteger","floor","isRegExp","defined","NAME","cof","MATCH","uid","_Symbol","USE_SYMBOL","$exports","KEY","re","ENDS_WITH","$endsWith","endPosition","len","end","INCLUDES","$includes","el","toIObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","IObject","propertyIsEnumerable","UNSCOPABLES","ArrayProto","$at","iterated","_t","point","LIBRARY","Iterators","$iterCreate","setToStringTag","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","Constructor","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","descriptor","dPs","enumBugKeys","IE_PROTO","Empty","_createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","Properties","getKeys","defineProperties","$keys","arrayIndexOf","names","shared","documentElement","def","tag","stat","toObject","ObjectProto","isArrayIter","createProperty","getIterFn","arrayLike","step","C","aLen","mapfn","mapping","iterFn","ret","$defineProperty","classof","getIteratorMethod","ARG","tryGet","T","callee","SAFE_CLOSING","riter","skipClosing","DESCRIPTORS","gOPS","pIE","$assign","A","K","k","getSymbols","isEnum","j","getOwnPropertySymbols","LN2","number","isFinite","test","$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","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","PROMISE","v8","$Promise","isNode","empty","newPromiseCapability","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","notify","isReject","chain","_c","_v","ok","run","reaction","exited","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","_a","onrejectionhandled","$reject","_w","$resolve","wrapper","executor","onFulfilled","onRejected","$$reject","remaining","$index","alreadyCalled","race","forbiddenField","BREAK","RETURN","_exports","SPECIES","D","defer","channel","html","cel","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","listener","event","nextTick","port2","port1","onmessage","addEventListener","importScripts","setTimeout","clear","un","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","navigator","standalone","node","createTextNode","observe","characterData","PromiseCapability","$$resolve","promiseCapability","onFinally","callbackfn","InternalMap","each","meta","weak","validate","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","WEAK_MAP","getWeak","isExtensible","uncaughtFrozenStore","ufstore","$WeakMap","getConstructor","NEED","_f","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","res","original","META","setDesc","FREEZE","preventExtensions","setMeta","w","fastKey","onFreeze","redefineAll","createArrayMethod","$has","arrayFind","arrayFindIndex","_l","UncaughtFrozenStore","findUncaughtFrozen","ADDER","fails","$iterDetect","inheritIfRequired","common","IS_WEAK","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","setStrong","check","buggy","gOPD","getOwnPropertyDescriptor","COLLECTION","of","cb","mapFn","nextItem","WEAK_SET","$fromCodePoint","RangeError","$fails","wksExt","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","gOPN","$JSON","JSON","_stringify","stringify","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","setter","findChild","setSymbolDesc","protoDesc","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","getOwnPropertyNames","FAILS_ON_PRIMITIVES","replacer","$replacer","symbols","windowNames","getWindowNames","hiddenKeys","$pad","WEBKIT_BUG","maxLength","repeat","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","Infinity","$values","isEntries","isReadableStreamSupported","controller","_typeof2","_require","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","rethrowAssertionErrorRejection","AssertionError","_createClass","props","protoProps","staticProps","_classCallCheck","_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","WritableStreamDefaultWriter","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","__errorSteps","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","__abortSteps","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamCloseQueuedOrInFlight","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","shift","defaultWriterClosedPromiseReject","_closedPromise","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerError","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","_readyPromise","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterGetDesiredSize","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","_controlledWritableStream","_underlyingSink","_queue","_queueTotalSize","normalizedStrategy","_strategySize","_strategyHWM","WritableStreamDefaultControllerGetBackpressure","IsWritableStreamDefaultController","_this","startResult","WritableStreamDefaultControllerAdvanceQueueIfNeeded","strategySize","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","_closedPromise_resolve","_closedPromise_reject","_readyPromise_resolve","_readyPromise_reject","container","pair","_require4","_require5","underlyingSource","_reader","_disturbed","_readableStreamController","typeString","ReadableByteStreamController","ReadableStreamDefaultController","IsReadableStream","IsReadableStreamLocked","ReadableStreamCancel","AcquireReadableStreamDefaultReader","AcquireReadableStreamBYOBReader","options","readable","pipeTo","ifIsObjectAndHasAPromiseIsHandledInternalSlotSetPromiseIsHandledToTrue","preventClose","preventAbort","preventCancel","Boolean","reader","shuttingDown","currentWrite","pipeLoop","ReadableStreamDefaultReaderRead","isOrBecomesErrored","shutdownWithAction","shutdown","isOrBecomesClosed","destClosed","waitForWritesToFinish","oldCurrentWrite","action","originalIsError","originalError","doTheRest","finalize","newError","isError","ReadableStreamReaderGenericRelease","branches","ReadableStreamTee","ReadableStreamBYOBReader","ReadableStreamDefaultReader","IsReadableStreamDisturbed","cloneForBranch2","teeState","closedOrErrored","canceled1","canceled2","reason1","reason2","pull","create_ReadableStreamTeePullFunction","_teeState","_cloneForBranch2","cancel1","create_ReadableStreamTeeBranch1CancelFunction","_stream","cancel2","create_ReadableStreamTeeBranch2CancelFunction","underlyingSource1","branch1Stream","underlyingSource2","branch2Stream","_branch1","_branch2","ReadableStreamDefaultControllerError","branch1","branch2","ReadableStreamDefaultControllerClose","value1","value2","ReadableStreamDefaultControllerEnqueue","compositeReason","cancelResult","ReadableStreamAddReadIntoRequest","IsReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","ReadableStreamAddReadRequest","IsReadableStreamDefaultReader","readRequest","_readRequests","ReadableStreamClose","sourceCancelPromise","__cancelSteps","defaultReaderClosedPromiseResolve","ReadableStreamError","defaultReaderClosedPromiseReject","ReadableStreamFulfillReadIntoRequest","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadIntoRequests","ReadableStreamGetNumReadRequests","ReadableStreamHasBYOBReader","ReadableStreamHasDefaultReader","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamReaderGenericInitialize","defaultReaderBrandCheckException","_ownerReadableStream","readerLockException","ReadableStreamReaderGenericCancel","IsReadableByteStreamController","byobReaderBrandCheckException","ArrayBuffer","isView","ReadableStreamBYOBReaderRead","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","defaultReaderClosedPromiseResetToRejected","ReadableByteStreamControllerPullInto","__pullSteps","_controlledReadableStream","_underlyingSource","_closeRequested","_pullAgain","_pulling","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerErrorIfNeeded","IsReadableStreamDefaultController","defaultControllerBrandCheckException","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","pullPromise","ReadableStreamBYOBRequest","_associatedReadableByteStreamController","_view","bytesWritten","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","ReadableByteStreamControllerRespond","ReadableByteStreamControllerRespondWithNewView","underlyingByteSource","_underlyingByteSource","ReadableByteStreamControllerClearPendingPullIntos","autoAllocateChunkSize","_autoAllocateChunkSize","_pendingPullIntos","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerError","byteStreamControllerBrandCheckException","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","firstDescriptor","bytesFilled","ReadableByteStreamControllerHandleQueueDrain","byteOffset","viewE","bufferE","pullIntoDescriptor","elementSize","readerType","_byobRequest","ReadableByteStreamControllerGetDesiredSize","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","DataView","BYTES_PER_ELEMENT","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","transformStream","readableStream","writableStream","TransformStream","TransformStreamCloseReadable","_errored","_readableClosed","TransformStreamCloseReadableInternal","TransformStreamEnqueueToReadable","_readableController","TransformStreamErrorIfNeeded","maybeBackpressure","TransformStreamSetBackpressure","TransformStreamError","TransformStreamErrorInternal","_writableDone","_writableController","TransformStreamReadableReadyPromise","_backpressureChangePromise","_backpressureChangePromise_resolve","resolution","TransformStreamDefaultTransform","transformStreamController","_controlledTransformStream","TransformStreamTransform","_transforming","transformer","_transformer","_transformStreamController","transformPromise","IsTransformStreamDefaultController","IsTransformStream","TransformStreamSink","startPromise","_transformStream","_startPromise","flushPromise","TransformStreamSource","TransformStreamDefaultController","readableController","readableStrategy","writableStrategy","startPromise_resolve","_readable","_writable","isURLSupported","u","pathname","href","PolyfillURL","OriginalURL","revokeObjectURL","relative","relativePathDotMapping","isRelativeScheme","scheme","invalid","_isInvalid","IDNAToASCII","h","toLowerCase","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","cp","tempC","temp","parseInt","tmp","JURL","_url","authority","host","_","isEOF","isCmd","isDict","isName","isRef","isRefsEqual","isStream","RefSetCache","RefSet","Name","Dict","Cmd","nameCache","nameValue","_clearCache","cmdCache","cmd","cmdValue","nonSerializable","_map","objId","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","fetchIfRef","getAsync","fetchIfRefAsync","getArray","fetch","getRaw","callback","merge","dictArray","mergedDict","dict","keyName","refCache","refValue","put","putAlias","aliasRef","thisArg","v1","v2","getBytes","_chunked_stream","_document","_possibleConstructorReturn","_assertThisInitialized","_getPrototypeOf","ReferenceError","_inherits","subClass","superClass","_setPrototypeOf","_defineProperties","BasePdfManager","_ensure","_x2","_x3","begin","_docId","_docBaseUrl","_BasePdfManager","Stream","PDFDocument","_loadedStreamPromise","_ensure2","_callee2","_context2","_x4","_x5","_x6","_BasePdfManager2","pdfNetworkStream","_this2","streamManager","ChunkedStreamManager","getStream","_ensure3","_callee3","_context3","t0","MissingDataException","requestRange","_x7","_x8","_x9","requestAllChunks","onReceiveData","abort","ChunkedStream","manager","loadedChunks","numChunksLoaded","numChunks","progressiveDataLength","lastSuccessfulEnsureByteChunk","chunks","beginChunk","endChunk","curChunk","position","ensureByte","b0","getByte","forceClamped","strEnd","ensureRange","_subarray","Uint8ClampedArray","peekedByte","ChunkedStreamSubstream","getMissingChunks","missingChunks","subStream","currRequestId","chunksNeededByRequest","requestsByChunk","promisesByRequest","aborted","_loadedStreamCapability","rangeReader","getRangeReader","onProgress","chunkData","_requestChunks","requestId","chunksNeeded","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_chunk","hasChunk","chunksToRequest","groupedChunksToRequest","groupChunks","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","groupedChunk","sendRequest","getBeginChunk","getEndChunk","ranges","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","range","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","allChunksLoaded","loadedRequests","_chunk2","requestIds","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","nextEmptyChunk","lastChunk","_loadedRequests","_requestId","getLookupTableFactory","getInheritableProperty","toRomanNumerals","XRefEntryException","initializer","lookup","_ref$getArray","_ref$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","ROMAN_NUMBER_MAP","lowerCase","romanBuf","romanStr","Page","_obj","_stream2","_annotation","_crypto","_parser","_operator_list","_evaluator","_function","DEFAULT_USER_UNIT","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","pageDict","fontCache","builtInCMapCache","pdfFunctionFactory","resourcesPromise","idCounters","idFactory","createObjId","getDocId","content","streams","StreamsSequenceStream","NullStream","objectLoader","ObjectLoader","resources","load","contentStreamPromise","loadResources","partialEvaluator","PartialEvaluator","dataPromises","pageListPromise","contentStream","opList","OperatorList","transparency","hasBlendModes","_parsedAnnotations","_ref6","pageOpList","annotations","opListPromises","opLists","addOp","addOpList","_ref7","_this3","_ref8","_ref9","getTextContent","annotationsData","_getInheritableProperty","mediaBox","cropBox","intersection","_this4","parsedAnnotations","annotationRefs","annotationPromises","AnnotationFactory","filter","FINGERPRINT_FIRST_BYTES","EMPTY_FINGERPRINT","find","needle","limit","backwards","peekBytes","lastIndexOf","XRef","PDFFunctionFactory","_pagePromises","catDict","pdfFormatVersion","acroForm","xfa","fields","collection","moveStart","MAX_PDF_VERSION_LENGTH","substring","setStartXRef","startXRef","Catalog","linearization","pageFirst","objectNumberFirst","fetchAsync","pageKidsCountCache","getPageDict","_this5","_getLinearizationPage","_ref10","_ref11","_this6","Linearization","startXRefLength","found","skip","infoDict","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","trailer","customValue","hash","idArray","calculateMD5","hex","FileSpec","_colorspace","fetchDestination","getCatalogObj","Map","items","processed","blackColor","outlineDict","parseDestDictionary","destDict","resultObj","title","flags","color","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","newWindow","bold","italic","encrypt","pow","permissions","destinationId","_readDests","NameTree","pageLabels","prefix","numberTree","NumberTree","nums","getAll","currentLabel","currentIndex","labelDict","st","LIMIT","A_UPPER_CASE","A_LOWER_CASE","baseCharCode","letterIndex","character","charBuf","jj","promises","translatedFonts","translatedFont","loadedName","fallback","translated","nodesToVisit","currentPageIndex","_loop","currentNode","kids","_ret","pageRef","pagesBeforeRef","kidRef","parentRef","kidPromises","kid","_args","streamRef","metadata","encryptMetadata","subtype","pagesObj","_readDocumentOutline","_readPermissions","toplevelPagesDict","dests","_readPageLabels","pageLayout","pageMode","ViewerPreferencesValidators","HideToolbar","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","prefs","prefValue","isValid","openActionDest","attachments","nameTree","fs","serializable","appendIfJavaScriptDict","jsDict","js","openActionDict","actionType","params","addDefaultProtocolToUrl","tryConvertUrlEncoding","actionName","urlDict","remoteDest","namedAction","jsAction","URL_OPEN_METHODS","regex","RegExp","jsUrl","xrefstms","cache","streamTypes","fontTypes","startXRefQueue","trailerDict","indexObjects","readXRef","ids","fileId","CipherTransformFactory","processXRefTable","parser","tableState","entryNum","streamPos","lexer","parserBuf1","buf1","parserBuf2","buf2","readXRefTable","getObj","firstEntryNum","entryCount","free","uncompressed","processXRefStream","streamParameters","byteWidths","streamState","entryRanges","readXRefStream","typeFieldWidth","offsetFieldWidth","generationFieldWidth","generation","TAB","LF","CR","SPACE","PERCENT","LT","readToken","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","CHECK_CONTENT_LENGTH","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","allowStreams","rootDict","startXRefParsedCache","topDict","getEntry","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","_fetchIfRefAsync","_fetchAsync","NameOrNumberTree","_type","_ii","kidsOrEntries","MAX_LEVELS","limits","_r","_m","currentKey","_m2","mm","_currentKey","_NameOrNumberTree","_NameOrNumberTree2","description","contentAvailable","pickPlatformItem","_filename","filename","contentRef","fileObj","mayHaveChildren","addChildren","dictKeys","rawValue","_i3","_ii2","refSet","_walk","nodesToRevisit","pendingRequests","getBaseStreams","baseStreams","foundMissingData","requestRanges","_i4","_ii3","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","MAX_LENGTH_TO_CACHE","MAX_ADLER32_LENGTH","computeAdler32","bytesLength","_ref$allowStreams","_ref$recoveryMode","imageCache","refill","cipherTransform","makeInlineImage","array","makeStream","decryptString","maybeEIPos","I","NUL","followingBytes","endOffset","peekByte","markerLength","foundEOI","getUint16","findDefaultInlineStreamEnd","inlineStreamSkipEI","TILDE","GT","dictLength","beginInlineImagePos","filterName","filterZero","findDCTDecodeInlineStreamEnd","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","signature","SCAN_BLOCK_LENGTH","signatureLength","scanBytes","scanLength","skipToNextLine","nextChar","tryShift","ENDSTREAM_SIGNATURE","actualLength","_findStreamLength","MAX_TRUNCATION","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","knownCommands","currentChar","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","peekChar","numParen","charBuffered","previousCh","x2","firstDigit","secondDigit","isFirstHex","comment","getNumber","getString","getName","getHexString","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","getHints","hintsLength","hints","hint","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arrayBuffer","getInt32","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","bufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","buffer2","bufEnd","newLength","codeLenCodeMap","Int32Array","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","bits","getCode","table","codes","maxLen","codeLen","codeVal","generateHuffmanTable","lengths","code2","hdr","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","bitsLength","bitsOffset","codeLengths","repeatLength","code1","dist","blockLen","predictor","readBlockTiff","readBlockPng","colors","columns","pixBytes","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","sum","compArray","bitMask","kk","prevRow","up","upLeft","pa","pb","pc","decrypt","nextChunk","initialized","hasMoreData","TILDA_CHAR","Z_LOWER_CHAR","UPSTREAM_BLOCK_SIZE","maxDecodeLength","digit","repeatHeader","cachedData","bitsCached","maxLzwDictionarySize","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","Uint16Array","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","q","blockSize","estimatedDecodedSize","decodedSizeDelta","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","ccittEOL","ccittEOF","twoDimPass","twoDimHoriz","twoDimVert0","twoDimVertR1","twoDimVertL1","twoDimVertR2","twoDimVertL2","twoDimVertR3","twoDimVertL3","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","encoding","eoline","byteAlign","rows","eoblock","black","codingLine","refLine","codingPos","row","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","decoder","contexts","getContexts","bit","readBit","decodeIAID","Int8Array","ArithmeticDecoder","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmapTemplate0","width","height","decodingContext","contextLabel","pixel","row1","row2","OLD_PIXEL_MASK","decodeBitmap","mmr","templateIndex","prediction","at","Reader","decodeMMRBitmap","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","j0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","sltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeSymbolDictionary","huffman","refinement","numberOfNewSymbols","numberOfExportedSymbols","huffmanTables","refinementTemplateIndex","refinementAt","huffmanInput","tableB1","symbolWidths","newSymbols","currentHeight","symbolCodeLength","getStandardTable","deltaHeight","tableDeltaHeight","decode","currentWidth","totalWidth","firstSymbol","deltaWidth","tableDeltaWidth","numberOfInstances","decodeTextRegion","symbolId","rdx","rdy","symbol","bitmapSize","tableBitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMin","xMax","bitmapWidth","symbolBitmap","exportedSymbols","currentFlag","totalSymbolsLength","runLength","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","transposed","dsOffset","referenceCorner","combinationOperator","logStripSize","stripT","tableDeltaT","firstS","deltaT","deltaFirstS","tableFirstS","currentS","currentT","symbolIDTable","applyRefinement","symbolWidth","symbolHeight","rdw","rdh","s2","t2","symbolRow","offsetT","offsetS","maxWidth","deltaS","tableDeltaS","decodePatternDictionary","patternWidth","patternHeight","maxPatternIndex","patternBitmap","collectiveWidth","patterns","decodeHalftoneRegion","regionWidth","regionHeight","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","mmrInput","mg","ng","patternIndex","patternRow","regionRow","grayScaleBitPlanes","regionX","regionY","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionSegmentFlags","RegionSegmentInformationFieldLength","genericRegionMmr","searchPatternLength","searchPattern","headerEnd","readSegments","header","segments","segment","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","halftoneRegion","halftoneRegionFlags","genericRegion","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","parseJbig2Chunks","SimpleSegmentVisitor","parseJbig2","numberOfPages","_visitor$currentPageI","currentPageInfo","bitPacked","imgData","mask","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","line","isLeaf","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","decodeTablesSegment","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","onPageInformation","rowSize","drawBitmap","regionInfo","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","getSymbolDictionaryHuffmanTables","customTables","referredSymbols","onImmediateTextRegion","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","onImmediateHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","getCustomHuffmanTable","numberOfSymbols","runCodesTable","repeatedLength","numberOfRepeats","customIndex","tableAggregateInstances","endOfBlock","lookForEOFLimit","numBits","_parseJbig","QeTable","qe","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","getData","drawWidth","drawHeight","isSourcePDF","getIR","JpegError","DNLMarkerError","scanLines","EOIMarkerError","dctZigZag","dctCos1","dctSin1","dctCos3","dctSin3","dctCos6","dctSin6","dctSqrt2","dctSqrt1d2","_ref$decodeTransform","_ref$colorTransform","_decodeTransform","_colorTransform","buildHuffmanTable","getBlockBufferOffset","component","col","blocksPerLine","decodeScan","frame","components","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","decodeHuffman","tree","receive","receiveAndExtend","decodeBaseline","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuRow","mcuCol","blockRow","blockCol","decodeBlock","decodeFn","componentsLength","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","marker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","Int16Array","currentPos","peekUint16","maxPos","newPos","currentMarker","newMarker","_ref2$dnlScanLines","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksPerColumnForMcu","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","output","scaleX","scaleY","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","xScaleBlockOffset","mask3LSB","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","scale","_ref3$forceRGB","_ref3$isSourcePDF","rgbData","grayColor","_isColorConversionNeeded","_jpx","jpxImage","JpxImage","tileCount","tiles","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","top","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","SubbandsGainLog2","failOnCorruptedImage","calculateComponentDimensions","siz","x0","XOsiz","XRsiz","x1","Xsiz","y0","YOsiz","YRsiz","y1","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_","pi","pj","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","valueReady","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","included","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","delta","mb","reversible","segmentationSymbolUsed","right","bottom","blockWidth","blockHeight","bitModel","currentCodingpassType","BitModel","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","nb","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","interleave","levelOffset","transformTile","quantizationParameters","spqcds","SPqcds","scalarExpounded","guardBits","reversibleTransformation","ReversibleTransform","IrreversibleTransform","subbandCoefficients","Float32Array","mu","epsilon","gainLog2","calculate","transformComponents","resultImages","transformedTiles","y2","tile0","multipleComponentTransform","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","colorspace","parseCodestream","headerType","parseImageProperties","newByte","oldByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","levelsLength","levels","currentLevel","defaultValue","stopValue","propagateValues","levelIndex","currentValue","UNIFORM_CONTEXT","RUNLENGTH_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","labels","processedInverseMask","processedMask","firstMagnitudeBitMask","i1","decision","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","significance","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","allEmpty","hasSignificantCoefficent","i2","Transform","u0","ll","iterate","extend","j1","j2","hl_lh_hh","llWidth","llHeight","llItems","bufferPadding","rowBuffer","numBuffers","colBuffers","currentBuffer","current","alpha","beta","gamma","K_","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","littleSigmaPrime","h4","h5","h6","h7","t1","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_inv_s","_mix","_mixCol","bufferPosition","cipherKey","_keySize","_cyclesOfRepetition","_j","_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","createEncryptionKey20","revision","uBytes","perms","passwordLength","pdfAlgorithm","prepareKeyData","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","decodeUserPassword","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","decodedPassword","cf","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","resizeRgbImage","w1","w2","COMPONENTS","oldIndex","xRatio","yRatio","newIndex","xScaled","w1Scanline","numComps","getRgbItem","inputLength","decodeMap","bpc","isDefaultDecode","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","isPassthrough","allColors","colorMap","getRgbBuffer","rgbPos","destPos","_destPos","_rgbPos","cs","IR","parseToIR","fromIR","whitePoint","blackPoint","gray","cmyk","CalGrayCS","matrix","CalRGBCS","basePatternCS","PatternCS","baseIndexedCS","hiVal","IndexedCS","alt","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","L","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","convertToFlat","sourceWhitePoint","LMS","convertToD65","D65X","D65Y","D65Z","sRGBTransferFunction","adjustToRange","decodeL","compensateBlackPoint","sourceBlackPoint","XYZ_Flat","zeroDecodeL","X_DST","X_SRC","Y_DST","Y_SRC","Z_DST","Z_SRC","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","normalizeWhitePointToFlat","XYZ_In","LMS_Flat","normalizeWhitePointToD65","LMS_D65","AGR","GR","BGG","GG","CGB","GB","X","MXA","MXB","MXC","MYA","MYB","MYC","Z","MZA","MZB","MZC","XYZ","XYZ_Black","XYZ_D65","SRGB","_ColorSpace8","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","M","N","_ColorSpace9","MarkupAnnotation","AnnotationBorderStyle","Annotation","_get","receiver","Reflect","_superPropBase","desc","parameters","LinkAnnotation","TextAnnotation","fieldType","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","WidgetAnnotation","PopupAnnotation","FreeTextAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","CaretAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","getTransformMatrix","bbox","bounds","maxY","setContents","setModificationDate","setFlags","setRectangle","setColor","setBorderStyle","setAppearance","annotationFlags","borderStyle","contents","hasAppearance","appearance","modificationDate","flag","_hasFlag","dictType","setWidth","setStyle","setDashArray","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","evaluator","renderForms","appearanceDict","_isViewable","_isPrintable","dashArray","horizontalCornerRadius","verticalCornerRadius","maxHeight","allZeros","validNumber","radius","_Annotation","setCreationDate","creationDate","hasPopup","_Annotation2","annotationType","fieldName","_constructFieldName","fieldValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","unshift","loopDict","_WidgetAnnotation","alignment","textAlignment","maximumLength","multiLine","comb","_WidgetAnnotation2","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","customAppearance","exportValueOptionsDict","exportValues","hasCorrectOptionCount","exportValue","buttonValue","fieldParent","fieldParentValue","_WidgetAnnotation3","option","isOptionArray","displayValue","combo","multiSelect","_MarkupAnnotation","_this7","DEFAULT_ICON_SIZE","_Annotation3","_this8","_Annotation4","_this9","parentItem","parentSubtype","parentType","parentId","parentFlags","_MarkupAnnotation2","_this10","_MarkupAnnotation3","_this11","lineCoordinates","_MarkupAnnotation4","_this12","_MarkupAnnotation5","_this13","_MarkupAnnotation6","_this14","rawVertices","vertices","_PolylineAnnotation","_this15","_MarkupAnnotation7","_this16","_MarkupAnnotation8","_this17","originalInkLists","inkLists","_MarkupAnnotation9","_this18","_MarkupAnnotation10","_this19","_MarkupAnnotation11","_this20","_MarkupAnnotation12","_this21","_MarkupAnnotation13","_this22","_MarkupAnnotation14","_this23","file","QueueOptimizer","addState","parentState","pattern","checkFn","iterateFn","processFn","handlePaintSolidColorImageMask","iFirstSave","fnArray","argsArray","iFirstPIMXO","imageMask","InitialState","iCurr","match","lastProcessed","MIN_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_WIDTH","IMAGE_PADDING","curr","iFirstTransform","iFirstPIIXO","map","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","dataOffset","MIN_IMAGES_IN_MASKS_BLOCK","MAX_IMAGES_IN_MASKS_BLOCK","MAX_SAME_IMAGES_IN_MASKS_BLOCK","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg3","iPIMXO","positions","images","maskParams","iFirstPIXO","firstPIXOArg0","MIN_IMAGES_IN_BLOCK","MAX_IMAGES_IN_BLOCK","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","MIN_CHARS_IN_BLOCK","MAX_CHARS_IN_BLOCK","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","NullOptimizer","CHUNK_SIZE","CHUNK_SIZE_ABOUT","messageHandler","optimizer","dependencies","_totalLength","weight","addDependency","addDependencies","transfers","cached","_transfers","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_bidi","_glyphlist","_metrics","_murmurhash","_image_utils","_image","DefaultPartialEvaluatorOptions","_ref$options","parsingType3Font","fetchBuiltInCMap","compressionType","TIME_SLOT_DURATION_MS","CHECK_TIME_EVERY","TimeSlotManager","normalizeBlendMode","checked","endTime","deferred","TILING_PATTERN","SHADING_PATTERN","clone","newOptions","newEvaluator","nodes","graphicStates","graphicStatesKeys","graphicState","bm","xObjects","xObjectsKeys","xObject","xResources","buildFormXObject","xobj","initialState","group","groupOptions","isolated","knockout","groupSubtype","colorSpace","backdrop","buildPaintImageXObject","_buildPaintImageXObject","image","_ref3$isInline","isInline","_ref3$forceDisableNat","forceDisableNativeImageDecoder","bitStrideLength","imgArray","softMask","SMALL_IMAGE_DIMENSIONS","imageObj","nativeImageDecoder","imgPromise","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","createImageData","NativeImageDecoder","isSupported","buildImage","nativeDecoder","handleSMask","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","handleTilingType","patternDict","tilingOpList","resourcesArray","patternResources","getTilingPatternIR","tilingPatternIR","handleSetFont","fontArgs","fontRef","fontName","loadFont","isType3Font","loadType3Data","TranslatedFont","ErrorFont","handleText","glyphs","charsToGlyphs","isAddToPathSet","textRenderingMode","fillColorSpace","buildFontPaths","gState","gStateObj","gStateKeys","errorFont","fontRes","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontAliases","aliasFontRef","Font","getFontID","translateFont","fontType","xrefFontStats","fontFile3","getFontType","buildPath","parsingText","lastIndex","opArgs","handleColorN","_handleColorN","patternName","typeNum","shading","Pattern","parseShading","_ref4$initialState","EvalState","xobjs","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","savedStatesDepth","promiseBody","operation","resolveXObject","rejectXObject","fontSize","combinedGlyphs","arrLength","arrItem","strokeColorSpace","shadingRes","patternIR","dictName","extGState","_ref5$stateManager","_ref5$normalizeWhites","_ref5$combineTextItem","_ref5$seenStyles","seenStyles","TextState","textState","WhitespaceRegexp","textContent","styles","textContentItem","vertical","lastAdvanceWidth","lastAdvanceHeight","textAdvanceScale","spaceWidth","fakeSpaceMin","fakeMultiSpaceMin","fakeMultiSpaceMax","textRunBreakAllowed","SPACE_FACTOR","MULTI_SPACE_FACTOR","MULTI_SPACE_FACTOR_MAX","skipEmptyXObjs","ensureTextContentItem","fontFamily","fallbackName","ascent","descent","tsm","textHScale","textRise","fontMatrix","glyphHeight","trm","ctm","textMatrix","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","runBidiTransform","textChunk","bidiResult","bidi","dir","buildTextContentItem","glyph","glyphWidth","vmetric","glyphUnicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","charSpacing","wordSpacing","addFakeSpaces","tx","ty","w0","translateTextMatrix","abs","fakeSpaces","round","flushTextContentItem","enqueueChunk","advance","fontNameArg","fontSizeArg","leading","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","extractDataStructures","baseDict","properties","cidToGidBytes","toUnicode","toUnicodePromise","readToUnicode","composite","cidSystemInfo","registry","ordering","supplement","cidToGidMap","differences","baseEncodingName","diffEncoding","defaultEncoding","getEncoding","isSymbolicFont","FontFlags","Symbolic","isNonsymbolicFont","Nonsymbolic","StandardEncoding","WinAnsiEncoding","MacRomanEncoding","SymbolSetEncoding","ZapfDingbatsEncoding","hasEncoding","buildToUnicode","readCidToGidMap","_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","charCode","glyphsData","glyphID","extractWidths","defaultVMetrics","widths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","parseFloat","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","isSerifFont","fontNameWoStyle","getSerifFonts","monospace","stdFontMap","getStdFontMap","lookupName","Metrics","getMetrics","glyphWidths","widthsByGlyphName","uint8array","df","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","hexdigest","maxCharIndex","Serif","getSymbolsFonts","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","wideChars","fixedPitch","xHeight","capHeight","italicAngle","cidEncoding","fontChar","renderer","hasBuiltPath","getPathJs","accent","type3Loaded","exportData","glyphCacheValues","parentOperatorList","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcKeys","charProcOperatorList","_loop2","glyphStream","stateStack","old","txDiff","tyDiff","denominator","calcRenderMatrix","getOPMap","numArgs","variableArgs","MAX_INVALID_PATH_OPS","opMap","nonProcessedArgs","_numInvalidPathOPS","opSpec","argsLength","partialMsg","preprocessCommand","CMap","BUILT_IN_CMAPS","codespaceRanges","numCodespaceRanges","dstLow","dst","nn","codespaceRange","_CMap","addCodespaceRange","BinaryCMapReader","hexToInt","hexToStr","addHex","incHex","MAX_NUM_SIZE","MAX_ENCODED_NUM_SIZE","BinaryCMapStream","processBinaryCMap","readByte","_char","sequence","dataSize","ucs2DataSize","subitemsCount","readNumber","readHex","readHexNumber","mapOne","readSigned","mapCidRange","readHexSigned","mapBfRange","readString","sp","strToInt","expectString","expectInt","parseBfChar","parseBfRange","mapBfRangeToArray","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","previous","embeddedUseCMap","objLoop","extendCMap","createBuiltInCMap","newCMap","useCodespaceRanges","cMapData","parsedCMap","isIdentityCMap","SEAC_ANALYSIS_ENABLED","_cff_parser","_font_renderer","_type1_parser","PRIVATE_USE_AREAS","PDF_GLYPH_SPACE_UNITS","Script","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","adjustWidths","adjustToUnicode","builtInEncoding","amend","recoverGlyphName","Glyph","operatorListId","isInFont","matchesForCache","charCodeOf","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","getSearchParams","entriesCount","entrySize","maxPower2","searchRange","rangeShift","OTF_HEADER_SIZE","OTF_TABLE_ENTRY_SIZE","toArray","tablesNames","tableName","numTables","tableOffsets","searchParams","checksum","quad","addTable","sizes","missingFile","glyphCache","toFontChar","isEmpty","fallbackToSystemFont","_getFontFileType","getFontFileType","_getFontFileType2","mimetype","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","int16","writeSignedInt16","signedInt16","int32","string16","safeString16","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","fileType","fileSubtype","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","getRanges","numGlyphs","codeIndices","createCmapTable","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","bias","contiguous","startCode","format314","format31012","header31012","validateOS2Table","os2","selection","usWinAscent","createOS2Table","charstrings","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","angle","createNameTable","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","nameRecord","ID","FontRendererFactory","nonStdFontMap","getNonStdFontMap","isStandardFont","remeasure","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","isIdentityUnicode","unicodeCharCode","getDingbatsGlyphsUnicode","VALID_TABLES","readTables","readTableEntry","previousPosition","readOpenTypeHeader","ttf","entrySelector","readTrueTypeCollectionHeader","ttc","ttcTag","majorVersion","minorVersion","numFonts","offsetTable","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionData","_readTrueTypeCollecti","potentialHeader","potentialTables","readNameTable","nameEntry","readCmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","sanitizeMetrics","dupFirstEntry","numOfMetrics","numOfSidebearings","numMissing","sanitizeGlyph","sourceStart","sourceEnd","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","endPoint","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xyLength","glyphDataLength","sanitizeHead","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeGlyphLocations","loca","isGlyphLocationsLong","maxSizeOfInstructions","itemSize","itemDecode","itemEncode","numGlyphsOut","locaData","locaDataSize","oldGlyfData","oldGlyfDataLength","newGlyfData","writeOffset","missingGlyphs","simpleGlyph","firstEntryLength","readPostScriptTable","post","maxpNumGlyphs","glyphNames","valid","glyphNameIndexes","customNames","FORMAT_0_HEADER_LENGTH","numRecords","stringsStart","records","NAME_RECORD_LENGTH","platform","language","nameIndex","cffFile","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","op","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","NaN","foldTTTable","checkInvalidFunctions","maxFunctionDefs","sanitizeTTPrograms","fpgm","prep","cvt","cvtData","ttcData","isTrueType","isComposite","maxZones","glyphsInfo","metricsOverride","isCidToGidMapEmpty","cmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","glyphZeroId","newMapping","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","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","getHeaderBlock","suggestedLength","headerBytes","headerBytesLength","block","EEXEC_SIGNATURE","streamStartPos","getEexecBlock","eexecBytes","PFB_HEADER_SIZE","headerBlockLength","eexecBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","headerBlockParser","Type1Parser","extractFontHeader","eexecBlock","eexecBlockParser","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","MAX_SUBR_NESTING","NUM_STANDARD_CFF_STRINGS","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","raw","predefined","readSupplement","supplementsCount","sid","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","CFFEncoding","glyphZero","getSID","objects","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","order","valueLength","createTables","layout","glyphIndex","CFFOffsetTracker","isTracking","track","location","setEntryLocation","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","subDict","compiled","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","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","MacExpertEncoding","encodingName","getSpecialPUASymbols","hexStr","nameLen","toUpperCase","UnicodeRanges","isRTLRangeFor","charsLength","getLong","getUshort","parseCmap","idDelta","idOffset","groups","parseCff","gsubrs","isCFFCIDFont","parseGlyfTable","lookupCmap","compileGlyf","cmds","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","instructionLength","numberOfPoints","points","startPoint","contour","compileCharString","stems","bezierCurveTo","xb","yb","y3","subrCode","stackClean","numSubrs","subrsBias","achar","bchar","glyphNameMap","gsubrsBias","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","Type2Compiled","_CompiledFont2","cffInfo","HINTING_ENABLED","Type1CharString","COMMAND_MAP","lsb","flexing","encoded","wx","sbx","executeCommand","hstem","vstem","dy","vmoveto","rlineto","hlineto","vlineto","rrcurveto","hmoveto","endchar","rmoveto","vhcurveto","hvcurveto","sby","num2","num1","flexArgs","flex","howManyArgs","command","keepStack","stackLength","EEXEC_ENCRYPT_KEY","CHAR_STRS_ENCRYPT_KEY","isHexDigit","discardNumber","c1","c2","decrypted","decryptAscii","digit1","digit2","isSpecial","encrypted","isBinary","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","program","blueArray","charString","encodingArg","ShadingType","FUNCTION_BASED","AXIAL","RADIAL","FREE_FORM_MESH","LATTICE_FORM_MESH","COONS_PATCH_MESH","TENSOR_PATCH_MESH","getPattern","Shadings","RadialAxial","Mesh","Dummy","xstep","ystep","paintType","tilingType","SMALL_NUMBER","coordsArr","shadingType","domainArr","extendStart","extendEnd","extendArr","r1","r2","distance","fnObj","createFromArray","colorStops","ratio","cssColor","background","r0","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","decodeType4Shading","mesh","coords","operators","ps","verticesLeft","hasData","readFlag","coord","readCoordinate","readComponents","align","figures","decodeType5Shading","verticesPerRow","bitsPerFlag","bitsPerCoordinate","xi","yi","ci","MIN_SPLIT_PATCH_CHUNKS_AMOUNT","MAX_SPLIT_PATCH_CHUNKS_AMOUNT","TRIANGLE_DENSITY","getB","buildB","lut","t_","buildFigureFromPatch","figure","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","splitYBy","figureCoords","figureColors","cl","cr","c0","c3","bRow","bCol","newColor","decodeType6Shading","tmp4","decodeType7Shading","updateBounds","packData","coordsPacked","xy","colorsPacked","decodeContext","patchMesh","baseTypes","arabicTypes","isOdd","isEven","findUnequal","setValues","reverseValues","createBidiText","isLTR","startLevel","strLength","numBidi","charType","sor","eor","lastType","before","after","highestLevel","lowestOddLevel","PostScriptCompiler","PostScriptEvaluator","_ps_parser","IsEvalSupportedCached","_ref$isEvalSupported","PDFFunction","parseArray","toNumberArray","CONSTRUCT_SAMPLED","CONSTRUCT_INTERPOLATED","CONSTRUCT_STICHED","CONSTRUCT_POSTSCRIPT","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","constructSampled","constructInterpolated","constructStiched","constructPostScript","typeFn","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","toMultiArray","inputSize","encode","samples","interpolate","xmin","xmax","ymin","ymax","cubeVertices","cubeN","Float64Array","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","fnRefs","fns","dmin","dmax","rmin","rmax","_ref12","PostScriptLexer","PostScriptParser","_ref13","numOutputs","numInputs","MAX_CACHE_SIZE","cache_available","cachedValue","execute","stackIndex","bound","fnDict","PostScriptStack","MAX_STACK_SIZE","initialStack","copy","roll","operator","atan","cos","LN10","sin","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","variable","ExpressionBuilderVisitor","parts","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","MASK_HIGH","MASK_LOW","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","_ref$forceDataSchema","isDecodable","handleImageData","canDecode","decodeAndClamp","addend","coefficient","resizeImageMask","_ref$isInline","_ref$smask","_ref$mask","_ref$isMask","isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","maskDict","smaskPromise","maskPromise","_ref2$isInline","_ref2$nativeDecoder","imagePromise","imageData","smaskData","maskData","computedLength","haveFullData","decodeBuffer","getComponents","buf","bufferPos","rowComps","loop1End","loop2End","remainingBits","fillOpacity","rgbaBuf","alphaBuf","sw","sh","fillGrayBuffer","opacity","imageOffset","maskOffset","undoPreblend","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","fillRgb","resolveCall","_resolveCall","wrapReason","makeReasonSerializable","resolveOrReject","success","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbacksCapabilities","ah","actionHandler","_onComObjOnMessage","_processStreamMessage","isReply","_sourceName","_targetName","_createStreamSink","scope","sendWithStream","queueingStrategy","startCapability","startCall","isClosed","pullCapability","pullCall","cancel","cancelCapability","cancelCall","sendStreamRequest","streamSink","isCancelled","lastDesiredSize","sinkCapability","sendStreamResponse","deleteStreamController","removeEventListener","default","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","readers","_isRangeSupported","_isStreamingSupported","getReader","_headersReady","_read","_read2"],"mappings":"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,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,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG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,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS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A,GAAa,CAAC,EAAGA,GAAa,CAAC,EAAGA,GAAa,CAAC,EAAGA,GAAa,CAAC,EAAGA,GAAa,CAAC,EAAGC,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGG,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGD,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGD,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,IAC/wEQ,EAAc,CAAC,EAAE,GAAI,GAAI,CAAC,GAAIZ,GAAW,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,OAC9Wa,EAAc,CAAC,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,GAAId,GAAW,CAAC,GAAIA,GAAW,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,KAC53Ce,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,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,IAEvhB,SAASxB,EAAgB1wE,GACvB,IAAI4uC,EAAU/yC,UAAUnB,OAAS,QAAsBN,IAAjByB,UAAU,GAAmBA,UAAU,GAAK,GAElF,IAAKmE,GAAiC,oBAAhBA,EAAOzF,KAC3B,MAAM,IAAI+B,MAAM,iDAGlBhG,KAAK0J,OAASA,EACd1J,KAAK+zE,KAAM,EACX/zE,KAAK67E,SAAWvjC,EAAQ,MAAQ,EAChCt4C,KAAK87E,OAASxjC,EAAQ,eAAgB,EACtCt4C,KAAK+7E,UAAYzjC,EAAQ,sBAAuB,EAChDt4C,KAAK+2E,QAAUz+B,EAAQ,YAAc,KACrCt4C,KAAKg8E,KAAO1jC,EAAQ,SAAW,EAC/B,IAkBIk+B,EAlBAyF,EAAU3jC,EAAQ,cAEN,OAAZ2jC,QAAgCn4E,IAAZm4E,IACtBA,GAAU,GAGZj8E,KAAKi8E,QAAUA,EACfj8E,KAAKk8E,MAAQ5jC,EAAQ,cAAe,EACpCt4C,KAAKm8E,WAAa,IAAIryD,YAAY9pB,KAAK+2E,QAAU,GACjD/2E,KAAKo8E,QAAU,IAAItyD,YAAY9pB,KAAK+2E,QAAU,GAC9C/2E,KAAKm8E,WAAW,GAAKn8E,KAAK+2E,QAC1B/2E,KAAKq8E,UAAY,EACjBr8E,KAAKs8E,IAAM,EACXt8E,KAAKu8E,WAAav8E,KAAK67E,SAAW,EAClC77E,KAAKw8E,UAAY,EACjBx8E,KAAKy8E,SAAW,EAChBz8E,KAAK08E,WAAa,EAClB18E,KAAK28E,UAAW,EAGhB,MAAwC,KAAhCnG,EAAQx2E,KAAK48E,UAAU,KAC7B58E,KAAK68E,SAAS,GAGF,IAAVrG,GACFx2E,KAAK68E,SAAS,IAGZ78E,KAAK67E,SAAW,IAClB77E,KAAKu8E,YAAcv8E,KAAK48E,UAAU,GAElC58E,KAAK68E,SAAS,IAumBlB,OAnmBAzC,EAAgBp4E,UAAY,CAC1B24E,aAAc,WACZ,GAAI36E,KAAK+zE,IACP,OAAQ,EAGV,IAGI+I,EAAQC,EAAa7H,EAAM70E,EA6U3BI,EAhVA27E,EAAUp8E,KAAKo8E,QACfD,EAAan8E,KAAKm8E,WAClBpF,EAAU/2E,KAAK+2E,QAGnB,GAAwB,IAApB/2E,KAAK08E,WAAkB,CAKzB,GAJI18E,KAAK28E,WACP38E,KAAK+zE,KAAM,GAGT/zE,KAAK+zE,IACP,OAAQ,EAIV,IAAIyC,EAAOb,EAAOqH,EAElB,GAHAh9E,KAAKqE,KAAM,EAGPrE,KAAKu8E,WAAY,CACnB,IAAKl8E,EAAI,EAAG87E,EAAW97E,GAAK02E,IAAW12E,EACrC+7E,EAAQ/7E,GAAK87E,EAAW97E,GAG1B+7E,EAAQ/7E,KAAO02E,EACfqF,EAAQ/7E,GAAK02E,EACboF,EAAW,GAAK,EAChBn8E,KAAKq8E,UAAY,EACjBS,EAAS,EACTC,EAAc,EAEd,MAAOZ,EAAWn8E,KAAKq8E,WAAatF,EAGlC,OAFAP,EAAQx2E,KAAKi9E,iBAELzG,GACN,KAAKsE,EACH96E,KAAKk9E,WAAWd,EAAQU,EAAS,GAAIC,GAEjCX,EAAQU,EAAS,GAAK/F,IACxB+F,GAAU,GAGZ,MAEF,KAAK/B,EAGH,GAFAvE,EAAQb,EAAQ,EAEZoH,EAAa,CACf,GACEvG,GAASwG,EAAQh9E,KAAKm9E,sBACfH,GAAS,IAElB,GACErH,GAASqH,EAAQh9E,KAAKo9E,sBACfJ,GAAS,QACb,CACL,GACExG,GAASwG,EAAQh9E,KAAKo9E,sBACfJ,GAAS,IAElB,GACErH,GAASqH,EAAQh9E,KAAKm9E,sBACfH,GAAS,IAGpBh9E,KAAKk9E,WAAWf,EAAWn8E,KAAKq8E,WAAa7F,EAAOuG,GAEhDZ,EAAWn8E,KAAKq8E,WAAatF,GAC/B/2E,KAAKk9E,WAAWf,EAAWn8E,KAAKq8E,WAAa1G,EAAqB,EAAdoH,GAGtD,MAAOX,EAAQU,IAAWX,EAAWn8E,KAAKq8E,YAAcD,EAAQU,GAAU/F,EACxE+F,GAAU,EAGZ,MAEF,KAAKzB,EAKH,GAJAr7E,KAAKk9E,WAAWd,EAAQU,GAAU,EAAGC,GAErCA,GAAe,EAEXZ,EAAWn8E,KAAKq8E,WAAatF,EAAS,GACtC+F,EAEF,MAAOV,EAAQU,IAAWX,EAAWn8E,KAAKq8E,YAAcD,EAAQU,GAAU/F,EACxE+F,GAAU,EAId,MAEF,KAAK3B,EAKH,GAJAn7E,KAAKk9E,WAAWd,EAAQU,GAAU,EAAGC,GAErCA,GAAe,EAEXZ,EAAWn8E,KAAKq8E,WAAatF,EAAS,GACtC+F,EAEF,MAAOV,EAAQU,IAAWX,EAAWn8E,KAAKq8E,YAAcD,EAAQU,GAAU/F,EACxE+F,GAAU,EAId,MAEF,KAAK7B,EAKH,GAJAj7E,KAAKk9E,WAAWd,EAAQU,GAAU,EAAGC,GAErCA,GAAe,EAEXZ,EAAWn8E,KAAKq8E,WAAatF,EAAS,GACtC+F,EAEF,MAAOV,EAAQU,IAAWX,EAAWn8E,KAAKq8E,YAAcD,EAAQU,GAAU/F,EACxE+F,GAAU,EAId,MAEF,KAAK9B,EAKH,GAJAh7E,KAAKk9E,WAAWd,EAAQU,GAASC,GAEjCA,GAAe,EAEXZ,EAAWn8E,KAAKq8E,WAAatF,EAAS,GACtC+F,EAEF,MAAOV,EAAQU,IAAWX,EAAWn8E,KAAKq8E,YAAcD,EAAQU,GAAU/F,EACxE+F,GAAU,EAId,MAEF,KAAKxB,EAKH,GAJAt7E,KAAKq9E,cAAcjB,EAAQU,GAAU,EAAGC,GAExCA,GAAe,EAEXZ,EAAWn8E,KAAKq8E,WAAatF,EAAS,CACpC+F,EAAS,IACTA,IAEAA,EAGJ,MAAOV,EAAQU,IAAWX,EAAWn8E,KAAKq8E,YAAcD,EAAQU,GAAU/F,EACxE+F,GAAU,EAId,MAEF,KAAK1B,EAKH,GAJAp7E,KAAKq9E,cAAcjB,EAAQU,GAAU,EAAGC,GAExCA,GAAe,EAEXZ,EAAWn8E,KAAKq8E,WAAatF,EAAS,CACpC+F,EAAS,IACTA,IAEAA,EAGJ,MAAOV,EAAQU,IAAWX,EAAWn8E,KAAKq8E,YAAcD,EAAQU,GAAU/F,EACxE+F,GAAU,EAId,MAEF,KAAK5B,EAKH,GAJAl7E,KAAKq9E,cAAcjB,EAAQU,GAAU,EAAGC,GAExCA,GAAe,EAEXZ,EAAWn8E,KAAKq8E,WAAatF,EAAS,CACpC+F,EAAS,IACTA,IAEAA,EAGJ,MAAOV,EAAQU,IAAWX,EAAWn8E,KAAKq8E,YAAcD,EAAQU,GAAU/F,EACxE+F,GAAU,EAId,MAEF,KAAKjC,EACH76E,KAAKk9E,WAAWnG,EAAS,GAEzB/2E,KAAK+zE,KAAM,EACX,MAEF,SACE,EAAItxE,EAAMsC,MAAM,eAEhB/E,KAAKk9E,WAAWnG,EAAS,GAEzB/2E,KAAKqE,KAAM,OAGZ,CACL83E,EAAW,GAAK,EAChBn8E,KAAKq8E,UAAY,EACjBU,EAAc,EAEd,MAAOZ,EAAWn8E,KAAKq8E,WAAatF,EAAS,CAG3C,GAFAP,EAAQ,EAEJuG,EACF,GACEvG,GAASwG,EAAQh9E,KAAKm9E,sBACfH,GAAS,SAElB,GACExG,GAASwG,EAAQh9E,KAAKo9E,sBACfJ,GAAS,IAGpBh9E,KAAKk9E,WAAWf,EAAWn8E,KAAKq8E,WAAa7F,EAAOuG,GAEpDA,GAAe,GAInB,IAAIO,GAAS,EAMb,GAJIt9E,KAAK+7E,YACP/7E,KAAKw8E,YAAa,GAGfx8E,KAAKi8E,SAAWj8E,KAAKs8E,MAAQt8E,KAAKg8E,KAAO,EAEvC,CAGL,GAFAxF,EAAQx2E,KAAK48E,UAAU,IAEnB58E,KAAK87E,OACP,MAAOtF,IAAUqE,GAAsB,IAAVrE,EAC3Bx2E,KAAK68E,SAAS,GAEdrG,EAAQx2E,KAAK48E,UAAU,SAGzB,MAAiB,IAAVpG,EACLx2E,KAAK68E,SAAS,GAEdrG,EAAQx2E,KAAK48E,UAAU,IAIb,IAAVpG,GACFx2E,KAAK68E,SAAS,IAEdS,GAAS,GACA9G,IAAUqE,IACnB76E,KAAK+zE,KAAM,QAvBb/zE,KAAK28E,UAAW,EAiClB,IANK38E,KAAK+zE,KAAO/zE,KAAK67E,SAAW,IAAM77E,KAAK28E,WAC1C38E,KAAKu8E,YAAcv8E,KAAK48E,UAAU,GAElC58E,KAAK68E,SAAS,IAGZ78E,KAAKi8E,SAAWqB,GAAUt9E,KAAK+7E,WAGjC,GAFAvF,EAAQx2E,KAAK48E,UAAU,IAET,IAAVpG,EAAa,CASf,GARAx2E,KAAK68E,SAAS,IAEV78E,KAAK67E,SAAW,IAClB77E,KAAK48E,UAAU,GAEf58E,KAAK68E,SAAS,IAGZ78E,KAAK67E,UAAY,EACnB,IAAKx7E,EAAI,EAAGA,EAAI,IAAKA,EACnBm2E,EAAQx2E,KAAK48E,UAAU,IAET,IAAVpG,IACF,EAAI/zE,EAAMsC,MAAM,iBAAmByxE,GAGrCx2E,KAAK68E,SAAS,IAEV78E,KAAK67E,SAAW,IAClB77E,KAAK48E,UAAU,GAEf58E,KAAK68E,SAAS,IAKpB78E,KAAK+zE,KAAM,QAER,GAAI/zE,KAAKqE,KAAOrE,KAAK87E,OAAQ,CAClC,MAAO,EAAM,CAGX,GAFAtF,EAAQx2E,KAAK48E,UAAU,IAEnBpG,IAAUqE,EAEZ,OADA76E,KAAK+zE,KAAM,GACH,EAGV,GAAIyC,GAAS,IAAM,EACjB,MAGFx2E,KAAK68E,SAAS,GAGhB78E,KAAK68E,SAAS,IAEV78E,KAAK67E,SAAW,IAClB77E,KAAK68E,SAAS,GAEd78E,KAAKu8E,aAAuB,EAAR/F,IAIpB2F,EAAW,GAAK,EAClBn8E,KAAK08E,WAAaP,EAAWn8E,KAAKq8E,UAAY,GAE9Cr8E,KAAK08E,WAAaP,EAAWn8E,KAAKq8E,UAAY,GAGhDr8E,KAAKs8E,MAKP,GAAIt8E,KAAK08E,YAAc,EACrBj8E,EAAqB,EAAjBT,KAAKq8E,UAAgB,EAAI,IAC7Br8E,KAAK08E,YAAc,EAEK,IAApB18E,KAAK08E,YAAoBP,EAAWn8E,KAAKq8E,WAAatF,IACxD/2E,KAAKq8E,YACLr8E,KAAK08E,WAAaP,EAAWn8E,KAAKq8E,WAAaF,EAAWn8E,KAAKq8E,UAAY,QAExE,CACLnH,EAAO,EACPz0E,EAAI,EAEJ,GACMT,KAAK08E,WAAaxH,GACpBz0E,IAAMy0E,EAEiB,EAAjBl1E,KAAKq8E,YACT57E,GAAK,KAAQ,EAAIy0E,GAGnBl1E,KAAK08E,YAAcxH,EACnBA,EAAO,IAEPz0E,IAAMT,KAAK08E,WAEY,EAAjB18E,KAAKq8E,YACT57E,GAAK,KAAQ,EAAIT,KAAK08E,YAGxBxH,GAAQl1E,KAAK08E,WACb18E,KAAK08E,WAAa,EAEdP,EAAWn8E,KAAKq8E,WAAatF,GAC/B/2E,KAAKq8E,YACLr8E,KAAK08E,WAAaP,EAAWn8E,KAAKq8E,WAAaF,EAAWn8E,KAAKq8E,UAAY,IAClEnH,EAAO,IAChBz0E,IAAMy0E,EACNA,EAAO,UAGJA,GAOX,OAJIl1E,KAAKk8E,QACPz7E,GAAK,KAGAA,GAETy8E,WAAY,SAAoBK,EAAIR,GAClC,IAAIZ,EAAan8E,KAAKm8E,WAClBE,EAAYr8E,KAAKq8E,UAEjBkB,EAAKpB,EAAWE,KACdkB,EAAKv9E,KAAK+2E,WACZ,EAAIt0E,EAAMsC,MAAM,uBAChB/E,KAAKqE,KAAM,EACXk5E,EAAKv9E,KAAK+2E,SAGI,EAAZsF,EAAgBU,KAChBV,EAGJF,EAAWE,GAAakB,GAG1Bv9E,KAAKq8E,UAAYA,GAEnBgB,cAAe,SAAuBE,EAAIR,GACxC,IAAIZ,EAAan8E,KAAKm8E,WAClBE,EAAYr8E,KAAKq8E,UAErB,GAAIkB,EAAKpB,EAAWE,GACdkB,EAAKv9E,KAAK+2E,WACZ,EAAIt0E,EAAMsC,MAAM,uBAChB/E,KAAKqE,KAAM,EACXk5E,EAAKv9E,KAAK+2E,SAGI,EAAZsF,EAAgBU,KAChBV,EAGJF,EAAWE,GAAakB,OACnB,GAAIA,EAAKpB,EAAWE,GAAY,CACjCkB,EAAK,KACP,EAAI96E,EAAMsC,MAAM,gBAChB/E,KAAKqE,KAAM,EACXk5E,EAAK,GAGP,MAAOlB,EAAY,GAAKkB,EAAKpB,EAAWE,EAAY,KAChDA,EAGJF,EAAWE,GAAakB,EAG1Bv9E,KAAKq8E,UAAYA,GAEnBmB,eAAgB,SAAwBxuE,EAAO0mB,EAAK0/C,EAAO1b,GAGzD,IAFA,IAAI+jB,EAAa/jB,GAAS,EAEjBr5D,EAAI2O,EAAO3O,GAAKq1B,IAAOr1B,EAAG,CACjC,IAAI4L,EAAOjM,KAAK48E,UAAUv8E,GAE1B,GAAI4L,IAAS4uE,EACX,MAAO,EAAC,EAAM,GAAG,GAOnB,GAJIx6E,EAAIq1B,IACNzpB,IAASypB,EAAMr1B,IAGZo9E,GAAcxxE,GAAQwxE,EAAY,CACrC,IAAIv7E,EAAIkzE,EAAMnpE,EAAOwxE,GAErB,GAAIv7E,EAAE,KAAO7B,EAGX,OAFAL,KAAK68E,SAASx8E,GAEP,EAAC,EAAM6B,EAAE,IAAI,IAK1B,MAAO,EAAC,EAAO,GAAG,IAEpB+6E,eAAgB,WACd,IACI/6E,EADA+J,EAAO,EAGX,GAAIjM,KAAKi8E,SAIP,GAHAhwE,EAAOjM,KAAK48E,UAAU,GACtB16E,EAAIq5E,EAAYtvE,GAEZ/J,GAAKA,EAAE,GAAK,EAGd,OAFAlC,KAAK68E,SAAS36E,EAAE,IAETA,EAAE,OAEN,CACL,IAAIuR,EAASzT,KAAKw9E,eAAe,EAAG,EAAGjC,GAEvC,GAAI9nE,EAAO,IAAMA,EAAO,GACtB,OAAOA,EAAO,GAKlB,OADA,EAAIhR,EAAMsC,MAAM,oBACT81E,GAETuC,cAAe,WACb,IACIl7E,EADA+J,EAAO,EAGX,GAAIjM,KAAKi8E,QAAS,CAGhB,GAFAhwE,EAAOjM,KAAK48E,UAAU,IAElB3wE,IAAS4uE,EACX,OAAO,EAST,GALE34E,EADE+J,GAAQ,IAAM,EACZuvE,EAAYvvE,GAEZwvE,EAAYxvE,GAAQ,GAGtB/J,EAAE,GAAK,EAGT,OAFAlC,KAAK68E,SAAS36E,EAAE,IAETA,EAAE,OAEN,CACL,IAAIuR,EAASzT,KAAKw9E,eAAe,EAAG,EAAG/B,GAEvC,GAAIhoE,EAAO,GACT,OAAOA,EAAO,GAKhB,GAFAA,EAASzT,KAAKw9E,eAAe,GAAI,GAAIhC,GAEjC/nE,EAAO,GACT,OAAOA,EAAO,GAQlB,OAJA,EAAIhR,EAAMsC,MAAM,kBAEhB/E,KAAK68E,SAAS,GAEP,GAETM,cAAe,WACb,IAAIlxE,EAAM/J,EAEV,GAAIlC,KAAKi8E,QAAS,CAGhB,GAFAhwE,EAAOjM,KAAK48E,UAAU,IAElB3wE,IAAS4uE,EACX,OAAO,EAWT,GAPE34E,EADE+J,GAAQ,IAAM,EACZyvE,EAAYzvE,GACPA,GAAQ,IAAM,GAAKA,GAAQ,IAAM,EACtC0vE,GAAa1vE,GAAQ,GAAK,IAE1B2vE,EAAY3vE,GAAQ,GAGtB/J,EAAE,GAAK,EAGT,OAFAlC,KAAK68E,SAAS36E,EAAE,IAETA,EAAE,OAEN,CACL,IAAIuR,EAASzT,KAAKw9E,eAAe,EAAG,EAAG5B,GAEvC,GAAInoE,EAAO,GACT,OAAOA,EAAO,GAKhB,GAFAA,EAASzT,KAAKw9E,eAAe,EAAG,GAAI7B,EAAa,IAE7CloE,EAAO,GACT,OAAOA,EAAO,GAKhB,GAFAA,EAASzT,KAAKw9E,eAAe,GAAI,GAAI9B,GAEjCjoE,EAAO,GACT,OAAOA,EAAO,GAQlB,OAJA,EAAIhR,EAAMsC,MAAM,kBAEhB/E,KAAK68E,SAAS,GAEP,GAETD,UAAW,SAAmB/6E,GAC5B,IAAIpB,EAEJ,MAAOT,KAAKw8E,UAAY36E,EAAG,CACzB,IAAkC,KAA7BpB,EAAIT,KAAK0J,OAAOzF,QACnB,OAAuB,IAAnBjE,KAAKw8E,UACA3B,EAGF76E,KAAKy8E,UAAY56E,EAAI7B,KAAKw8E,UAAY,OAAU,GAAK36E,EAG9D7B,KAAKy8E,SAAWz8E,KAAKy8E,UAAY,EAAIh8E,EACrCT,KAAKw8E,WAAa,EAGpB,OAAOx8E,KAAKy8E,UAAYz8E,KAAKw8E,UAAY36E,EAAI,OAAU,GAAKA,GAE9Dg7E,SAAU,SAAkBh7E,IACrB7B,KAAKw8E,WAAa36E,GAAK,IAC1B7B,KAAKw8E,UAAY,KAIhBpC,EAvqBa,GA0qBtBr6E,EAAQq6E,gBAAkBA,GAIpB,SAAUt6E,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ+wE,iBAAc,EAEtB,IAAIpuE,EAAcvC,EAAoB,KAElCi7C,EAAUj7C,EAAoB,KAE9Bu9E,EAAQv9E,EAAoB,KAE5BsC,EAAQtC,EAAoB,GAE5B2wE,EAAc,WAChB,SAASA,EAAYvjE,EAAQuiE,EAAapkB,EAAMwY,GAC9ClkE,KAAKuN,OAASA,EACdvN,KAAK8vE,YAAcA,EACnB9vE,KAAK0rD,KAAOA,EACZ1rD,KAAKkkE,OAASA,EAEd9oB,EAAQ+3B,aAAa5yE,KAAKP,KAAM8vE,GAmDlC,OAhDAgB,EAAY9uE,UAAYlB,OAAOY,OAAO05C,EAAQ+3B,aAAanxE,WAC3DlB,OAAOC,eAAe+vE,EAAY9uE,UAAW,QAAS,CACpDf,IAAK,WACH,OAAO,EAAIwB,EAAMiW,QAAQ1Y,KAAM,QAASA,KAAKuN,OAAO6+C,SAASpsD,KAAK8vE,eAEpE3nD,cAAc,IAGhB2oD,EAAY9uE,UAAUkyE,aAAe,SAAUC,KAE/CrD,EAAY9uE,UAAUiyE,UAAY,WAChC,IAAIj0E,KAAK+zE,IAAT,CAIA,IAAI4J,EAAa,IAAID,EAAME,WACvBluB,EAAS,GAEb,IAAI,EAAIhtD,EAAY4mD,QAAQtpD,KAAKkkE,QAAS,CACxC,IAAI2Z,EAAgB79E,KAAKkkE,OAAOjjE,IAAI,gBAEpC,IAAI,EAAIyB,EAAYgnD,UAAUm0B,GAAgB,CAC5C,IAAIC,EAAUD,EAAczxB,WAC5BsD,EAAOvrD,KAAK,CACVmC,KAAMw3E,EACN9uE,MAAO,EACP0mB,IAAKooD,EAAQ15E,UAKnBsrD,EAAOvrD,KAAK,CACVmC,KAAMtG,KAAKwN,MACXwB,MAAO,EACP0mB,IAAK11B,KAAKwN,MAAMpJ,SAKlB,IAHA,IAAIkC,EAAOq3E,EAAWI,YAAYruB,GAC9BkY,EAAathE,EAAKlC,OAEb/D,EAAI,EAAGA,EAAIunE,EAAYvnE,IAC9BiG,EAAKjG,IAAM,IAGbL,KAAK+pB,OAASzjB,EACdtG,KAAK8zE,aAAelM,EACpB5nE,KAAK+zE,KAAM,IAGNjD,EA1DS,GA6DlB/wE,EAAQ+wE,YAAcA,GAIhB,SAAUhxE,EAAQC,EAASI,GAEjC,aAGAW,OAAOC,eAAehB,EAAS,aAAc,CAC3CsB,OAAO,IAETtB,EAAQ69E,gBAAa,EAErB,IAAIn7E,EAAQtC,EAAoB,GAE5B69E,EAAsB79E,EAAoB,KAE1C+5E,EAAS/5E,EAAoB,KAE7B89E,EAAa,WACf,SAASA,EAAW52D,GAClBrnB,KAAK0M,QAAU,gBAAkB2a,EAMnC,OAHA42D,EAAWj8E,UAAY,IAAIgE,MAC3Bi4E,EAAWj8E,UAAUrB,KAAO,aAC5Bs9E,EAAW96E,YAAc86E,EAClBA,EARQ,GAWbL,EAAa,WACf,SAASM,KAYT,SAASC,EAAgB73E,EAAM0I,EAAO0mB,GACpC11B,KAAKsG,KAAOA,EACZtG,KAAKgP,MAAQA,EACbhP,KAAK01B,IAAMA,EAgBb,SAAS0oD,EAAcC,EAAcC,EAAWC,GAC9C,IAAIC,EAAWH,EAAaI,YAAYH,GACpCr1E,EAAO,EAEX,SAASuwE,EAASp1E,GAGhB,IAFA,IAAI6mB,EAAI,EAEC5qB,EAAI,EAAGA,EAAI+D,EAAQ/D,IAAK,CAC/B,IAAIq+E,EAAMH,EAAQI,QAAQH,EAAUv1E,GACpCA,EAAOA,EAAO,IAAMA,GAAQ,EAAIy1E,EAA0B,KAAnBz1E,GAAQ,EAAIy1E,GAAa,IAChEzzD,EAAIA,GAAK,EAAIyzD,EAGf,OAAOzzD,IAAM,EAGf,IAAIomD,EAAOmI,EAAS,GAChBn4E,EAAQm4E,EAAS,GAAKA,EAAS,GAAKA,EAAS,GAAKA,EAAS,GAAKA,EAAS,GAAKA,EAAS,IAAM,KAAOA,EAAS,IAAM,IAAMA,EAAS,GAAK,GAAKA,EAAS,GAAK,GAAKA,EAAS,GAAK,EAAIA,EAAS,GAC9L,OAAgB,IAATnI,EAAahwE,EAAQA,EAAQ,GAAKA,EAAQ,KAGnD,SAASu9E,EAAWP,EAAcE,EAASvF,GAIzC,IAHA,IAAIwF,EAAWH,EAAaI,YAAY,QACpCx1E,EAAO,EAEF5I,EAAI,EAAGA,EAAI24E,EAAY34E,IAAK,CACnC,IAAIq+E,EAAMH,EAAQI,QAAQH,EAAUv1E,GACpCA,EAAOA,GAAQ,EAAIy1E,EAGrB,OAAI1F,EAAa,GACR/vE,GAAQ,GAAK+vE,GAAc,EAGtB,WAAP/vE,EA/DTi1E,EAAal8E,UAAY,CACvBy8E,YAAa,SAAqB/vE,GAChC,OAAIA,KAAM1O,KACDA,KAAK0O,GAGP1O,KAAK0O,GAAM,IAAImwE,UAAU,SAUpCV,EAAgBn8E,UAAY,CAC1B,cACE,IAAIu8E,EAAU,IAAIP,EAAoBc,kBAAkB9+E,KAAKsG,KAAMtG,KAAKgP,MAAOhP,KAAK01B,KACpF,OAAO,EAAIjzB,EAAMiW,QAAQ1Y,KAAM,UAAWu+E,IAG5C,mBACE,IAAIxZ,EAAQ,IAAImZ,EAChB,OAAO,EAAIz7E,EAAMiW,QAAQ1Y,KAAM,eAAgB+kE,KA0CnD,IAAIga,EAAe,CAAC,mBAAoB,KAAM,KAAM,KAAM,yBAA0B,KAAM,sBAAuB,8BAA+B,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,oBAAqB,KAAM,KAAM,KAAM,6BAA8B,KAAM,0BAA2B,kCAAmC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,4BAA6B,KAAM,yBAA0B,iCAAkC,sCAAuC,KAAM,mCAAoC,2CAA4C,KAAM,KAAM,KAAM,KAAM,kBAAmB,YAAa,cAAe,YAAa,WAAY,SAAU,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,aACnwBC,EAAkB,CAAC,CAAC,CACtBv1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,GAAI,EACJw1D,EAAG,IACD,CAAC,CACHx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,GAAI,EACJw1D,EAAG,IACD,CAAC,CACHx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,GAAI,EACJw1D,EAAG,IACD,CAAC,CACHx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,GAAI,EACJw1D,EAAG,KAEDC,EAAsB,CAAC,CACzBC,OAAQ,CAAC,CACP11D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,EAAG,IAELG,UAAW,CAAC,CACV31D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,EAAG,EACHw1D,EAAG,GACF,CACDx1D,EAAG,EACHw1D,EAAG,GACF,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,EAAG,EACHw1D,EAAG,GACF,CACDx1D,EAAG,EACHw1D,EAAG,KAEJ,CACDE,OAAQ,CAAC,CACP11D,GAAI,EACJw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,EAAG,IAELG,UAAW,CAAC,CACV31D,EAAG,EACHw1D,GAAI,GACH,CACDx1D,GAAI,EACJw1D,EAAG,GACF,CACDx1D,EAAG,EACHw1D,EAAG,GACF,CACDx1D,EAAG,EACHw1D,EAAG,GACF,CACDx1D,EAAG,EACH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GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,KACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,GACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,EACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GA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,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,KACphDvG,KAAKu3G,OAAS,IAAIhxG,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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Jqa,IAAK,EACLohI,YAAY,GACX,CACDz7I,GAAI,UACJqa,IAAK,EACLohI,YAAY,GACX,CACDz7I,GAAI,UACJqa,IAAK,EACLohI,YAAY,GACX,CACDz7I,GAAI,YACJqa,IAAK,EACLohI,YAAY,GACX,KAAM,CACPz7I,GAAI,WACJqa,IAAK,EACLqhI,YAAY,GACX,CACD17I,GAAI,SACJqa,IAAK,EACLqhI,YAAY,GACX,KAAM,KAAM,CACb17I,GAAI,UACJqa,IAAK,EACLkhI,eAAe,GACd,KAAM,KAAM,KAAM,CACnBv7I,GAAI,UACJqa,IAAK,EACLkhI,eAAe,EACfC,MAAM,GACL,CACDx7I,GAAI,WACJqa,IAAK,EACLkhI,eAAe,GACd,CACDv7I,GAAI,WACJqa,IAAK,EACLkhI,eAAe,GACd,CACDv7I,GAAI,UACJqa,IAAK,EACLkhI,eAAe,GACd,CACDv7I,GAAI,UACJqa,IAAK,EACLkhI,eAAe,GACd,CACDv7I,GAAI,UACJqa,IAAK,EACLkhI,eAAe,EACfC,MAAM,GACL,CACDx7I,GAAI,aACJqa,IAAK,EACLohI,YAAY,GACX,CACDz7I,GAAI,aACJqa,IAAK,EACLohI,YAAY,GACX,CACDz7I,GAAI,YACJqa,IAAK,EACLohI,YAAY,GACX,CACDz7I,GAAI,YACJqa,IAAK,EACLohI,YAAY,GACX,KAAM,CACPz7I,GAAI,YACJqa,IAAK,EACLqhI,YAAY,GACX,CACD17I,GAAI,YACJqa,IAAK,EACLohI,YAAY,GACX,CACDz7I,GAAI,YACJqa,IAAK,EACLohI,YAAY,IAEVE,EAA6B,CAAC,KAAM,KAAM,KAAM,CAClD37I,GAAI,MACJqa,IAAK,EACLy5H,YAAa,GACZ,CACD9zI,GAAI,KACJqa,IAAK,EACLy5H,YAAa,GACZ,CACD9zI,GAAI,MACJqa,IAAK,EACLy5H,WAAY,GACX,KAAM,KAAM,KAAM,CACnB9zI,GAAI,MACJqa,IAAK,EACLy5H,WAAY,GACX,CACD9zI,GAAI,MACJqa,IAAK,EACLy5H,YAAa,EACb8H,QAAS,SAAmBx6I,EAAO8c,GACjC9c,EAAM8c,E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KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,MACjBA,EAAE,aAAe,KACjBA,EAAE,WAAa,KACfA,EAAE,WAAa,KACfA,EAAE,WAAa,KACfA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA,EAAE,aAAe,KACjBA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,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,KACXA,EAAE,OAAS,MACXA,EAAE,OAAS,KACXA,EAAE,OAAS,MACXA,EAAE,QAAU,MACZA,EAAE,OAAS,MACXA,EAAE,QAAU,MACZA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,KACXA,EAAE,OAAS,MACXA,EAAE,OAAS,KACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,OAAS,MACXA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,KACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU,MACZA,EAAE,QAAU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A,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,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,KACV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,GAAKA,GAAW,GAGrC,OAAQ,EAFRD,EAAS1yJ,EAAK85D,UAAU,GAIzB,GAAI44F,IAAWA,EAAOE,gBACrBrsG,EAAU2B,SAASwqG,EAAQ,IACvBnsG,GAAW,GACd,OAAOA,EAIV,OAAQ,EAET,IAAIssG,EAAgB,CACnB,CACC,MAAS,EACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,KAER,CACC,MAAS,IACT,IAAO,MAER,CACC,MAAS,MACT,IAAO,OAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,CACC,MAAS,KACT,IAAO,MAER,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,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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ACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,OACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,UACdA,EAAE,KAAY,SACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,I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AM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,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,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,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,IAAK,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,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,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,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,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,KAAM,MAAO,MAAO,MAAO,MAAO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OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,OAAS,IACXA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,QAAU,IACZA,EAAE,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","file":"js/pdfjsWorker.3a77c640.js","sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2019 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.2.228';\nvar pdfjsBuild = 'd7afb74a';\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__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _pdf_manager = __w_pdfjs_require__(152);\n\nvar _is_node = _interopRequireDefault(__w_pdfjs_require__(8));\n\nvar _message_handler = __w_pdfjs_require__(191);\n\nvar _worker_stream = __w_pdfjs_require__(192);\n\nvar _core_utils = __w_pdfjs_require__(154);\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;\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 verbosity = (0, _util.getVerbosityLevel)();\n var apiVersion = docParams.apiVersion;\n var workerVersion = '2.2.228';\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 _ref4, _ref5, 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 _ref4 = _context.sent;\n _ref5 = _slicedToArray(_ref4, 2);\n numPages = _ref5[0];\n fingerprint = _ref5[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);\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 _worker_stream.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 _core_utils.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 (_ref) {\n var _ref2 = _slicedToArray(_ref, 4),\n rotate = _ref2[0],\n ref = _ref2[1],\n userUnit = _ref2[2],\n view = _ref2[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 = _primitives.Ref.get(data.ref.num, data.ref.gen);\n\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('GetPageLayout', function wphSetupGetPageLayout(data) {\n return pdfManager.ensureCatalog('pageLayout');\n });\n handler.on('GetPageMode', function wphSetupGetPageMode(data) {\n return pdfManager.ensureCatalog('pageMode');\n });\n handler.on('GetViewerPreferences', function (data) {\n return pdfManager.ensureCatalog('viewerPreferences');\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 (_ref3) {\n var pageIndex = _ref3.pageIndex,\n intent = _ref3.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 start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\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\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getOperatorList: time=\") + \"\".concat(Date.now() - start, \"ms, len=\").concat(operatorList.totalLength));\n }\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 pageIndex: pageIndex,\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 start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\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\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getTextContent: time=\") + \"\".concat(Date.now() - start, \"ms\"));\n }\n\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 (0, _primitives.clearPrimitiveCaches)();\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/* 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\nvar runtime = function (exports) {\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\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 exports.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 exports.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 exports.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 exports.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 exports.AsyncIterator = AsyncIterator;\n\n exports.async = function (innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));\n return exports.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 exports.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 exports.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 return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))\n\n/***/ }),\n/* 4 */\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/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\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.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = 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__(6);\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 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\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 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\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 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 isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\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/* 6 */\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__(7);\n\nif (!globalScope._pdfjsCompatibilityChecked) {\n globalScope._pdfjsCompatibilityChecked = true;\n\n var isNodeJS = __w_pdfjs_require__(8);\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, _tokens = tokens; _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, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {\n var token = _tokens2[_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__(9);\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/* 7 */\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/* 8 */\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'] && !process.versions['electron'];\n};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n__w_pdfjs_require__(10);\n\nmodule.exports = __w_pdfjs_require__(13).String.startsWith;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar toLength = __w_pdfjs_require__(32);\n\nvar context = __w_pdfjs_require__(34);\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/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar core = __w_pdfjs_require__(13);\n\nvar hide = __w_pdfjs_require__(14);\n\nvar redefine = __w_pdfjs_require__(24);\n\nvar ctx = __w_pdfjs_require__(30);\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/* 12 */\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/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = module.exports = {\n version: '2.6.9'\n};\nif (typeof __e == 'number') __e = core;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar dP = __w_pdfjs_require__(15);\n\nvar createDesc = __w_pdfjs_require__(23);\n\nmodule.exports = __w_pdfjs_require__(19) ? 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/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(18);\n\nvar toPrimitive = __w_pdfjs_require__(22);\n\nvar dP = Object.defineProperty;\nexports.f = __w_pdfjs_require__(19) ? 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/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n/***/ }),\n/* 17 */\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/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(19) && !__w_pdfjs_require__(20)(function () {\n return Object.defineProperty(__w_pdfjs_require__(21)('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = !__w_pdfjs_require__(20)(function () {\n return Object.defineProperty({}, '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 = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar document = __w_pdfjs_require__(12).document;\n\nvar is = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\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/* 23 */\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/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar hide = __w_pdfjs_require__(14);\n\nvar has = __w_pdfjs_require__(25);\n\nvar SRC = __w_pdfjs_require__(26)('src');\n\nvar $toString = __w_pdfjs_require__(27);\n\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__w_pdfjs_require__(13).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/* 25 */\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/* 26 */\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/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(28)('native-function-to-string', Function.toString);\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar core = __w_pdfjs_require__(13);\n\nvar global = __w_pdfjs_require__(12);\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__(29) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = false;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar aFunction = __w_pdfjs_require__(31);\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/* 31 */\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/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar toInteger = __w_pdfjs_require__(33);\n\nvar min = Math.min;\n\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0;\n};\n\n/***/ }),\n/* 33 */\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/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __w_pdfjs_require__(35);\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/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar cof = __w_pdfjs_require__(36);\n\nvar MATCH = __w_pdfjs_require__(37)('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/* 36 */\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/* 37 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar store = __w_pdfjs_require__(28)('wks');\n\nvar uid = __w_pdfjs_require__(26);\n\nvar _Symbol = __w_pdfjs_require__(12).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/* 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__(37)('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__(13).String.endsWith;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar toLength = __w_pdfjs_require__(32);\n\nvar context = __w_pdfjs_require__(34);\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__(13).String.includes;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar context = __w_pdfjs_require__(34);\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__(13).Array.includes;\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\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__(32);\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__(36);\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__(33);\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__(37)('unscopables');\n\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __w_pdfjs_require__(14)(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__(13).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__(33);\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__(29);\n\nvar $export = __w_pdfjs_require__(11);\n\nvar redefine = __w_pdfjs_require__(24);\n\nvar hide = __w_pdfjs_require__(14);\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__(37)('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__(23);\n\nvar setToStringTag = __w_pdfjs_require__(64);\n\nvar IteratorPrototype = {};\n\n__w_pdfjs_require__(14)(IteratorPrototype, __w_pdfjs_require__(37)('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__(16);\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__(21)('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__(15);\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar getKeys = __w_pdfjs_require__(59);\n\nmodule.exports = __w_pdfjs_require__(19) ? 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__(25);\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__(28)('keys');\n\nvar uid = __w_pdfjs_require__(26);\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__(12).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__(15).f;\n\nvar has = __w_pdfjs_require__(25);\n\nvar TAG = __w_pdfjs_require__(37)('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__(25);\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__(30);\n\nvar $export = __w_pdfjs_require__(11);\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__(32);\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__(16);\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__(37)('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__(15);\n\nvar createDesc = __w_pdfjs_require__(23);\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__(37)('iterator');\n\nvar Iterators = __w_pdfjs_require__(55);\n\nmodule.exports = __w_pdfjs_require__(13).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__(36);\n\nvar TAG = __w_pdfjs_require__(37)('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__(37)('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__(13).Object.assign;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\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 DESCRIPTORS = __w_pdfjs_require__(19);\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__(20)(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 key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) 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__(13).Math.log2;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\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__(13).Number.isNaN;\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\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__(13).Number.isInteger;\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\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__(17);\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__(13).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__(37)('toStringTag')] = 'z';\n\nif (test + '' != '[object z]') {\n __w_pdfjs_require__(24)(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__(24);\n\nvar global = __w_pdfjs_require__(12);\n\nvar hide = __w_pdfjs_require__(14);\n\nvar Iterators = __w_pdfjs_require__(55);\n\nvar wks = __w_pdfjs_require__(37);\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__(29);\n\nvar global = __w_pdfjs_require__(12);\n\nvar ctx = __w_pdfjs_require__(30);\n\nvar classof = __w_pdfjs_require__(72);\n\nvar $export = __w_pdfjs_require__(11);\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar aFunction = __w_pdfjs_require__(31);\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__(37)('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__(13)[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__(30);\n\nvar call = __w_pdfjs_require__(68);\n\nvar isArrayIter = __w_pdfjs_require__(69);\n\nvar anObject = __w_pdfjs_require__(16);\n\nvar toLength = __w_pdfjs_require__(32);\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__(16);\n\nvar aFunction = __w_pdfjs_require__(31);\n\nvar SPECIES = __w_pdfjs_require__(37)('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__(30);\n\nvar invoke = __w_pdfjs_require__(96);\n\nvar html = __w_pdfjs_require__(63);\n\nvar cel = __w_pdfjs_require__(21);\n\nvar global = __w_pdfjs_require__(12);\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__(36)(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__(12);\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__(36)(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__(31);\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__(12);\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__(16);\n\nvar isObject = __w_pdfjs_require__(17);\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__(24);\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__(12);\n\nvar dP = __w_pdfjs_require__(15);\n\nvar DESCRIPTORS = __w_pdfjs_require__(19);\n\nvar SPECIES = __w_pdfjs_require__(37)('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__(11);\n\nvar core = __w_pdfjs_require__(13);\n\nvar global = __w_pdfjs_require__(12);\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__(11);\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__(13).WeakMap;\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar each = __w_pdfjs_require__(108)(0);\n\nvar redefine = __w_pdfjs_require__(24);\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__(17);\n\nvar validate = __w_pdfjs_require__(114);\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(114);\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\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 (NATIVE_WEAK_MAP && IS_IE11) {\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__(30);\n\nvar IObject = __w_pdfjs_require__(48);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar toLength = __w_pdfjs_require__(32);\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__(17);\n\nvar isArray = __w_pdfjs_require__(111);\n\nvar SPECIES = __w_pdfjs_require__(37)('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__(36);\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__(26)('meta');\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar has = __w_pdfjs_require__(25);\n\nvar setDesc = __w_pdfjs_require__(15).f;\n\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar FREEZE = !__w_pdfjs_require__(20)(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__(16);\n\nvar isObject = __w_pdfjs_require__(17);\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__(25);\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__(17);\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__(12);\n\nvar $export = __w_pdfjs_require__(11);\n\nvar redefine = __w_pdfjs_require__(24);\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__(17);\n\nvar fails = __w_pdfjs_require__(20);\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__(17);\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__(17);\n\nvar anObject = __w_pdfjs_require__(16);\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__(30)(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__(23);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar toPrimitive = __w_pdfjs_require__(22);\n\nvar has = __w_pdfjs_require__(25);\n\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(18);\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nexports.f = __w_pdfjs_require__(19) ? 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__(11);\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__(11);\n\nvar aFunction = __w_pdfjs_require__(31);\n\nvar ctx = __w_pdfjs_require__(30);\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__(13).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__(13).String.codePointAt;\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\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__(13).String.fromCodePoint;\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\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__(13).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__(12);\n\nvar has = __w_pdfjs_require__(25);\n\nvar DESCRIPTORS = __w_pdfjs_require__(19);\n\nvar $export = __w_pdfjs_require__(11);\n\nvar redefine = __w_pdfjs_require__(24);\n\nvar META = __w_pdfjs_require__(112).KEY;\n\nvar $fails = __w_pdfjs_require__(20);\n\nvar shared = __w_pdfjs_require__(28);\n\nvar setToStringTag = __w_pdfjs_require__(64);\n\nvar uid = __w_pdfjs_require__(26);\n\nvar wks = __w_pdfjs_require__(37);\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__(16);\n\nvar isObject = __w_pdfjs_require__(17);\n\nvar toObject = __w_pdfjs_require__(66);\n\nvar toIObject = __w_pdfjs_require__(47);\n\nvar toPrimitive = __w_pdfjs_require__(22);\n\nvar createDesc = __w_pdfjs_require__(23);\n\nvar _create = __w_pdfjs_require__(57);\n\nvar gOPNExt = __w_pdfjs_require__(136);\n\nvar $GOPD = __w_pdfjs_require__(118);\n\nvar $GOPS = __w_pdfjs_require__(77);\n\nvar $DP = __w_pdfjs_require__(15);\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' && !!$GOPS.f;\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 $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__w_pdfjs_require__(29)) {\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});\nvar FAILS_ON_PRIMITIVES = $fails(function () {\n $GOPS.f(1);\n});\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\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__(14)($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__(37);\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar global = __w_pdfjs_require__(12);\n\nvar core = __w_pdfjs_require__(13);\n\nvar LIBRARY = __w_pdfjs_require__(29);\n\nvar wksExt = __w_pdfjs_require__(133);\n\nvar defineProperty = __w_pdfjs_require__(15).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__(13).String.padStart;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar $pad = __w_pdfjs_require__(140);\n\nvar userAgent = __w_pdfjs_require__(100);\n\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n$export($export.P + $export.F * WEBKIT_BUG, '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__(32);\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__(33);\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__(13).String.padEnd;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\n\nvar $pad = __w_pdfjs_require__(140);\n\nvar userAgent = __w_pdfjs_require__(100);\n\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n$export($export.P + $export.F * WEBKIT_BUG, '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__(13).Object.values;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar $export = __w_pdfjs_require__(11);\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 DESCRIPTORS = __w_pdfjs_require__(19);\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 key = keys[i++];\n\n if (!DESCRIPTORS || isEnum.call(O, key)) {\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__(7).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.clearPrimitiveCaches = clearPrimitiveCaches;\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\nvar _util = __w_pdfjs_require__(5);\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 var nameCache = Object.create(null);\n\n function Name(name) {\n this.name = name;\n }\n\n Name.prototype = {};\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 Name._clearCache = function () {\n nameCache = Object.create(null);\n };\n\n return Name;\n}();\n\nexports.Name = Name;\n\nvar Cmd = function CmdClosure() {\n var cmdCache = Object.create(null);\n\n function Cmd(cmd) {\n this.cmd = cmd;\n }\n\n Cmd.prototype = {};\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 Cmd._clearCache = function () {\n cmdCache = Object.create(null);\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 var refCache = Object.create(null);\n\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\");\n }\n\n return \"\".concat(this.num, \"R\").concat(this.gen);\n }\n };\n\n Ref.get = function (num, gen) {\n var key = gen === 0 ? \"\".concat(num, \"R\") : \"\".concat(num, \"R\").concat(gen);\n var refValue = refCache[key];\n return refValue ? refValue : refCache[key] = new Ref(num, gen);\n };\n\n Ref._clearCache = function () {\n refCache = Object.create(null);\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\nfunction clearPrimitiveCaches() {\n Cmd._clearCache();\n\n Name._clearCache();\n\n Ref._clearCache();\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.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _chunked_stream = __w_pdfjs_require__(153);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _document = __w_pdfjs_require__(155);\n\nvar _stream = __w_pdfjs_require__(158);\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 _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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 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);\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(_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);\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(_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 _core_utils.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/* 153 */\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__(5);\n\nvar _core_utils = __w_pdfjs_require__(154);\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 if (pos < this.progressiveDataLength) {\n return;\n }\n\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 _core_utils.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 _core_utils.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 if (length) {\n this.ensureRange(start, start + length);\n } else {\n this.ensureByte(start);\n }\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, _loadedRequests = loadedRequests; _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/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getInheritableProperty = getInheritableProperty;\nexports.toRomanNumerals = toRomanNumerals;\nexports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\nvar _util = __w_pdfjs_require__(5);\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 MissingDataException = function MissingDataExceptionClosure() {\n function MissingDataException(begin, end) {\n this.begin = begin;\n this.end = end;\n this.message = \"Missing data [\".concat(begin, \", \").concat(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\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 (0, _util.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 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 (0, _util.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\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.PDFDocument = exports.Page = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(156);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _stream2 = __w_pdfjs_require__(158);\n\nvar _annotation = __w_pdfjs_require__(170);\n\nvar _crypto = __w_pdfjs_require__(168);\n\nvar _parser = __w_pdfjs_require__(157);\n\nvar _operator_list = __w_pdfjs_require__(171);\n\nvar _evaluator = __w_pdfjs_require__(172);\n\nvar _function = __w_pdfjs_require__(186);\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 idCounters = {\n obj: 0\n };\n this.idFactory = {\n createObjId: function createObjId() {\n return \"p\".concat(pageIndex, \"_\").concat(++idCounters.obj);\n },\n getDocId: function getDocId() {\n return \"g_\".concat(pdfManager.docId);\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, _core_utils.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 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 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) {\n var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n (0, _util.assert)(limit > 0, 'The \"limit\" must be a positive integer.');\n var str = (0, _util.bytesToString)(stream.peekBytes(limit));\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 ((!Array.isArray(fields) || fields.length === 0) && !this.xfa) {\n this.acroForm = null;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.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 try {\n var collection = this.catalog.catDict.get('Collection');\n\n if ((0, _primitives.isDict)(collection) && collection.getKeys().length > 0) {\n this.collection = collection;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)('Cannot fetch Collection dictionary.');\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\n var ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);\n\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 _core_utils.XRefEntryException) {\n _this6._pagePromises.length = 0;\n\n _this6.cleanup();\n\n throw new _core_utils.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 _core_utils.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 IsCollectionPresent: !!this.collection\n };\n var infoDict;\n\n try {\n infoDict = this.xref.trailer.get('Info');\n } catch (err) {\n if (err instanceof _core_utils.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/* 156 */\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__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _parser = __w_pdfjs_require__(157);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _chunked_stream = __w_pdfjs_require__(153);\n\nvar _crypto = __w_pdfjs_require__(168);\n\nvar _colorspace = __w_pdfjs_require__(169);\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 count = outlineDict.get('Count');\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: Number.isInteger(count) ? count : undefined,\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 return undefined;\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, _core_utils.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 (0, _primitives.clearPrimitiveCaches)();\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 _core_utils.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 _core_utils.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 _core_utils.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 _core_utils.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: \"pageLayout\",\n get: function get() {\n var obj = this.catDict.get('PageLayout');\n var pageLayout = '';\n\n if ((0, _primitives.isName)(obj)) {\n switch (obj.name) {\n case 'SinglePage':\n case 'OneColumn':\n case 'TwoColumnLeft':\n case 'TwoColumnRight':\n case 'TwoPageLeft':\n case 'TwoPageRight':\n pageLayout = obj.name;\n }\n }\n\n return (0, _util.shadow)(this, 'pageLayout', pageLayout);\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: \"viewerPreferences\",\n get: function get() {\n var _this2 = this;\n\n var ViewerPreferencesValidators = {\n HideToolbar: _util.isBool,\n HideMenubar: _util.isBool,\n HideWindowUI: _util.isBool,\n FitWindow: _util.isBool,\n CenterWindow: _util.isBool,\n DisplayDocTitle: _util.isBool,\n NonFullScreenPageMode: _primitives.isName,\n Direction: _primitives.isName,\n ViewArea: _primitives.isName,\n ViewClip: _primitives.isName,\n PrintArea: _primitives.isName,\n PrintClip: _primitives.isName,\n PrintScaling: _primitives.isName,\n Duplex: _primitives.isName,\n PickTrayByPDFSize: _util.isBool,\n PrintPageRange: Array.isArray,\n NumCopies: Number.isInteger\n };\n var obj = this.catDict.get('ViewerPreferences');\n var prefs = Object.create(null);\n\n if ((0, _primitives.isDict)(obj)) {\n for (var key in ViewerPreferencesValidators) {\n if (!obj.has(key)) {\n continue;\n }\n\n var value = obj.get(key);\n\n if (!ViewerPreferencesValidators[key](value)) {\n (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n continue;\n }\n\n var prefValue = void 0;\n\n switch (key) {\n case 'NonFullScreenPageMode':\n switch (value.name) {\n case 'UseNone':\n case 'UseOutlines':\n case 'UseThumbs':\n case 'UseOC':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'UseNone';\n }\n\n break;\n\n case 'Direction':\n switch (value.name) {\n case 'L2R':\n case 'R2L':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'L2R';\n }\n\n break;\n\n case 'ViewArea':\n case 'ViewClip':\n case 'PrintArea':\n case 'PrintClip':\n switch (value.name) {\n case 'MediaBox':\n case 'CropBox':\n case 'BleedBox':\n case 'TrimBox':\n case 'ArtBox':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'CropBox';\n }\n\n break;\n\n case 'PrintScaling':\n switch (value.name) {\n case 'None':\n case 'AppDefault':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'AppDefault';\n }\n\n break;\n\n case 'Duplex':\n switch (value.name) {\n case 'Simplex':\n case 'DuplexFlipShortEdge':\n case 'DuplexFlipLongEdge':\n prefValue = value.name;\n break;\n\n default:\n prefValue = 'None';\n }\n\n break;\n\n case 'PrintPageRange':\n var length = value.length;\n\n if (length % 2 !== 0) {\n break;\n }\n\n var isValid = value.every(function (page, i, arr) {\n return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= _this2.numPages;\n });\n\n if (isValid) {\n prefValue = value;\n }\n\n break;\n\n case 'NumCopies':\n if (value > 0) {\n prefValue = value;\n }\n\n break;\n\n default:\n (0, _util.assert)(typeof value === 'boolean');\n prefValue = value;\n }\n\n if (prefValue !== undefined) {\n prefs[key] = prefValue;\n } else {\n (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n }\n }\n }\n\n return (0, _util.shadow)(this, 'viewerPreferences', prefs);\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 _core_utils.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 _core_utils.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 _core_utils.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 (type instanceof _primitives.Cmd) {\n switch (type.cmd) {\n case 'f':\n entry.free = true;\n break;\n\n case 'n':\n entry.uncompressed = true;\n break;\n }\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({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true,\n recoveryMode: true\n });\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 _core_utils.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({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\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 _core_utils.MissingDataException) {\n throw e;\n }\n\n (0, _util.info)('(while reading XRef): ' + e);\n }\n\n if (recoveryMode) {\n return undefined;\n }\n\n throw new _core_utils.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 _core_utils.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({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\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 || !(obj3 instanceof _primitives.Cmd)) {\n throw new _core_utils.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 _core_utils.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(_primitives.Ref.get(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({\n lexer: new _parser.Lexer(stream),\n xref: this,\n allowStreams: true\n });\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 _core_utils.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 _core_utils.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 _this3 = 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 _core_utils.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 _this3.refSet.remove(node);\n }\n }\n\n _this3._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/* 157 */\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__(158);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _ccitt_stream = __w_pdfjs_require__(159);\n\nvar _jbig2_stream = __w_pdfjs_require__(161);\n\nvar _jpeg_stream = __w_pdfjs_require__(164);\n\nvar _jpx_stream = __w_pdfjs_require__(166);\n\nvar _core_utils = __w_pdfjs_require__(154);\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 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 =\n/*#__PURE__*/\nfunction () {\n function Parser(_ref) {\n var lexer = _ref.lexer,\n xref = _ref.xref,\n _ref$allowStreams = _ref.allowStreams,\n allowStreams = _ref$allowStreams === void 0 ? false : _ref$allowStreams,\n _ref$recoveryMode = _ref.recoveryMode,\n recoveryMode = _ref$recoveryMode === void 0 ? false : _ref$recoveryMode;\n\n _classCallCheck(this, Parser);\n\n this.lexer = lexer;\n this.xref = xref;\n this.allowStreams = allowStreams;\n this.recoveryMode = recoveryMode;\n this.imageCache = Object.create(null);\n this.refill();\n }\n\n _createClass(Parser, [{\n key: \"refill\",\n value: function refill() {\n this.buf1 = this.lexer.getObj();\n this.buf2 = this.lexer.getObj();\n }\n }, {\n key: \"shift\",\n value: function 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 }, {\n key: \"tryShift\",\n value: function tryShift() {\n try {\n this.shift();\n return true;\n } catch (e) {\n if (e instanceof _core_utils.MissingDataException) {\n throw e;\n }\n\n return false;\n }\n }\n }, {\n key: \"getObj\",\n value: function 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 = _primitives.Ref.get(num, this.buf1);\n\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 }, {\n key: \"findDefaultInlineStreamEnd\",\n value: 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 }, {\n key: \"findDCTDecodeInlineStreamEnd\",\n value: function 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 }, {\n key: \"findASCII85DecodeInlineStreamEnd\",\n value: function 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) {\n ch = stream.peekByte();\n\n while ((0, _util.isSpace)(ch)) {\n stream.skip();\n ch = stream.peekByte();\n }\n\n if (ch === GT) {\n stream.skip();\n break;\n }\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 }, {\n key: \"findASCIIHexDecodeInlineStreamEnd\",\n value: function 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 }, {\n key: \"inlineStreamSkipEI\",\n value: function 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 }, {\n key: \"makeInlineImage\",\n value: function makeInlineImage(cipherTransform) {\n var lexer = this.lexer;\n var stream = lexer.stream;\n var dict = new _primitives.Dict(this.xref);\n var 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 var 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 var 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_\".concat(length, \"_\").concat(cacheKey);\n this.imageCache[cacheKey] = imageStream;\n }\n\n this.buf2 = _primitives.Cmd.get('EI');\n this.shift();\n return imageStream;\n }\n }, {\n key: \"_findStreamLength\",\n value: 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 }, {\n key: \"makeStream\",\n value: function 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 \\\"\".concat(length, \"\\\" 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 }, {\n key: \"filter\",\n value: function 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 \\\"\".concat(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 }, {\n key: \"makeFilter\",\n value: function makeFilter(stream, name, maybeLength, params) {\n if (maybeLength === 0) {\n (0, _util.warn)(\"Empty \\\"\".concat(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 \\\"\".concat(name, \"\\\" is not supported.\"));\n return stream;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Invalid stream: \\\"\".concat(ex, \"\\\"\"));\n return new _stream.NullStream();\n }\n }\n }]);\n\n return Parser;\n}();\n\nexports.Parser = Parser;\nvar 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\nfunction 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\nvar Lexer =\n/*#__PURE__*/\nfunction () {\n function Lexer(stream) {\n var knownCommands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _classCallCheck(this, Lexer);\n\n this.stream = stream;\n this.nextChar();\n this.strBuf = [];\n this.knownCommands = knownCommands;\n this.beginInlineImagePos = -1;\n }\n\n _createClass(Lexer, [{\n key: \"nextChar\",\n value: function nextChar() {\n return this.currentChar = this.stream.getByte();\n }\n }, {\n key: \"peekChar\",\n value: function peekChar() {\n return this.stream.peekByte();\n }\n }, {\n key: \"getNumber\",\n value: function 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: minus sign in the middle');\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 }, {\n key: \"getString\",\n value: function 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 }, {\n key: \"getName\",\n value: function 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 (\".concat(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: \".concat(strBuf.length));\n }\n\n return _primitives.Name.get(strBuf.join(''));\n }\n }, {\n key: \"getHexString\",\n value: function getHexString() {\n var strBuf = this.strBuf;\n strBuf.length = 0;\n var ch = this.currentChar;\n var isFirstHex = true;\n var firstDigit, 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 \\\"\".concat(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 \\\"\".concat(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 }, {\n key: \"getObj\",\n value: function 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 }, {\n key: \"skipToNextLine\",\n value: function 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\n return Lexer;\n}();\n\nexports.Lexer = Lexer;\n\nvar Linearization =\n/*#__PURE__*/\nfunction () {\n function Linearization() {\n _classCallCheck(this, Linearization);\n }\n\n _createClass(Linearization, null, [{\n key: \"create\",\n value: function create(stream) {\n function getInt(linDict, name) {\n var allowZeroValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\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 \\\"\".concat(name, \"\\\" parameter in the linearization \") + 'dictionary is invalid.');\n }\n\n function getHints(linDict) {\n var hints = linDict.get('H');\n var hintsLength;\n\n if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n for (var index = 0; index < hintsLength; index++) {\n var hint = hints[index];\n\n if (!(Number.isInteger(hint) && hint > 0)) {\n throw new Error(\"Hint (\".concat(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({\n lexer: new Lexer(stream),\n xref: null\n });\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(linDict, '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(linDict),\n objectNumberFirst: getInt(linDict, 'O'),\n endFirst: getInt(linDict, 'E'),\n numPages: getInt(linDict, 'N'),\n mainXRefEntriesOffset: getInt(linDict, 'T'),\n pageFirst: linDict.has('P') ? getInt(linDict, 'P', true) : 0\n };\n }\n }]);\n\n return Linearization;\n}();\n\nexports.Linearization = Linearization;\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.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__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\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/* 159 */\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__(151);\n\nvar _ccitt = __w_pdfjs_require__(160);\n\nvar _stream = __w_pdfjs_require__(158);\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/* 160 */\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__(5);\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/* 161 */\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__(151);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _jbig = __w_pdfjs_require__(162);\n\nvar _util = __w_pdfjs_require__(5);\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/* 162 */\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__(5);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(163);\n\nvar _ccitt = __w_pdfjs_require__(160);\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/* 163 */\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/* 164 */\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__(5);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _jpg = __w_pdfjs_require__(165);\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/* 165 */\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__(5);\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 return undefined;\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/* 166 */\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__(158);\n\nvar _jpx = __w_pdfjs_require__(167);\n\nvar _util = __w_pdfjs_require__(5);\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/* 167 */\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__(5);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(163);\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/* 168 */\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__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _stream = __w_pdfjs_require__(158);\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/* 169 */\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__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\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/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(156);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _operator_list = __w_pdfjs_require__(171);\n\nvar _stream = __w_pdfjs_require__(158);\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 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 undefined;\n }\n\n var id = (0, _primitives.isRef)(ref) ? ref.toString() : \"annot_\".concat(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 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, _core_utils.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 'FreeText':\n return new FreeTextAnnotation(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 'Caret':\n return new CaretAnnotation(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.setContents(dict.get('Contents'));\n this.setModificationDate(dict.get('M'));\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 contents: this.contents,\n hasAppearance: !!this.appearance,\n id: params.id,\n modificationDate: this.modificationDate,\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: \"setContents\",\n value: function setContents(contents) {\n this.contents = (0, _util.stringToPDFString)(contents || '');\n }\n }, {\n key: \"setModificationDate\",\n value: function setModificationDate(modificationDate) {\n this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;\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'), this.rectangle);\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], this.rectangle);\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: \"loadResources\",\n value: function loadResources(keys) {\n return this.appearance.dict.getAsync('Resources').then(function (resources) {\n if (!resources) {\n return undefined;\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 var rect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0, 0];\n\n if ((0, _primitives.isName)(width)) {\n this.width = 0;\n return;\n }\n\n if (Number.isInteger(width)) {\n if (width > 0) {\n var maxWidth = (rect[2] - rect[0]) / 2;\n var maxHeight = (rect[3] - rect[1]) / 2;\n\n if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {\n (0, _util.warn)(\"AnnotationBorderStyle.setWidth - ignoring width: \".concat(width));\n width = 1;\n }\n }\n\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 MarkupAnnotation =\n/*#__PURE__*/\nfunction (_Annotation) {\n _inherits(MarkupAnnotation, _Annotation);\n\n function MarkupAnnotation(parameters) {\n var _this2;\n\n _classCallCheck(this, MarkupAnnotation);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(MarkupAnnotation).call(this, parameters));\n var dict = parameters.dict;\n\n if (!dict.has('C')) {\n _this2.data.color = null;\n }\n\n _this2.setCreationDate(dict.get('CreationDate'));\n\n _this2.data.creationDate = _this2.creationDate;\n _this2.data.hasPopup = dict.has('Popup');\n _this2.data.title = (0, _util.stringToPDFString)(dict.get('T') || '');\n return _this2;\n }\n\n _createClass(MarkupAnnotation, [{\n key: \"setCreationDate\",\n value: function setCreationDate(creationDate) {\n this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;\n }\n }]);\n\n return MarkupAnnotation;\n}(Annotation);\n\nexports.MarkupAnnotation = MarkupAnnotation;\n\nvar WidgetAnnotation =\n/*#__PURE__*/\nfunction (_Annotation2) {\n _inherits(WidgetAnnotation, _Annotation2);\n\n function WidgetAnnotation(params) {\n var _this3;\n\n _classCallCheck(this, WidgetAnnotation);\n\n _this3 = _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotation).call(this, params));\n var dict = params.dict;\n var data = _this3.data;\n data.annotationType = _util.AnnotationType.WIDGET;\n data.fieldName = _this3._constructFieldName(dict);\n data.fieldValue = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'V',\n getArray: true\n });\n data.alternativeText = (0, _util.stringToPDFString)(dict.get('TU') || '');\n data.defaultAppearance = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'DA'\n }) || '';\n var fieldType = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'FT'\n });\n data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n _this3.fieldResources = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'DR'\n }) || _primitives.Dict.empty;\n data.fieldFlags = (0, _core_utils.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 = _this3.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n\n if (data.fieldType === 'Sig') {\n data.fieldValue = null;\n\n _this3.setFlags(_util.AnnotationFlag.HIDDEN);\n }\n\n return _this3;\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 _this4;\n\n _classCallCheck(this, TextWidgetAnnotation);\n\n _this4 = _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotation).call(this, params));\n var dict = params.dict;\n _this4.data.fieldValue = (0, _util.stringToPDFString)(_this4.data.fieldValue || '');\n var alignment = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'Q'\n });\n\n if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n alignment = null;\n }\n\n _this4.data.textAlignment = alignment;\n var maximumLength = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: 'MaxLen'\n });\n\n if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n maximumLength = null;\n }\n\n _this4.data.maxLen = maximumLength;\n _this4.data.multiLine = _this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n _this4.data.comb = _this4.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this4.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this4.data.maxLen !== null;\n return _this4;\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 _this5;\n\n _classCallCheck(this, ButtonWidgetAnnotation);\n\n _this5 = _possibleConstructorReturn(this, _getPrototypeOf(ButtonWidgetAnnotation).call(this, params));\n _this5.data.checkBox = !_this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this5.data.radioButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this5.data.pushButton = _this5.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n\n if (_this5.data.checkBox) {\n _this5._processCheckBox(params);\n } else if (_this5.data.radioButton) {\n _this5._processRadioButton(params);\n } else if (_this5.data.pushButton) {\n _this5._processPushButton(params);\n } else {\n (0, _util.warn)('Invalid field flags for button widget annotation');\n }\n\n return _this5;\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 _this6;\n\n _classCallCheck(this, ChoiceWidgetAnnotation);\n\n _this6 = _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotation).call(this, params));\n _this6.data.options = [];\n var options = (0, _core_utils.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 _this6.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(_this6.data.fieldValue)) {\n _this6.data.fieldValue = [_this6.data.fieldValue];\n }\n\n _this6.data.combo = _this6.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n _this6.data.multiSelect = _this6.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n return _this6;\n }\n\n return ChoiceWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar TextAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation) {\n _inherits(TextAnnotation, _MarkupAnnotation);\n\n function TextAnnotation(parameters) {\n var _this7;\n\n _classCallCheck(this, TextAnnotation);\n\n var DEFAULT_ICON_SIZE = 22;\n _this7 = _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotation).call(this, parameters));\n _this7.data.annotationType = _util.AnnotationType.TEXT;\n\n if (_this7.data.hasAppearance) {\n _this7.data.name = 'NoIcon';\n } else {\n _this7.data.rect[1] = _this7.data.rect[3] - DEFAULT_ICON_SIZE;\n _this7.data.rect[2] = _this7.data.rect[0] + DEFAULT_ICON_SIZE;\n _this7.data.name = parameters.dict.has('Name') ? parameters.dict.get('Name').name : 'Note';\n }\n\n return _this7;\n }\n\n return TextAnnotation;\n}(MarkupAnnotation);\n\nvar LinkAnnotation =\n/*#__PURE__*/\nfunction (_Annotation3) {\n _inherits(LinkAnnotation, _Annotation3);\n\n function LinkAnnotation(params) {\n var _this8;\n\n _classCallCheck(this, LinkAnnotation);\n\n _this8 = _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotation).call(this, params));\n _this8.data.annotationType = _util.AnnotationType.LINK;\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: _this8.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n\n return _this8;\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 _this9;\n\n _classCallCheck(this, PopupAnnotation);\n\n _this9 = _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotation).call(this, parameters));\n _this9.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(_this9);\n }\n\n var parentSubtype = parentItem.get('Subtype');\n _this9.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n _this9.data.parentId = dict.getRaw('Parent').toString();\n _this9.data.title = (0, _util.stringToPDFString)(parentItem.get('T') || '');\n _this9.data.contents = (0, _util.stringToPDFString)(parentItem.get('Contents') || '');\n\n if (!parentItem.has('M')) {\n _this9.data.modificationDate = null;\n } else {\n _this9.setModificationDate(parentItem.get('M'));\n\n _this9.data.modificationDate = _this9.modificationDate;\n }\n\n if (!parentItem.has('C')) {\n _this9.data.color = null;\n } else {\n _this9.setColor(parentItem.getArray('C'));\n\n _this9.data.color = _this9.color;\n }\n\n if (!_this9.viewable) {\n var parentFlags = parentItem.get('F');\n\n if (_this9._isViewable(parentFlags)) {\n _this9.setFlags(parentFlags);\n }\n }\n\n return _this9;\n }\n\n return PopupAnnotation;\n}(Annotation);\n\nvar FreeTextAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation2) {\n _inherits(FreeTextAnnotation, _MarkupAnnotation2);\n\n function FreeTextAnnotation(parameters) {\n var _this10;\n\n _classCallCheck(this, FreeTextAnnotation);\n\n _this10 = _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotation).call(this, parameters));\n _this10.data.annotationType = _util.AnnotationType.FREETEXT;\n return _this10;\n }\n\n return FreeTextAnnotation;\n}(MarkupAnnotation);\n\nvar LineAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation3) {\n _inherits(LineAnnotation, _MarkupAnnotation3);\n\n function LineAnnotation(parameters) {\n var _this11;\n\n _classCallCheck(this, LineAnnotation);\n\n _this11 = _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotation).call(this, parameters));\n _this11.data.annotationType = _util.AnnotationType.LINE;\n var dict = parameters.dict;\n _this11.data.lineCoordinates = _util.Util.normalizeRect(dict.getArray('L'));\n return _this11;\n }\n\n return LineAnnotation;\n}(MarkupAnnotation);\n\nvar SquareAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation4) {\n _inherits(SquareAnnotation, _MarkupAnnotation4);\n\n function SquareAnnotation(parameters) {\n var _this12;\n\n _classCallCheck(this, SquareAnnotation);\n\n _this12 = _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotation).call(this, parameters));\n _this12.data.annotationType = _util.AnnotationType.SQUARE;\n return _this12;\n }\n\n return SquareAnnotation;\n}(MarkupAnnotation);\n\nvar CircleAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation5) {\n _inherits(CircleAnnotation, _MarkupAnnotation5);\n\n function CircleAnnotation(parameters) {\n var _this13;\n\n _classCallCheck(this, CircleAnnotation);\n\n _this13 = _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotation).call(this, parameters));\n _this13.data.annotationType = _util.AnnotationType.CIRCLE;\n return _this13;\n }\n\n return CircleAnnotation;\n}(MarkupAnnotation);\n\nvar PolylineAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation6) {\n _inherits(PolylineAnnotation, _MarkupAnnotation6);\n\n function PolylineAnnotation(parameters) {\n var _this14;\n\n _classCallCheck(this, PolylineAnnotation);\n\n _this14 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotation).call(this, parameters));\n _this14.data.annotationType = _util.AnnotationType.POLYLINE;\n var dict = parameters.dict;\n var rawVertices = dict.getArray('Vertices');\n _this14.data.vertices = [];\n\n for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n _this14.data.vertices.push({\n x: rawVertices[i],\n y: rawVertices[i + 1]\n });\n }\n\n return _this14;\n }\n\n return PolylineAnnotation;\n}(MarkupAnnotation);\n\nvar PolygonAnnotation =\n/*#__PURE__*/\nfunction (_PolylineAnnotation) {\n _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n function PolygonAnnotation(parameters) {\n var _this15;\n\n _classCallCheck(this, PolygonAnnotation);\n\n _this15 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotation).call(this, parameters));\n _this15.data.annotationType = _util.AnnotationType.POLYGON;\n return _this15;\n }\n\n return PolygonAnnotation;\n}(PolylineAnnotation);\n\nvar CaretAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation7) {\n _inherits(CaretAnnotation, _MarkupAnnotation7);\n\n function CaretAnnotation(parameters) {\n var _this16;\n\n _classCallCheck(this, CaretAnnotation);\n\n _this16 = _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotation).call(this, parameters));\n _this16.data.annotationType = _util.AnnotationType.CARET;\n return _this16;\n }\n\n return CaretAnnotation;\n}(MarkupAnnotation);\n\nvar InkAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation8) {\n _inherits(InkAnnotation, _MarkupAnnotation8);\n\n function InkAnnotation(parameters) {\n var _this17;\n\n _classCallCheck(this, InkAnnotation);\n\n _this17 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotation).call(this, parameters));\n _this17.data.annotationType = _util.AnnotationType.INK;\n var dict = parameters.dict;\n var xref = parameters.xref;\n var originalInkLists = dict.getArray('InkList');\n _this17.data.inkLists = [];\n\n for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {\n _this17.data.inkLists.push([]);\n\n for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n _this17.data.inkLists[i].push({\n x: xref.fetchIfRef(originalInkLists[i][j]),\n y: xref.fetchIfRef(originalInkLists[i][j + 1])\n });\n }\n }\n\n return _this17;\n }\n\n return InkAnnotation;\n}(MarkupAnnotation);\n\nvar HighlightAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation9) {\n _inherits(HighlightAnnotation, _MarkupAnnotation9);\n\n function HighlightAnnotation(parameters) {\n var _this18;\n\n _classCallCheck(this, HighlightAnnotation);\n\n _this18 = _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotation).call(this, parameters));\n _this18.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n return _this18;\n }\n\n return HighlightAnnotation;\n}(MarkupAnnotation);\n\nvar UnderlineAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation10) {\n _inherits(UnderlineAnnotation, _MarkupAnnotation10);\n\n function UnderlineAnnotation(parameters) {\n var _this19;\n\n _classCallCheck(this, UnderlineAnnotation);\n\n _this19 = _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotation).call(this, parameters));\n _this19.data.annotationType = _util.AnnotationType.UNDERLINE;\n return _this19;\n }\n\n return UnderlineAnnotation;\n}(MarkupAnnotation);\n\nvar SquigglyAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation11) {\n _inherits(SquigglyAnnotation, _MarkupAnnotation11);\n\n function SquigglyAnnotation(parameters) {\n var _this20;\n\n _classCallCheck(this, SquigglyAnnotation);\n\n _this20 = _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotation).call(this, parameters));\n _this20.data.annotationType = _util.AnnotationType.SQUIGGLY;\n return _this20;\n }\n\n return SquigglyAnnotation;\n}(MarkupAnnotation);\n\nvar StrikeOutAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation12) {\n _inherits(StrikeOutAnnotation, _MarkupAnnotation12);\n\n function StrikeOutAnnotation(parameters) {\n var _this21;\n\n _classCallCheck(this, StrikeOutAnnotation);\n\n _this21 = _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotation).call(this, parameters));\n _this21.data.annotationType = _util.AnnotationType.STRIKEOUT;\n return _this21;\n }\n\n return StrikeOutAnnotation;\n}(MarkupAnnotation);\n\nvar StampAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation13) {\n _inherits(StampAnnotation, _MarkupAnnotation13);\n\n function StampAnnotation(parameters) {\n var _this22;\n\n _classCallCheck(this, StampAnnotation);\n\n _this22 = _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotation).call(this, parameters));\n _this22.data.annotationType = _util.AnnotationType.STAMP;\n return _this22;\n }\n\n return StampAnnotation;\n}(MarkupAnnotation);\n\nvar FileAttachmentAnnotation =\n/*#__PURE__*/\nfunction (_MarkupAnnotation14) {\n _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);\n\n function FileAttachmentAnnotation(parameters) {\n var _this23;\n\n _classCallCheck(this, FileAttachmentAnnotation);\n\n _this23 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotation).call(this, parameters));\n var file = new _obj.FileSpec(parameters.dict.get('FS'), parameters.xref);\n _this23.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n _this23.data.file = file.serializable;\n return _this23;\n }\n\n return FileAttachmentAnnotation;\n}(MarkupAnnotation);\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.OperatorList = void 0;\n\nvar _util = __w_pdfjs_require__(5);\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\n throw new Error(\"iterateInlineImageGroup - invalid pos: \".concat(pos));\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\n throw new Error(\"iterateImageMaskGroup - invalid pos: \".concat(pos));\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 iterateImageGroup(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\n throw new Error(\"iterateImageGroup - invalid pos: \".concat(pos));\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 iterateShowTextGroup(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\n throw new Error(\"iterateShowTextGroup - invalid pos: \".concat(pos));\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 reset: function reset() {}\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 OperatorList(intent, messageHandler, pageIndex) {\n this.messageHandler = messageHandler;\n this.fnArray = [];\n this.argsArray = [];\n\n if (messageHandler && 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\n get _transfers() {\n var transfers = [];\n var fnArray = this.fnArray,\n argsArray = this.argsArray,\n length = this.length;\n\n for (var i = 0; i < length; 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 flush: function flush() {\n var lastChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.optimizer.flush();\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 }, this._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/* 172 */\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__(5);\n\nvar _cmap = __w_pdfjs_require__(173);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _fonts = __w_pdfjs_require__(174);\n\nvar _encodings = __w_pdfjs_require__(177);\n\nvar _unicode = __w_pdfjs_require__(180);\n\nvar _standard_fonts = __w_pdfjs_require__(179);\n\nvar _pattern = __w_pdfjs_require__(183);\n\nvar _parser = __w_pdfjs_require__(157);\n\nvar _bidi = __w_pdfjs_require__(184);\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _glyphlist = __w_pdfjs_require__(178);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _metrics = __w_pdfjs_require__(185);\n\nvar _function = __w_pdfjs_require__(186);\n\nvar _jpeg_stream = __w_pdfjs_require__(164);\n\nvar _murmurhash = __w_pdfjs_require__(188);\n\nvar _image_utils = __w_pdfjs_require__(189);\n\nvar _operator_list = __w_pdfjs_require__(171);\n\nvar _image = __w_pdfjs_require__(190);\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 PartialEvaluator(_ref) {\n var _this = this;\n\n var xref = _ref.xref,\n handler = _ref.handler,\n pageIndex = _ref.pageIndex,\n idFactory = _ref.idFactory,\n fontCache = _ref.fontCache,\n builtInCMapCache = _ref.builtInCMapCache,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? null : _ref$options,\n pdfFunctionFactory = _ref.pdfFunctionFactory;\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 this.parsingType3Font = false;\n\n this.fetchBuiltInCMap =\n /*#__PURE__*/\n function () {\n var _ref2 = _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);\n }));\n\n return function (_x) {\n return _ref2.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 () {\n var _buildPaintImageXObject = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(_ref3) {\n var _this2 = this;\n\n var resources, image, _ref3$isInline, isInline, operatorList, cacheKey, imageCache, _ref3$forceDisableNat, forceDisableNativeImageDecoder, dict, w, h, maxImageSize, imageMask, imgData, args, width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, nativeImageDecoderSupport, objId, nativeImageDecoder, imgPromise;\n\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n resources = _ref3.resources, image = _ref3.image, _ref3$isInline = _ref3.isInline, isInline = _ref3$isInline === void 0 ? false : _ref3$isInline, operatorList = _ref3.operatorList, cacheKey = _ref3.cacheKey, imageCache = _ref3.imageCache, _ref3$forceDisableNat = _ref3.forceDisableNativeImageDecoder, forceDisableNativeImageDecoder = _ref3$forceDisableNat === void 0 ? false : _ref3$forceDisableNat;\n dict = image.dict;\n w = dict.get('Width', 'W');\n h = dict.get('Height', 'H');\n\n if (!(!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h)))) {\n _context2.next = 7;\n break;\n }\n\n (0, _util.warn)('Image dimensions are missing, or not numbers.');\n return _context2.abrupt(\"return\", undefined);\n\n case 7:\n maxImageSize = this.options.maxImageSize;\n\n if (!(maxImageSize !== -1 && w * h > maxImageSize)) {\n _context2.next = 11;\n break;\n }\n\n (0, _util.warn)('Image exceeded maximum allowed size and was removed.');\n return _context2.abrupt(\"return\", undefined);\n\n case 11:\n imageMask = dict.get('ImageMask', 'IM') || false;\n\n if (!imageMask) {\n _context2.next = 24;\n break;\n }\n\n width = dict.get('Width', 'W');\n height = dict.get('Height', 'H');\n bitStrideLength = width + 7 >> 3;\n imgArray = image.getBytes(bitStrideLength * height, true);\n 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 = !!cacheKey;\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 _context2.abrupt(\"return\", undefined);\n\n case 24:\n softMask = dict.get('SMask', 'SM') || false;\n mask = dict.get('Mask') || false;\n SMALL_IMAGE_DIMENSIONS = 200;\n\n if (!(isInline && !softMask && !mask && !(image instanceof _jpeg_stream.JpegStream) && w + h < SMALL_IMAGE_DIMENSIONS)) {\n _context2.next = 32;\n break;\n }\n\n 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 _context2.abrupt(\"return\", undefined);\n\n case 32:\n nativeImageDecoderSupport = forceDisableNativeImageDecoder ? _util.NativeImageDecoding.NONE : this.options.nativeImageDecoderSupport;\n objId = \"img_\".concat(this.idFactory.createObjId());\n\n if (this.parsingType3Font) {\n (0, _util.assert)(nativeImageDecoderSupport === _util.NativeImageDecoding.NONE, 'Type3 image resources should be completely decoded in the worker.');\n objId = \"\".concat(this.idFactory.getDocId(), \"_type3res_\").concat(objId);\n }\n\n if (!(nativeImageDecoderSupport !== _util.NativeImageDecoding.NONE && !softMask && !mask && image instanceof _jpeg_stream.JpegStream && _image_utils.NativeImageDecoder.isSupported(image, this.xref, resources, this.pdfFunctionFactory))) {\n _context2.next = 37;\n break;\n }\n\n return _context2.abrupt(\"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 case 37:\n 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 _image_utils.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 imgPromise = _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 if (_this2.parsingType3Font) {\n return _this2.handler.sendWithPromise('commonobj', [objId, 'FontType3Res', imgData], [imgData.data.buffer]);\n }\n\n _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', imgData], [imgData.data.buffer]);\n\n return undefined;\n })[\"catch\"](function (reason) {\n (0, _util.warn)('Unable to decode image: ' + reason);\n\n if (_this2.parsingType3Font) {\n return _this2.handler.sendWithPromise('commonobj', [objId, 'FontType3Res', null]);\n }\n\n _this2.handler.send('obj', [objId, _this2.pageIndex, 'Image', null]);\n\n return undefined;\n });\n\n if (!this.parsingType3Font) {\n _context2.next = 45;\n break;\n }\n\n _context2.next = 45;\n return imgPromise;\n\n case 45:\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 _context2.abrupt(\"return\", undefined);\n\n case 48:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function buildPaintImageXObject(_x2) {\n return _buildPaintImageXObject.apply(this, arguments);\n }\n\n return buildPaintImageXObject;\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 hash = preEvaluatedFont.hash;\n var fontRefIsRef = (0, _primitives.isRef)(fontRef),\n fontID;\n\n if (fontRefIsRef) {\n fontID = fontRef.toString();\n }\n\n if (hash && (0, _primitives.isDict)(descriptor)) {\n if (!descriptor.fontAliases) {\n descriptor.fontAliases = Object.create(null);\n }\n\n var fontAliases = descriptor.fontAliases;\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_\".concat(fontID), fontCapability.promise);\n }\n\n (0, _util.assert)(fontID, 'The \"fontID\" must be defined.');\n font.loadedName = \"\".concat(this.idFactory.getDocId(), \"_f\").concat(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 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 buildPath(operatorList, fn, args) {\n var parsingText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\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 if (parsingText) {\n (0, _util.warn)(\"Encountered path operator \\\"\".concat(fn, \"\\\" inside of a text object.\"));\n operatorList.addOp(_util.OPS.save, null);\n }\n\n operatorList.addOp(_util.OPS.constructPath, [[fn], args]);\n\n if (parsingText) {\n operatorList.addOp(_util.OPS.restore, null);\n }\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 () {\n var _handleColorN = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee3(operatorList, fn, args, cs, patterns, resources, task) {\n var patternName, pattern, dict, typeNum, color, shading, matrix;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n patternName = args[args.length - 1];\n\n if (!((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name)))) {\n _context3.next = 16;\n break;\n }\n\n dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n typeNum = dict.get('PatternType');\n\n if (!(typeNum === TILING_PATTERN)) {\n _context3.next = 9;\n break;\n }\n\n color = cs.base ? cs.base.getRgb(args, 0) : null;\n return _context3.abrupt(\"return\", this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task));\n\n case 9:\n if (!(typeNum === SHADING_PATTERN)) {\n _context3.next = 15;\n break;\n }\n\n shading = dict.get('Shading');\n 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 _context3.abrupt(\"return\", undefined);\n\n case 15:\n throw new _util.FormatError(\"Unknown PatternType: \".concat(typeNum));\n\n case 16:\n throw new _util.FormatError(\"Unknown PatternName: \".concat(patternName));\n\n case 17:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function handleColorN(_x3, _x4, _x5, _x6, _x7, _x8, _x9) {\n return _handleColorN.apply(this, arguments);\n }\n\n return handleColorN;\n }(),\n getOperatorList: function getOperatorList(_ref4) {\n var _this7 = this;\n\n var stream = _ref4.stream,\n task = _ref4.task,\n resources = _ref4.resources,\n operatorList = _ref4.operatorList,\n _ref4$initialState = _ref4.initialState,\n initialState = _ref4$initialState === void 0 ? null : _ref4$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 parsingText = false;\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.beginText:\n parsingText = true;\n break;\n\n case _util.OPS.endText:\n parsingText = false;\n break;\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 case _util.OPS.rectangle:\n self.buildPath(operatorList, fn, args, parsingText);\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(_ref5) {\n var _this8 = this;\n\n var stream = _ref5.stream,\n task = _ref5.task,\n resources = _ref5.resources,\n _ref5$stateManager = _ref5.stateManager,\n stateManager = _ref5$stateManager === void 0 ? null : _ref5$stateManager,\n _ref5$normalizeWhites = _ref5.normalizeWhitespace,\n normalizeWhitespace = _ref5$normalizeWhites === void 0 ? false : _ref5$normalizeWhites,\n _ref5$combineTextItem = _ref5.combineTextItems,\n combineTextItems = _ref5$combineTextItem === void 0 ? false : _ref5$combineTextItem,\n sink = _ref5.sink,\n _ref5$seenStyles = _ref5.seenStyles,\n seenStyles = _ref5$seenStyles === void 0 ? Object.create(null) : _ref5$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.fontSize <= 1 && !(0, _util.isArrayEqual)(textState.fontMatrix, _util.FONT_IDENTITY_MATRIX)) {\n var glyphHeight = font.bbox[3] - font.bbox[1];\n\n if (glyphHeight > 0) {\n tsm[3] *= glyphHeight * textState.fontMatrix[3];\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 cidToGidBytes;\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 cidToGidBytes = cidToGidMap.getBytes();\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\n if (cidToGidBytes) {\n properties.cidToGidMap = _this9.readCidToGidMap(cidToGidBytes, toUnicode);\n }\n\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 readCidToGidMap(glyphsData, toUnicode) {\n var result = [];\n\n for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n var glyphID = glyphsData[j++] << 8 | glyphsData[j];\n var code = j >> 1;\n\n if (glyphID === 0 && !toUnicode.has(code)) {\n continue;\n }\n\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 firstChar = dict.get('FirstChar') || 0;\n var lastChar = dict.get('LastChar') || (composite ? 0xFFFF : 0xFF);\n hash.update(\"\".concat(firstChar, \"-\").concat(lastChar));\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 type3Options.nativeImageDecoderSupport = _util.NativeImageDecoding.NONE;\n var type3Evaluator = evaluator.clone(type3Options);\n type3Evaluator.parsingType3Font = true;\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, _core_utils.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({\n lexer: new _parser.Lexer(stream, this.opMap),\n xref: xref\n });\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/* 173 */\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__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _parser = __w_pdfjs_require__(157);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _stream = __w_pdfjs_require__(158);\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\n var _char = new Uint8Array(MAX_NUM_SIZE);\n\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 _core_utils.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/* 174 */\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__(5);\n\nvar _cff_parser = __w_pdfjs_require__(175);\n\nvar _glyphlist = __w_pdfjs_require__(178);\n\nvar _encodings = __w_pdfjs_require__(177);\n\nvar _standard_fonts = __w_pdfjs_require__(179);\n\nvar _unicode = __w_pdfjs_require__(180);\n\nvar _font_renderer = __w_pdfjs_require__(181);\n\nvar _cmap = __w_pdfjs_require__(173);\n\nvar _core_utils = __w_pdfjs_require__(154);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _type1_parser = __w_pdfjs_require__(182);\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, dupFirstEntry) {\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\n if (dupFirstEntry) {\n entries[metrics.length] = metrics.data[2];\n entries[metrics.length + 1] = metrics.data[3];\n }\n\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, dupFirstEntry);\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 _core_utils.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 = ['.notdef'];\n var i, ii;\n\n for (i = 0; i < count; i++) {\n var glyphName = charstrings[i].glyphName;\n\n var index = _cff_parser.CFFStandardStrings.indexOf(glyphName);\n\n if (index === -1) {\n strings.add(glyphName);\n }\n\n charsetArray.push(glyphName);\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 var charCode;\n\n if (cff.isCIDFont) {\n for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n var cid = charsets[glyphId];\n charCode = properties.cMap.charCodeOf(cid);\n charCodeToGlyphId[charCode] = glyphId;\n }\n } else {\n for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n charCode = properties.cMap.charCodeOf(glyphId);\n charCodeToGlyphId[charCode] = 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/* 175 */\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__(5);\n\nvar _charsets = __w_pdfjs_require__(176);\n\nvar _encodings = __w_pdfjs_require__(177);\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;\nvar NUM_STANDARD_CFF_STRINGS = 391;\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 <= NUM_STANDARD_CFF_STRINGS - 1) {\n return CFFStandardStrings[index];\n }\n\n if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {\n return this.strings[index - NUM_STANDARD_CFF_STRINGS];\n }\n\n return CFFStandardStrings[0];\n },\n getSID: function CFFStrings_getSID(str) {\n var index = CFFStandardStrings.indexOf(str);\n\n if (index !== -1) {\n return index;\n }\n\n index = this.strings.indexOf(str);\n\n if (index !== -1) {\n return index + NUM_STANDARD_CFF_STRINGS;\n }\n\n return -1;\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, cff.charStrings.count, cff.strings, cff.isCIDFont);\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, numGlyphs, strings, isCIDFont) {\n var out;\n var numGlyphsLessNotDef = numGlyphs - 1;\n\n if (isCIDFont) {\n out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xFF, numGlyphsLessNotDef & 0xFF]);\n } else {\n var length = 1 + numGlyphsLessNotDef * 2;\n out = new Uint8Array(length);\n out[0] = 0;\n var charsetIndex = 0;\n var numCharsets = charset.charset.length;\n var warned = false;\n\n for (var i = 1; i < out.length; i += 2) {\n var sid = 0;\n\n if (charsetIndex < numCharsets) {\n var name = charset.charset[charsetIndex++];\n sid = strings.getSID(name);\n\n if (sid === -1) {\n sid = 0;\n\n if (!warned) {\n warned = true;\n (0, _util.warn)(\"Couldn't find \".concat(name, \" in CFF strings\"));\n }\n }\n }\n\n out[i] = sid >> 8 & 0xFF;\n out[i + 1] = sid & 0xFF;\n }\n }\n\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/* 176 */\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/* 177 */\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/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(154).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/* 179 */\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 _core_utils = __w_pdfjs_require__(154);\n\nvar getStdFontMap = (0, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.getLookupTableFactory)(function (t) {\n t['Dingbats'] = true;\n t['Symbol'] = true;\n t['ZapfDingbats'] = true;\n});\nexports.getSymbolsFonts = getSymbolsFonts;\nvar getGlyphMapForStandardFonts = (0, _core_utils.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, _core_utils.getLookupTableFactory)(function (t) {\n t[227] = 322;\n t[264] = 261;\n t[291] = 346;\n});\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\nvar getSupplementalGlyphMapForCalibri = (0, _core_utils.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/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(154).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/* 181 */\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__(5);\n\nvar _cff_parser = __w_pdfjs_require__(175);\n\nvar _glyphlist = __w_pdfjs_require__(178);\n\nvar _encodings = __w_pdfjs_require__(177);\n\nvar _stream = __w_pdfjs_require__(158);\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/* 182 */\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__(5);\n\nvar _encodings = __w_pdfjs_require__(177);\n\nvar _stream = __w_pdfjs_require__(158);\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/* 183 */\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__(5);\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _core_utils = __w_pdfjs_require__(154);\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 _core_utils.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/* 184 */\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__(5);\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/* 185 */\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 _core_utils = __w_pdfjs_require__(154);\n\nvar getMetrics = (0, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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/* 186 */\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__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _ps_parser = __w_pdfjs_require__(187);\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/* 187 */\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__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\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/* 188 */\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__(5);\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 SEED = 0xc3d2e1f0;\nvar MASK_HIGH = 0xffff0000;\nvar MASK_LOW = 0xffff;\n\nvar MurmurHash3_64 =\n/*#__PURE__*/\nfunction () {\n function MurmurHash3_64(seed) {\n _classCallCheck(this, MurmurHash3_64);\n\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n _createClass(MurmurHash3_64, [{\n key: \"update\",\n value: function 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 k2 = 0;\n var h1 = this.h1,\n h2 = this.h2;\n var C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n var C1_LOW = C1 & MASK_LOW,\n 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 }\n }, {\n key: \"hexdigest\",\n value: function hexdigest() {\n var h1 = this.h1,\n 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 var hex1 = (h1 >>> 0).toString(16),\n hex2 = (h2 >>> 0).toString(16);\n return hex1.padStart(8, '0') + hex2.padStart(8, '0');\n }\n }]);\n\n return MurmurHash3_64;\n}();\n\nexports.MurmurHash3_64 = MurmurHash3_64;\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.NativeImageDecoder = void 0;\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nvar _jpeg_stream = __w_pdfjs_require__(164);\n\nvar _stream = __w_pdfjs_require__(158);\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 NativeImageDecoder =\n/*#__PURE__*/\nfunction () {\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\n _classCallCheck(this, NativeImageDecoder);\n\n this.xref = xref;\n this.resources = resources;\n this.handler = handler;\n this.forceDataSchema = forceDataSchema;\n this.pdfFunctionFactory = pdfFunctionFactory;\n }\n\n _createClass(NativeImageDecoder, [{\n key: \"canDecode\",\n value: function canDecode(image) {\n return image instanceof _jpeg_stream.JpegStream && NativeImageDecoder.isDecodable(image, this.xref, this.resources, this.pdfFunctionFactory);\n }\n }, {\n key: \"decode\",\n value: 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, dict);\n });\n }\n }], [{\n key: \"isSupported\",\n value: function isSupported(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 key: \"isDecodable\",\n value: function isDecodable(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\n return NativeImageDecoder;\n}();\n\nexports.NativeImageDecoder = NativeImageDecoder;\n\n/***/ }),\n/* 190 */\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__(5);\n\nvar _primitives = __w_pdfjs_require__(151);\n\nvar _colorspace = __w_pdfjs_require__(169);\n\nvar _stream = __w_pdfjs_require__(158);\n\nvar _jpeg_stream = __w_pdfjs_require__(164);\n\nvar _jpx = __w_pdfjs_require__(167);\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/* 191 */\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__(5);\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\", undefined);\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);\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/* 192 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFWorkerStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\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\nvar PDFWorkerStream =\n/*#__PURE__*/\nfunction () {\n function PDFWorkerStream(msgHandler) {\n _classCallCheck(this, PDFWorkerStream);\n\n this._msgHandler = msgHandler;\n this._contentLength = null;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _createClass(PDFWorkerStream, [{\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n return this._fullRequestReader;\n }\n }, {\n key: \"getRangeReader\",\n value: 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 }, {\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 PDFWorkerStream;\n}();\n\nexports.PDFWorkerStream = PDFWorkerStream;\n\nvar PDFWorkerStreamReader =\n/*#__PURE__*/\nfunction () {\n function PDFWorkerStreamReader(msgHandler) {\n var _this = this;\n\n _classCallCheck(this, PDFWorkerStreamReader);\n\n this._msgHandler = msgHandler;\n this.onProgress = null;\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 _createClass(PDFWorkerStreamReader, [{\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var _ref, value, done;\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._reader.read();\n\n case 2:\n _ref = _context.sent;\n value = _ref.value;\n done = _ref.done;\n\n if (!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 return _context.abrupt(\"return\", {\n value: value.buffer,\n done: false\n });\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 }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._reader.cancel(reason);\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }]);\n\n return PDFWorkerStreamReader;\n}();\n\nvar PDFWorkerStreamRangeReader =\n/*#__PURE__*/\nfunction () {\n function PDFWorkerStreamRangeReader(begin, end, msgHandler) {\n _classCallCheck(this, PDFWorkerStreamRangeReader);\n\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 _createClass(PDFWorkerStreamRangeReader, [{\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var _ref2, value, done;\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._reader.read();\n\n case 2:\n _ref2 = _context2.sent;\n value = _ref2.value;\n done = _ref2.done;\n\n if (!done) {\n _context2.next = 7;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n return _context2.abrupt(\"return\", {\n value: value.buffer,\n done: false\n });\n\n case 8:\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 this._reader.cancel(reason);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }]);\n\n return PDFWorkerStreamRangeReader;\n}();\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.worker.js.map"],"sourceRoot":""}