{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/process/browser.js","webpack:///(webpack)/buildin/module.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","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","_typeof","obj","iterator","constructor","g","this","Function","e","window","factory","_typeof2","__w_pdfjs_require__","_worker","WorkerMessageHandler","WorkerTask","_regenerator","_util","_primitives","_pdf_manager","_writer","_is_node","_message_handler","_worker_stream","_core_utils","_toArray","arr","_arrayWithHoles","iter","Array","from","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","_slicedToArray","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","length","err","_iterableToArrayLimit","TypeError","minLen","_arrayLikeToArray","toString","slice","test","len","arr2","isArray","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","configurable","writable","_createClass","protoProps","staticProps","terminated","_capability","createPromiseCapability","Error","promise","maybePort","handler","port","testMessageProcessed","on","data","Uint8Array","supportTransfers","postMessageTransfers","send","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","concat","enumerableProperties","join","docId","docBaseUrl","workerHandlerName","MessageHandler","ensureNotTerminated","startWorkerTask","task","finishWorkerTask","finish","indexOf","splice","loadDocument","_x","_loadDocument","apply","arguments","fn","mark","_callee","recoveryMode","_yield$Promise$all","_yield$Promise$all2","numPages","fingerprint","wrap","_context","prev","ensureDoc","all","sent","abrupt","stop","self","args","getPdfManager","evaluatorOptions","newPdfManager","pdfManagerCapability","source","LocalPdfManager","password","ex","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","isRangeSupported","disableAutoFetch","isStreamingSupported","NetworkPdfManager","msgHandler","contentLength","rangeChunkSize","sendProgressiveData","reason","loaded","read","readChunk","_ref","pdfFile","arraysToBytes","warn","flushChunks","arrayByteLength","total","Math","max","cancelAllRequests","getPage","pageIndex","page","ensure","_ref3","_ref4","rotate","ref","userUnit","view","_ref5","pageRef","Ref","num","ensureCatalog","id","requestLoadedStream","onLoadedStream","stream","bytes","ensureXRef","_ref6","intent","getAnnotationsData","_ref7","annotationStorage","filename","promises","document","pdfDocument","_loop","save","_ref8","_step","_ref9","newRefs","_iterator","allowArrayLike","it","F","_e2","f","normalCompletion","didErr","step","_e3","_createForOfIteratorHelper","filter","x","reduce","a","b","xref","newXrefInfo","trailer","_info","xrefInfo","forEach","isString","stringToPDFString","rootRef","getRaw","encrypt","newRef","getNewRef","infoRef","fileIds","startXRef","resetNewRef","incrementalUpdate","sink","start","VerbosityLevel","INFOS","Date","now","getOperatorList","renderInteractiveForms","operatorListInfo","close","featureId","UNSUPPORTED_FEATURES","errorOperatorList","onPull","desiredSize","onCancel","extractTextContent","normalizeWhitespace","combineTextItems","fontFallback","cleanup","waitOn","terminate","AbortException","cleanupPromise","clearPrimitiveCaches","finished","destroy","onSuccess","doc","pdfInfo","onFailure","PasswordException","code","sendWithPromise","_ref2","updatePassword","pdfManagerReady","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","message","XRefParseException","maxImageSize","disableFontFace","ignoreErrors","isEvalSupported","fontExtraProperties","byteLength","setupDoc","setup","isNodeJS","postMessage","initializeFromPort","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","state","GenStateSuspendedStart","method","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","record","tryCatch","type","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","result","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","skipTempReset","charAt","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","webpackPolyfill","deprecate","paths","children","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","ReferenceError","_assertThisInitialized","resultLength","pos","item","stringToBytes","itemLength","set","assert","bytesToString","String","fromCharCode","strBuf","chunkEnd","min","chunk","subarray","capability","isSettled","escapeString","str","replace","getModificationDate","date","getUTCFullYear","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","msg","console","log","isArrayBuffer","v","isArrayEqual","arr1","every","element","index","isBool","isNum","isSameOrigin","baseUrl","otherUrl","base","URL","origin","other","createValidAbsoluteUrl","url","absoluteUrl","protocol","_isValidProtocol","removeNullCharacters","NullCharactersRegExp","level","Number","isInteger","shadow","string32","charCodeAt","_i2","_i3","PDFStringTranslateTable","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","unreachable","IsEvalSupportedCached","IsLittleEndianCached","createObjectURL","FormatError","Util","TextRenderingMode","StreamType","PermissionFlag","PasswordResponses","CMapCompressionType","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","OPS","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","BaseException","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","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","NONE","GROUP","REPLY","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","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","errorMarkedContent","NEED_PASSWORD","INCORRECT_PASSWORD","cond","prop","_BaseException","_super","_this","_BaseException2","_super2","details","_this2","_BaseException3","_super3","_BaseException4","_super4","_BaseException5","_super5","status","_this3","_BaseException6","_super6","_BaseException7","_super7","buffer8","Uint32Array","buffer","rgbBuf","m1","m2","p1","applyTransform","p2","p3","p4","transpose","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","globalThis","_pdfjsCompatibilityChecked","hasDOM","userAgent","navigator","isIE","btoa","chars","Buffer","atob","input","Element","remove","parentNode","removeChild","div","createElement","classList","add","contains","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","_len","tokens","_key","_tokens","token","_len2","_key2","_tokens2","toggle","force","OriginalPushState","history","pushState","OriginalReplaceState","replaceState","title","startsWith","endsWith","includes","assign","fromEntries","log2","allSettled","isReadableStreamSupported","ReadableStream","controller","Map","entries","Set","WeakMap","WeakSet","codePointAt","fromCodePoint","padEnd","process","versions","nw","electron","$","global","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","check","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","O","P","fails","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","V","bitmap","IndexedObject","requireObjectCoercible","classof","split","isObject","PREFERRED_STRING","val","valueOf","EXISTS","definePropertyModule","anObject","nativeDefineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","store","functionToString","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","wmget","wmhas","wmset","metadata","STATE","getterFor","TYPE","shared","uid","IS_PURE","version","copyright","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","floor","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","toLowerCase","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","proto","searchString","that","search","isRegExp","MATCH","wellKnownSymbol","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","_Symbol","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","end","$includes","addToUnscopables","arrayMethodUsesToLength","ACCESSORS","UNSCOPABLES","ArrayPrototype","activeXDocument","defineProperties","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","content","LT","_NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","temp","parentWindow","NullProtoObjectViaActiveX","style","display","appendChild","src","contentWindow","open","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","size","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","setter","CORRECT_SETTER","checkCorrectnessOfIteration","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","ENTRIES","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tag","tryGet","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","chr","T","j","kind","Arguments","iterate","k","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","LN2","number","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","list","Int8Array","NATIVE_ARRAY_BUFFER","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","isPrototypeOf","TYPED_ARRAY_TAG","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","isView","klass","ArrayBuffer","DataView","SPECIES","defaultConstructor","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","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","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","fetch","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","defer","channel","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","run","runner","listener","post","host","nextTick","port2","port1","onmessage","addEventListener","importScripts","setTimeout","flush","head","last","node","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","match","v8","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","ipv4","parts","parseInt","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","_char2","serializeHost","ignore0","unshift","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","_char3","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","_char4","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","href","serializeURL","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","regexNonASCII","regexSeparators","OVERFLOW_ERROR","stringFromCharCode","digitToBasic","digit","adapt","delta","numPoints","firstTime","baseMinusTMin","encode","currentValue","inputLength","extra","ucs2decode","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","label","encoded","labels","getIterator","Headers","getInternalParamsState","getInternalIteratorState","URL_SEARCH_PARAMS","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","serialize","parseSearchParams","attribute","attributes","validateArgumentsLength","passed","required","URLSearchParamsIterator","params","URLSearchParamsConstructor","entryIterator","entryNext","init","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","callback","body","headers","SymbolPolyfill","description","noop","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","QUEUE_MAX_ARRAY_SIZE","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseResolve","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","_a","AsyncIteratorPrototype","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","_preventCancel","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","WritableStreamDefaultController","writeAlgorithm","closeAlgorithm","abortAlgorithm","SetUpWritableStreamDefaultController","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerAdvanceQueueIfNeeded","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","writeRequest","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseResolve","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultControllerGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","releasedError","chunkSize","_strategySizeAlgorithm","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","WritableStreamDefaultControllerGetChunkSize","WritableStreamAddWriteRequest","writeRecord","enqueueE","_controlledWritableStream","WritableStreamDefaultControllerGetBackpressure","WritableStreamDefaultControllerWrite","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","startAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamMarkCloseRequestInFlight","sinkClosePromise","WritableStreamFinishInFlightClose","WritableStreamFinishInFlightCloseWithError","WritableStreamDefaultControllerProcessClose","WritableStreamMarkFirstWriteRequestInFlight","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamDefaultControllerProcessWrite","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","DOMException$1","isDOMExceptionConstructor","captureStackTrace","ReadableStreamPipeTo","dest","preventClose","preventAbort","preventCancel","signal","shuttingDown","currentWrite","action","actions","shutdownWithAction","map","isOrBecomesErrored","shutdown","WritableStreamDefaultWriterCloseWithErrorPropagation","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","resolveLoop","rejectLoop","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","ReadableStreamDefaultControllerShouldCallPull","_pulling","_pullAlgorithm","_pullAgain","ReadableStreamError","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespondInternal","ReadableByteStreamControllerRespond","respondWithNewView","firstDescriptor","_pendingPullIntos","byteOffset","bytesFilled","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","byobRequest","request","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerClose","transferredBuffer","ReadableByteStreamControllerEnqueueChunkToQueue","transferredView","ReadableStreamHasBYOBReader","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","_readIntoRequests","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","destOffset","srcOffset","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerRespondInClosedState","remainderSize","remainder","ReadableByteStreamControllerRespondInReadableState","ReadableByteStreamControllerClearPendingPullIntos","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","SetUpReadableByteStreamController","ReadableStreamAddReadIntoRequest","readIntoRequest","IsReadableStreamBYOBReader","ReadableStreamBYOBReader","byobReaderBrandCheckException","BYTES_PER_ELEMENT","ReadableByteStreamControllerPullInto","ReadableStreamBYOBReaderRead","underlyingSource","InitializeReadableStream","SetUpReadableStreamDefaultControllerFromUnderlyingSource","streamBrandCheckException$1","getReader","AcquireReadableStreamBYOBReader","pipeThrough","_b","readable","_c","Boolean","pipeTo","tee","branches","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","value1","value2","CreateReadableStream","compositeReason","cancelResult","ReadableStreamTee","AcquireReadableStreamAsyncIterator","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","startPromise","_writable","CreateWritableStream","_transformStreamController","_backpressureChangePromise","TransformStreamDefaultControllerPerformTransform","TransformStreamDefaultSinkWriteAlgorithm","_readable","flushPromise","_flushAlgorithm","TransformStreamDefaultControllerClearAlgorithms","readableController","TransformStreamError","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamSetBackpressure","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise_resolve","InitializeTransformStream","TransformStreamDefaultController","transformAlgorithm","TransformStreamDefaultControllerEnqueue","transformResultE","transformMethod","flushAlgorithm","_controlledTransformStream","_transformAlgorithm","SetUpTransformStreamDefaultController","SetUpTransformStreamDefaultControllerFromTransformer","startResult","IsTransformStream","streamBrandCheckException$2","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","TransformStreamDefaultControllerTerminate","ReadableStreamDefaultControllerHasBackpressure","collection","collectionStrong","InternalMetadataModule","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","nativeMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","FREEZING","METADATA","isExtensible","setMetadata","objectID","weakData","meta","fastKey","getWeakData","onFreeze","preventExtensions","Wrapper","NewTargetPrototype","internalStateGetterFor","previous","getEntry","removed","callbackfn","ITERATOR_NAME","getInternalCollectionState","InternalWeakMap","collectionWeak","enforceIternalState","IS_IE11","$WeakMap","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","ArrayIterationModule","$has","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","some","originalArray","nativeFromCodePoint","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","stringify","space","$replacer","windowNames","getWindowNames","_Symbol3","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","_native","desc","JSON","$padStart","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","$padEnd","$values","TO_ENTRIES","$entries","Cmd","_clearCache","Name","isEOF","isCmd","cmd","isDict","Dict","isName","isRef","isRefsEqual","v1","v2","isStream","getBytes","RefSetCache","RefSet","nameCache","nameValue","cmdCache","cmdValue","nonSerializable","_map","objId","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","getAsync","fetchAsync","getArray","getKeys","getRawValues","empty","merge","dictArray","_ref$mergeSubDicts","mergeSubDicts","mergedDict","dict","_Object$entries","_Object$entries$_i","_step2","_iterator2","_dict","_Object$entries2","_Object$entries2$_i","_value","_step3","_iterator3","_step3$value","_step4","subDict","_iterator4","_dict2","_Object$entries3","_Object$entries3$_i","_value2","refCache","refValue","_set","aliasRef","_step5","_iterator5","_chunked_stream","_document","_stream","_asyncToGenerator","BasePdfManager","_ensure","catalog","manuallyTriggered","_x2","_x3","begin","_password","_docId","_docBaseUrl","_BasePdfManager","_ensure2","Stream","PDFDocument","_loadedStreamPromise","_callee2","_context2","_x4","_x5","_x6","_BasePdfManager2","_ensure3","pdfNetworkStream","streamManager","ChunkedStreamManager","getStream","_callee3","_context3","t0","MissingDataException","requestRange","_x7","_x8","_x9","requestAllChunks","onReceiveData","ChunkedStream","manager","_loadedChunks","numChunks","progressiveDataLength","lastSuccessfulEnsureByteChunk","chunks","numChunksLoaded","beginChunk","endChunk","curChunk","ensureByte","b0","getByte","forceClamped","strEnd","ensureRange","_subarray","peekedByte","ChunkedStreamSubstream","getMissingChunks","missingChunks","allChunksLoaded","subStream","currRequestId","_chunksNeededByRequest","_requestsByChunk","_promisesByRequest","_loadedStreamCapability","rangeReader","getRangeReader","onProgress","chunkData","_requestChunks","requestId","chunksNeeded","hasChunk","chunksToRequest","_chunk","requestIds","groupChunks","groupedChunk","sendRequest","getBeginChunk","getEndChunk","ranges","range","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","loadedRequests","nextEmptyChunk","lastChunk","_loadedRequests","_requestId","_step6","_iterator6","getLookupTableFactory","initializer","lookup","getInheritableProperty","_ref$getArray","_ref$stopWhenFound","stopWhenFound","loopCount","toRomanNumerals","lowerCase","romanBuf","ROMAN_NUMBER_MAP","romanStr","readInt8","offset","readUint16","readUint32","isWhiteSpace","ch","XRefEntryException","Page","_obj","_annotation","_crypto","_parser","_operator_list","_evaluator","LETTER_SIZE_MEDIABOX","isAnnotationRenderable","annotation","viewable","printable","pageDict","globalIdFactory","fontCache","builtInCMapCache","globalImageCache","resourcesPromise","idCounters","_localIdFactory","_globalIdFactory","_class","box","_getInheritableProperty","streams","fetchIfRef","StreamsSequenceStream","NullStream","partialEvaluator","PartialEvaluator","idFactory","_parsedAnnotations","annotations","newRefsPromises","ObjectLoader","resources","load","contentStreamPromise","loadResources","pageListPromise","contentStream","opList","OperatorList","transparency","hasBlendModes","operatorList","pageOpList","totalLength","opListPromises","opLists","addOp","addOpList","getTextContent","annotationsData","_getBoundingBox","mediaBox","cropBox","intersect","_this4","parsedAnnotations","annotationPromises","annotationRef","AnnotationFactory","PDF_HEADER_SIGNATURE","STARTXREF_SIGNATURE","ENDOBJ_SIGNATURE","PDF_HEADER_VERSION_REGEXP","signature","limit","backwards","signatureLength","scanBytes","peekBytes","scanLength","signatureEnd","_pos","_j","XRef","_pagePromises","_version","_class2","_cleanup","parse","Catalog","moveStart","substring","setStartXRef","fields","_this5","recursionDepth","RECURSION_LIMIT","field","_hasOnlyDocumentSignatures","isSignature","isInvisible","linearization","objectNumberFirst","pageKidsCountCache","put","getPageDict","_this6","pageFirst","_getLinearizationPage","_ref10","_ref11","_this7","_ref12","_args2","Linearization","startXRefLength","skip","formInfo","hasAcroForm","hasXfa","acroForm","xfa","isEmpty","hasFields","hasOnlyDocumentSignatures","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","infoDict","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","customValue","Custom","idArray","fingerprintBuf","calculateMD5","getByteRange","hex","FileSpec","_colorspace","_image_utils","fetchDestination","_catDict","getCatalogObj","GlobalImageCache","root","items","processed","blackColor","outlineDict","parseDestDictionary","destDict","resultObj","flags","color","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","newWindow","bold","italic","permissions","config","contentGroupRefs","parseOnOff","refs","onParsed","parseOrder","nestedLevels","order","parsedOrderRefs","nestedOrder","parseNestedOrder","hiddenGroups","groupRef","MAX_NESTED_LEVELS","nestedName","creator","off","groups","destinationId","_readDests","NameTree","pageLabels","prefix","nums","NumberTree","currentLabel","currentIndex","labelDict","st","baseCharCode","letterIndex","character","charBuf","jj","translatedFonts","translatedFont","loadedName","fallback","translated","nodesToVisit","visitedNodes","currentPageIndex","currentNode","kids","_ret","kidRef","parentRef","kidPromises","kid","pagesBeforeRef","_args","streamRef","encryptMetadata","subtype","pagesObj","_readDocumentOutline","_readPermissions","defaultConfig","groupsData","groupRefs","group","_readOptionalContentConfig","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","openAction","attachments","fs","serializable","appendIfJavaScriptDict","jsDict","js","actionType","actionName","addDefaultProtocolToUrl","urlDict","remoteDest","namedAction","jsAction","jsUrl","tryConvertUrlEncoding","xrefstms","_cacheMap","stats","streamTypes","fontTypes","_newRefNum","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","LF","CR","readToken","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","allowStreams","rootDict","startXRefParsedCache","topDict","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","_num","fetchIfRefAsync","NameOrNumberTree","_type","_ii","kidsOrEntries","limits","_l","_r","tmp","_m","currentKey","_m2","mm","_NameOrNumberTree","_NameOrNumberTree2","contentAvailable","pickPlatformItem","_filename","contentRef","fileObj","addChildren","_step7","_iterator7","rawValue","refSet","_walk","_callee4","nodesToRevisit","pendingRequests","baseStreams","foundMissingData","_i4","_ii2","_context4","getBaseStreams","requestRanges","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","computeAdler32","bytesLength","_ref$allowStreams","_ref$recoveryMode","imageCache","refill","cipherTransform","makeInlineImage","makeStream","decryptString","maybeEIPos","followingBytes","knownCommands","nextObj","peekObj","endOffset","peekByte","markerLength","foundEOI","getUint16","findDefaultInlineStreamEnd","inlineStreamSkipEI","tildePos","maybeEI","dictLength","beginInlineImagePos","filterName","filterZero","findDCTDecodeInlineStreamEnd","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","skipToNextLine","nextChar","tryShift","ENDSTREAM_SIGNATURE","actualLength","_findStreamLength","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","_hexStringNumWarn","currentChar","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","peekChar","numParen","charBuffered","previousCh","x2","firstDigit","secondDigit","isFirstHex","_hexStringWarn","comment","getNumber","getString","getName","getHexString","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","hints","hintsLength","hint","getHints","endFirst","mainXRefEntriesOffset","StringStream","DecodeStream","DecryptStream","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","arrayBuffer","getInt32","emptyBuffer","maybeMinBufferLength","_rawMinBufferLength","bufferLength","eof","minBufferLength","readBlock","ensureBuffer","requested","buffer2","bufEnd","newLength","codeLenCodeMap","lengthDecode","distDecode","fixedLitCodeTab","fixedDistCodeTab","cmf","flg","codeSize","codeBuf","getBits","bits","getCode","table","codes","maxLen","codeLen","codeVal","generateHuffmanTable","lengths","code2","hdr","litCodeTable","distCodeTable","numLitCodes","numDistCodes","numCodeLenCodes","codeLenCodeLengths","codeLenCodeTab","bitsLength","bitsOffset","codeLengths","repeatLength","code1","dist","blockLen","block","predictor","readBlockTiff","readBlockPng","colors","columns","pixBytes","rowBytes","rawBytes","inbuf","outbuf","inbits","outbits","bytesPerPixel","sum","compArray","bitMask","kk","prevRow","up","upLeft","left","pa","pb","pc","decrypt","nextChunk","initialized","hasMoreData","maxDecodeLength","repeatHeader","cachedData","bitsCached","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","estimatedDecodedSize","blockSize","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","K","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","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","ArithmeticDecoder","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmap","mmr","width","height","templateIndex","prediction","at","decodingContext","decodeMMRBitmap","Reader","contextLabel","pixel","row1","row2","decodeBitmapTemplate0","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","j0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeTextRegion","huffman","refinement","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","symbolCodeLength","transposed","dsOffset","referenceCorner","combinationOperator","huffmanTables","refinementTemplateIndex","refinementAt","logStripSize","huffmanInput","stripT","tableDeltaT","decode","firstS","currentS","tableFirstS","currentT","symbolId","symbolIDTable","applyRefinement","symbolBitmap","symbolWidth","symbolHeight","rdw","rdh","s2","t2","symbolRow","offsetT","offsetS","maxWidth","deltaS","tableDeltaS","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionMmr","RegionSegmentInformationFieldLength","searchPattern","headerEnd","readSegments","header","segments","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","numberOfExportedSymbols","numberOfNewSymbols","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","patternWidth","patternHeight","maxPatternIndex","halftoneRegion","halftoneRegionFlags","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","genericRegion","genericRegionSegmentFlags","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","SimpleSegmentVisitor","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","line","isLeaf","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","onPageInformation","currentPageInfo","rowSize","drawBitmap","regionInfo","mask","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","customTables","tableDeltaHeight","tableDeltaWidth","tableBitmapSize","tableAggregateInstances","customIndex","getStandardTable","getCustomHuffmanTable","getSymbolDictionaryHuffmanTables","symbols","referredSymbols","tableB1","symbolWidths","newSymbols","currentHeight","currentWidth","totalWidth","firstSymbol","deltaWidth","numberOfInstances","rdx","rdy","bitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMin","xMax","exportedSymbols","currentFlag","totalSymbolsLength","runLength","decodeSymbolDictionary","onImmediateTextRegion","numberOfSymbols","runCodesTable","_codeLength","repeatedLength","numberOfRepeats","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","patterns","patternBitmap","decodePatternDictionary","onImmediateHalftoneRegion","regionWidth","regionHeight","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","mmrInput","mg","ng","patternIndex","patternRow","regionRow","grayScaleBitPlanes","regionX","regionY","decodeHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","decodeTablesSegment","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","endOfBlock","numBits","parseJbig2Chunks","_parseJbig","numberOfPages","_visitor$currentPageI","bitPacked","imgData","parseJbig2","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","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","maybeScanLines","blockRow","precision","round","decodeHuffman","tree","receive","receiveAndExtend","successiveACNextValue","eobrun","successiveACState","decodeMcu","mcu","mcuCol","blockCol","h","decodeBlock","decodeFn","componentsLength","blockOffset","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","offsetZ","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","partialMsg","marker","quantizeAndInverse","blockBufferOffset","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","qt","quantizationTable","buildComponentData","computationBuffer","currentPos","maxPos","newPos","currentMarker","newMarker","_ref2$dnlScanLines","dnlScanLines","readDataBlock","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","extended","sofScanLines","componentIds","componentId","componentsCount","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","nextFileMarker","scaleX","scaleY","numComponents","_getLinearizedBlockData","componentScaleX","componentScaleY","blocksPerScanline","lastComponentScaleX","xScaleBlockOffset","mask3LSB","_convertYccToRgb","Y","Cb","Cr","_convertYcckToRgb","_convertYcckToCmyk","_convertCmykToRgb","_ref3$forceRGB","_ref3$isSourcePDF","rgbData","grayColor","_isColorConversionNeeded","_jpx","jpxImage","JpxImage","tileCount","tiles","tileComponents","tileWidth","tileHeight","tileLeft","tileTop","top","srcPosition","dataPosition","imgRowSize","tileRowSize","JpxError","SubbandsGainLog2","LL","LH","HL","HH","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","resolution","dimensions","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblock","precinctNumber","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","_component","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","px","py","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","posX","minWidth","posY","minHeight","startPrecinctRowIndex","MAX_VALUE","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","scale","widthCurrentResolution","heightCurrentResolution","buildPackets","blocksDimensions","bscale","resolutionSubbands","progressionOrder","packetsIterator","parseTilePackets","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","sopMarkerUsed","COD","ephMarkerUsed","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","included","inclusionTree","zeroBitPlanesTree","InclusionTree","TagTree","incrementValue","nextLevel","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","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","mu","epsilon","gainLog2","calculate","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","colorspace","parseCodestream","headerType","parseImageProperties","newByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","multipleComponentTransform","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","resultImages","transformedTiles","y2","tile0","out","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","transformComponents","levelsLength","levels","currentLevel","defaultValue","stopValue","propagateValues","levelIndex","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","i1","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","i2","Transform","u0","ll","extend","j1","j2","hl_lh_hh","u","llWidth","llHeight","llItems","rowBuffer","numBuffers","colBuffers","currentBuffer","current","alpha","beta","gamma","calculateSHA512","calculateSHA384","calculateSHA256","PDF20","PDF17","ARCFourCipher","AES256Cipher","AES128Cipher","keyLength","encryptBlock","tmp2","decryptBlock","h0","h1","h2","h3","paddedLength","padded","w","rotateArg","Word64","highInteger","lowInteger","high","low","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","lowAdd","highAdd","copyTo","rotr","maj","sigma","sigmaPrime","littleSigma","h4","h5","h6","h7","t1","littleSigmaPrime","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_inv_s","_mix","_mixCol","bufferPosition","cipherKey","_keySize","_cyclesOfRepetition","_j2","_k","_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","encryptString","strLen","pad","crypto","getRandomValues","_data","buf","defaultPasswordBytes","prepareKeyData","revision","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","uBytes","perms","passwordLength","pdfAlgorithm","createEncryptionKey20","decodeUserPassword","cf","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","numComps","_parseAsync","getRgbItem","decodeMap","bpc","isDefaultDecode","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","isPassthrough","allColors","colorMap","getRgbBuffer","rgbPos","destPos","w1","w2","oldIndex","xRatio","yRatio","newIndex","xScaled","w1Scanline","resizeRgbImage","_destPos","_rgbPos","localColorSpaceCache","parsedColorSpace","csName","csRef","localColorSpace","getByRef","_localColorSpace","getByName","cs","_ref$resources","pdfFunctionFactory","_parse","_cache","_ref2$resources","cachedColorSpace","getCached","gray","cmyk","PatternCS","colorSpaces","resourcesCS","baseCS","whitePoint","blackPoint","CalGrayCS","matrix","CalRGBCS","alt","altCS","hiVal","IndexedCS","tintFn","AlternateCS","LabCS","DeviceGrayCS","DeviceRgbCS","DeviceCmykCS","_ColorSpace","tmpBuf","baseNumComps","usesZeroToOneRange","baseBuf","scaled","tinted","getOutputLength","_ColorSpace2","_ColorSpace3","highVal","outputDelta","lookupPos","_ColorSpace4","_ColorSpace5","convertToRgb","srcScale","_ColorSpace6","AG","G","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","sRGBTransferFunction","adjustToRange","decodeL","AGR","GR","BGG","GG","CGB","GB","X","MXA","MXB","MXC","MYA","MYB","MYC","Z","MZA","MZB","MZC","XYZ","XYZ_Flat","sourceWhitePoint","XYZ_In","LMS","LMS_Flat","convertToFlat","normalizeWhitePointToFlat","XYZ_Black","sourceBlackPoint","zeroDecodeL","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","compensateBlackPoint","XYZ_D65","LMS_D65","convertToD65","normalizeWhitePointToD65","SRGB","_ColorSpace8","_super8","fn_g","high1","low2","high2","maxVal","Ls","as","bs","amin","amax","bmin","bmax","M","N","_ColorSpace9","_super9","LocalGStateCache","LocalFunctionCache","LocalColorSpaceCache","LocalImageCache","BaseLocalCache","onlyRefs","_nameRefMap","_imageMap","_imageCache","_BaseLocalCache","_BaseLocalCache2","_BaseLocalCache3","_BaseLocalCache4","_refCache","pageIndexSet","NUM_PAGES_THRESHOLD","MAX_IMAGES_TO_CACHE","onlyData","getQuadPoints","MarkupAnnotation","AnnotationBorderStyle","Annotation","_get","receiver","_superPropBase","createObjId","parameters","LinkAnnotation","TextAnnotation","fieldType","TextWidgetAnnotation","ButtonWidgetAnnotation","ChoiceWidgetAnnotation","WidgetAnnotation","PopupAnnotation","FreeTextAnnotation","LineAnnotation","SquareAnnotation","CircleAnnotation","PolylineAnnotation","PolygonAnnotation","CaretAnnotation","InkAnnotation","HighlightAnnotation","UnderlineAnnotation","SquigglyAnnotation","StrikeOutAnnotation","StampAnnotation","FileAttachmentAnnotation","quadPoints","quadPointsLists","getTransformMatrix","bbox","_Util$getAxialAligned2","getAxialAlignedBoundingBox","maxY","setContents","setModificationDate","setFlags","setRectangle","setColor","setBorderStyle","setAppearance","annotationFlags","borderStyle","contents","hasAppearance","appearance","modificationDate","_save","flag","_hasFlag","dictType","setWidth","setStyle","setDashArray","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","evaluator","renderForms","appearanceDict","_isViewable","_isPrintable","dashArray","horizontalCornerRadius","verticalCornerRadius","maxHeight","isValid","allZeros","radius","_Annotation","rawIRT","inReplyTo","rt","replyType","setCreationDate","creationDate","hasPopup","_Annotation2","_getFontData2","_getAppearance2","_save2","annotationType","fieldName","_constructFieldName","fieldValue","_decodeFormValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","loopDict","formValue","_hasText","_getAppearance","AP","originalTransform","newTransform","bufferOriginal","bufferNew","writeDict","isPassword","defaultPadding","hPadding","totalHeight","fontInfo","_fontInfo","fontName","fontSize","descent","vPadding","alignment","renderedText","_getFontData","_computeFontSize","abs","textAlignment","comb","_getCombAppearance","multiLine","_getMultilineAppearance","_renderText","initialState","clone","_x10","_x11","capHeight","charsToGlyphs","fontRegex","text","toFixed","_WidgetAnnotation","maximumLength","combWidth","renderedComb","_splitLine","padding","whitespace","lastSpacePos","startChunk","charWidth","_WidgetAnnotation2","_saveRadioButton2","_saveCheckbox2","_save3","checkedAppearance","uncheckedAppearance","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","savedAppearance","_callee5","_context5","_saveCheckbox","_saveRadioButton","_x12","_x13","_x14","_callee6","_context6","exportValue","_x15","_x16","_x17","_callee7","parentBuffer","parentTransform","_context7","buttonValue","_x18","_x19","_x20","customAppearance","normalAppearance","exportValues","fieldParent","fieldParentValue","_WidgetAnnotation3","option","isOptionArray","displayValue","combo","multiSelect","_MarkupAnnotation","_this8","stateModel","_Annotation3","_this9","_Annotation4","_this10","parentItem","parentSubtype","parentType","rawParent","parentId","parentFlags","_MarkupAnnotation2","_this11","_MarkupAnnotation3","_super10","_this12","lineCoordinates","_MarkupAnnotation4","_super11","_this13","_MarkupAnnotation5","_super12","_this14","_MarkupAnnotation6","_super13","_this15","rawVertices","vertices","_PolylineAnnotation","_super14","_this16","_MarkupAnnotation7","_super15","_this17","_MarkupAnnotation8","_super16","_this18","originalInkLists","inkLists","_MarkupAnnotation9","_super17","_this19","_MarkupAnnotation10","_super18","_this20","_MarkupAnnotation11","_super19","_this21","_MarkupAnnotation12","_super20","_this22","_MarkupAnnotation13","_super21","_this23","_MarkupAnnotation14","_super22","_this24","QueueOptimizer","addState","parentState","pattern","checkFn","iterateFn","processFn","InitialState","iCurr","fnArray","argsArray","lastProcessed","curr","iFirstSave","iFirstTransform","iFirstPIIXO","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","dataOffset","iFirstPIMXO","imageMask","handlePaintSolidColorImageMask","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg1","firstTransformArg2","firstTransformArg3","iPIMXO","positions","images","maskParams","firstPIXOArg0","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","NullOptimizer","streamSink","_streamSink","optimizer","dependencies","_totalLength","weight","_resolved","CHUNK_SIZE","addDependency","addDependencies","getIR","transfers","cached","_transfers","originalData","baseOffset","refForXrefTable","xrefTableData","indexes","maxOffset","md5","filesize","time","md5Buffer","md5BufferLen","_Object$values","_md5Buffer","writeString","computeMD5","sizes","tableLength","bufferLen","footer","_xrefTableData","_xrefTableData$_i","objOffset","writeInt","writeValue","writeArray","roundedValue","numberToString","writeStream","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_function","_bidi","_glyphlist","_metrics","_murmurhash","_image","DefaultPartialEvaluatorOptions","freeze","PatternType","deferred","normalizeBlendMode","parsingArray","maybeBM","TimeSlotManager","checked","CHECK_TIME_EVERY","endTime","TIME_SLOT_DURATION_MS","_ref$options","parsingType3Font","_fetchBuiltInCMapBound","fetchBuiltInCMap","_parseMarkedContentProps","_handleColorN","_setGState","_buildPaintImageXObject","_buildFormXObject","_fetchBuiltInCMap","newOptions","newEvaluator","nodes","graphicStates","graphicState","bm","xObjects","xObject","xResources","readableStream","sendWithStream","pump","compressionType","xobj","optionalContent","groupOptions","groupSubtype","colorSpace","parseMarkedContentProps","isolated","knockout","parseColorSpace","backdrop","cacheGlobally","image","_ref3$isInline","isInline","localImageCache","imageRef","bitStrideLength","imgArray","softMask","imageObj","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","res","_pdfFunctionFactory","createImageData","getDocId","shouldCache","buildImage","_sendImgData","addPageIndex","setData","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","buildFormXObject","tr","transferArray","transferMaps","numFns","numEffectfulFns","patternDict","tilingOpList","patternResources","getTilingPatternIR","tilingPatternIR","fontArgs","fontRef","loadFont","isType3Font","loadType3Data","type3Dependencies","TranslatedFont","ErrorFont","extraProperties","glyphs","textRenderingMode","fillColorSpace","buildFontPaths","gState","localGStateCache","gStateRef","isSimpleGState","gStateObj","gStateKeys","handleSetFont","handleSMask","handleTransferFunction","errorFont","fontRes","fallbackFontDict","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontAliases","aliasFontRef","putAlias","createFontId","translateFont","fontType","fontFile3","getFontType","parsingText","lastIndex","opArgs","parseAsync","patternName","typeNum","shading","handleTilingType","Pattern","parseShading","contentProperties","optionalContentType","optionalContentGroups","groupIds","expression","ocg","policy","_ref6$initialState","EvalState","xobjs","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","savedStatesDepth","promiseBody","operation","localImage","resolveXObject","rejectXObject","_localImage","globalImage","buildPaintImageXObject","_localImage2","ensureStateFont","handleText","combinedGlyphs","arrLength","arrItem","_cachedColorSpace","strokeColorSpace","handleColorN","shadingRes","localGStateObj","resolveGState","rejectGState","extGState","buildPath","_ref7$stateManager","_ref7$normalizeWhites","_ref7$combineTextItem","_ref7$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","emptyXObjectCache","emptyGStateCache","ensureTextContentItem","fontFamily","fallbackName","ascent","tsm","textHScale","textRise","fontMatrix","glyphHeight","trm","ctm","textMatrix","textLineMatrix","scaleLineX","scaleCtmX","isMonospace","replaceWhitespace","buildTextContentItem","textChunk","glyph","glyphWidth","vmetric","glyphUnicode","unicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","charSpacing","isSpace","wordSpacing","addFakeSpaces","tx","ty","translateTextMatrix","fakeSpaces","flushTextContentItem","bidiResult","bidi","dir","enqueueChunk","advance","fontNameArg","fontSizeArg","leading","isSameTextLine","translateTextLineMatrix","carriageReturn","calcTextLineMatrixAdvance","setTextLineMatrix","breakTextRun","currentState","xObjStateManager","sinkWrapper","enqueueInvoked","gStateFont","baseDict","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","builtToUnicode","readCidToGidMap","forceGlyphs","charcode","glyphName","glyphsUnicodeMap","getGlyphsUnicode","_charcode","_glyphName","codeStr","_buildSimpleFontToUnicode","getUnicodeForGlyph","baseEncoding","ToUnicodeMap","hasIncludedToUnicodeMap","fallbackToUnicode","cMap","builtInCMap","IdentityCMap","ucs2CMapName","CMapFactory","useCMap","ucs2CMap","cid","ucs2","IdentityToUnicodeMap","firstChar","lastChar","cmapObj","cmap","getMap","charCode","glyphsData","glyphID","defaultVMetrics","widths","glyphsWidths","defaultWidth","glyphsVMetrics","vmetrics","parseFloat","baseFontName","metrics","getBaseFontMetrics","buildCharCodeToWidth","firstWidth","FixedPitch","fontNameWoStyle","getSerifFonts","monospace","lookupName","getStdFontMap","Metrics","getMetrics","isSerifFont","glyphWidths","widthsByGlyphName","uint8array","df","MurmurHash3_64","update","diffLength","diffBuf","diffEntry","hexdigest","maxCharIndex","Serif","getSymbolsFonts","extractDataStructures","newProperties","Font","baseFont","fontNameStr","baseFontStr","cMapPromise","fontFile","length1","length2","length3","fixedPitch","xHeight","italicAngle","cidEncoding","extractWidths","PDFFunctionFactory","fontChar","renderer","hasBuiltPath","getPathJs","accent","_ref8$extraProperties","_extraProperties","type3Loaded","exportData","glyphCacheValues","type3Options","type3Evaluator","loadCharProcsPromise","charProcs","fontResources","charProcOperatorList","_loop2","glyphStream","_step8","_iterator8","dummyOperatorList","stateStack","old","txDiff","tyDiff","denominator","opMap","nonProcessedArgs","_numInvalidPathOPS","getOPMap","numArgs","variableArgs","J","ri","gs","Q","cm","re","W","BT","ET","Tc","Tw","Tz","TL","Tf","Tr","Ts","Td","TD","Tm","Tj","TJ","d0","CS","SC","SCN","sc","scn","RG","rg","sh","BI","ID","EI","Do","MP","DP","BMC","BDC","EMC","BX","EX","BM","BD","fa","fal","fals","nu","nul","opSpec","argsLength","MAX_INVALID_PATH_OPS","preprocessCommand","CMap","BUILT_IN_CMAPS","MAX_MAP_RANGE","codespaceRanges","numCodespaceRanges","dstLow","dst","nn","codespaceRange","_CMap","addCodespaceRange","BinaryCMapReader","hexToInt","hexToStr","addHex","incHex","MAX_NUM_SIZE","MAX_ENCODED_NUM_SIZE","BinaryCMapStream","readByte","readNumber","readSigned","readHex","readHexNumber","stack","sp","readHexSigned","readString","_char","dataSize","subitemsCount","mapOne","mapCidRange","mapBfRange","strToInt","expectString","expectInt","parseBfChar","parseBfRange","mapBfRangeToArray","parseCidChar","parseCidRange","parseCodespaceRange","parseWMode","parseCMapName","parseCMap","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","EXPORT_DATA_PROPERTIES","EXPORT_DATA_EXTRA_PROPERTIES","Script","Italic","AllCap","SmallCap","ForceBold","MacStandardGlyphOrdering","adjustWidths","recoverGlyphName","Glyph","operatorListId","isInFont","matchesForCache","charCodeOf","amend","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","entriesCount","entrySize","maxPower2","searchRange","rangeShift","toArray","tablesNames","tableName","numTables","tableOffsets","checksum","addTable","missingFile","glyphCache","toFontChar","fallbackToSystemFont","_getFontFileType2","fileType","fileSubtype","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","getFontFileType","mimetype","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","int16","signedInt16","string16","safeString16","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","createCmapTable","numGlyphs","codeIndices","getRanges","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","contiguous","format314","format31012","header31012","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","FontRendererFactory","exportDataProperties","stdFontMap","nonStdFontMap","getNonStdFontMap","isStandardFont","remeasure","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","_charCode","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","_charCode2","unicodeCharCode","getDingbatsGlyphsUnicode","_GlyphMapForStandardFonts","_charCode3","VALID_TABLES","readTables","hhea","hmtx","maxp","readTableEntry","previousPosition","readOpenTypeHeader","ttf","entrySelector","sanitizeGlyph","sourceStart","sourceEnd","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xLength","yLength","xyLength","glyphDataLength","readNameTable","numRecords","stringsStart","records","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","ttcData","ttc","_readTrueTypeCollecti","ttcTag","majorVersion","minorVersion","numFonts","offsetTable","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionHeader","potentialHeader","potentialTables","nameEntry","readTrueTypeCollectionData","isTrueType","loca","isComposite","fpgm","prep","numGlyphsOut","dupFirstEntry","maxFunctionDefs","maxSizeOfInstructions","cvt","checkInvalidFunctions","cvtData","sanitizeTTPrograms","numOfMetrics","numMissing","sanitizeMetrics","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeHead","missingGlyphs","isGlyphLocationsLong","glyphsInfo","itemSize","itemDecode","itemEncode","locaDataSize","locaData","oldGlyfData","oldGlyfDataLength","newGlyfData","locaEntries","writeOffset","simpleGlyph","firstEntryLength","sanitizeGlyphLocations","metricsOverride","propertiesObj","maxpNumGlyphs","glyphNames","valid","glyphNameIndexes","customNames","readPostScriptTable","isCidToGidMapEmpty","cmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","readCmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","_charCode4","glyphZeroId","newMapping","os2","selection","validateOS2Table","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","builtInEncoding","adjustToUnicode","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","tan","cffWidths","_i5","charstring","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","readCharCode","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","headerBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","suggestedLength","headerBytes","headerBytesLength","EEXEC_SIGNATURE","streamStartPos","getHeaderBlock","Type1Parser","extractFontHeader","eexecBytes","eexecBlock","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","getSeacs","_glyphId","charstringsLen","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","privateData","subrIndex","subrsIndex","charsets","isCIDFont","CFFFDSelect","_charsets","CharstringValidationData","CharstringValidationData12","stackClearing","stem","resetStack","undefStack","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","topDictIndex","stringIndex","topDictParsed","parseDict","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","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","callDepth","stackSize","validationCommand","subrNumber","parseCharString","hasVStems","firstStackClearing","localSubrToUse","privateDictToUse","fdIndex","getFDIndex","nominalWidth","parentDict","privateOffset","emptyPrivateDictionary","privateDictEnd","dictData","subrsOffset","relativeOffset","removeByName","CFFCharsetPredefinedTypes","ISO_ADOBE","ISOAdobeCharset","EXPERT","ExpertCharset","EXPERT_SUBSET","ExpertSubsetCharset","raw","predefined","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","supplementsCount","sid","readSupplement","CFFEncoding","glyphZero","NUM_STANDARD_CFF_STRINGS","objects","layout","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","valueLength","_CFFDict","createTables","_CFFDict2","glyphIndex","CFFOffsetTracker","offset1","offset2","offset3","offset4","compileHeader","compileNameIndex","compiled","compileTopDicts","topDictTracker","trackers","compileStringIndex","compileIndex","setEntryLocation","compileEncoding","compileCharset","compileCharStrings","compileFDSelect","fontDictTrackers","compilePrivateDicts","encodeInteger","encodeFloat","EncodeFloatRegExp","nibbles","sanitizedName","dicts","removeCidKeys","fontDictTracker","fontDictData","compileDict","privateDictTracker","privateDictData","offsetTracker","encodeNumber","isTracking","track","writeByteArray","numGlyphsLessNotDef","charsetIndex","numCharsets","warned","getSID","compileTypedArray","lastFD","currentFD","numRanges","lastOffset","encodingName","MacExpertEncoding","AE","AEacute","AEmacron","AEsmall","Aacute","Aacutesmall","Abreve","Abreveacute","Abrevecyrillic","Abrevedotbelow","Abrevegrave","Abrevehookabove","Abrevetilde","Acaron","Acircle","Acircumflex","Acircumflexacute","Acircumflexdotbelow","Acircumflexgrave","Acircumflexhookabove","Acircumflexsmall","Acircumflextilde","Acute","Acutesmall","Acyrillic","Adblgrave","Adieresis","Adieresiscyrillic","Adieresismacron","Adieresissmall","Adotbelow","Adotmacron","Agrave","Agravesmall","Ahookabove","Aiecyrillic","Ainvertedbreve","Alpha","Alphatonos","Amacron","Amonospace","Aogonek","Aring","Aringacute","Aringbelow","Aringsmall","Asmall","Atilde","Atildesmall","Aybarmenian","Bcircle","Bdotaccent","Bdotbelow","Becyrillic","Benarmenian","Beta","Bhook","Blinebelow","Bmonospace","Brevesmall","Bsmall","Btopbar","Caarmenian","Cacute","Caron","Caronsmall","Ccaron","Ccedilla","Ccedillaacute","Ccedillasmall","Ccircle","Ccircumflex","Cdot","Cdotaccent","Cedillasmall","Chaarmenian","Cheabkhasiancyrillic","Checyrillic","Chedescenderabkhasiancyrillic","Chedescendercyrillic","Chedieresiscyrillic","Cheharmenian","Chekhakassiancyrillic","Cheverticalstrokecyrillic","Chi","Chook","Circumflexsmall","Cmonospace","Coarmenian","Csmall","D","DZ","DZcaron","Daarmenian","Dafrican","Dcaron","Dcedilla","Dcircle","Dcircumflexbelow","Dcroat","Ddotaccent","Ddotbelow","Decyrillic","Deicoptic","Delta","Deltagreek","Dhook","Dieresis","DieresisAcute","DieresisGrave","Dieresissmall","Digammagreek","Djecyrillic","Dlinebelow","Dmonospace","Dotaccentsmall","Dslash","Dsmall","Dtopbar","Dz","Dzcaron","Dzeabkhasiancyrillic","Dzecyrillic","Dzhecyrillic","Eacute","Eacutesmall","Ebreve","Ecaron","Ecedillabreve","Echarmenian","Ecircle","Ecircumflex","Ecircumflexacute","Ecircumflexbelow","Ecircumflexdotbelow","Ecircumflexgrave","Ecircumflexhookabove","Ecircumflexsmall","Ecircumflextilde","Ecyrillic","Edblgrave","Edieresis","Edieresissmall","Edot","Edotaccent","Edotbelow","Efcyrillic","Egrave","Egravesmall","Eharmenian","Ehookabove","Eightroman","Einvertedbreve","Eiotifiedcyrillic","Elcyrillic","Elevenroman","Emacron","Emacronacute","Emacrongrave","Emcyrillic","Emonospace","Encyrillic","Endescendercyrillic","Eng","Enghecyrillic","Enhookcyrillic","Eogonek","Eopen","Epsilon","Epsilontonos","Ercyrillic","Ereversed","Ereversedcyrillic","Escyrillic","Esdescendercyrillic","Esh","Esmall","Eta","Etarmenian","Etatonos","Eth","Ethsmall","Etilde","Etildebelow","Euro","Ezh","Ezhcaron","Ezhreversed","Fcircle","Fdotaccent","Feharmenian","Feicoptic","Fhook","Fitacyrillic","Fiveroman","Fmonospace","Fourroman","Fsmall","GBsquare","Gacute","Gamma","Gammaafrican","Gangiacoptic","Gbreve","Gcaron","Gcedilla","Gcircle","Gcircumflex","Gcommaaccent","Gdot","Gdotaccent","Gecyrillic","Ghadarmenian","Ghemiddlehookcyrillic","Ghestrokecyrillic","Gheupturncyrillic","Ghook","Gimarmenian","Gjecyrillic","Gmacron","Gmonospace","Grave","Gravesmall","Gsmall","Gsmallhook","Gstroke","H","H18533","H18543","H18551","H22073","HPsquare","Haabkhasiancyrillic","Hadescendercyrillic","Hardsigncyrillic","Hbar","Hbrevebelow","Hcedilla","Hcircle","Hcircumflex","Hdieresis","Hdotaccent","Hdotbelow","Hmonospace","Hoarmenian","Horicoptic","Hsmall","Hungarumlaut","Hungarumlautsmall","Hzsquare","I","IAcyrillic","IJ","IUcyrillic","Iacute","Iacutesmall","Ibreve","Icaron","Icircle","Icircumflex","Icircumflexsmall","Icyrillic","Idblgrave","Idieresis","Idieresisacute","Idieresiscyrillic","Idieresissmall","Idot","Idotaccent","Idotbelow","Iebrevecyrillic","Iecyrillic","Ifraktur","Igrave","Igravesmall","Ihookabove","Iicyrillic","Iinvertedbreve","Iishortcyrillic","Imacron","Imacroncyrillic","Imonospace","Iniarmenian","Iocyrillic","Iogonek","Iota","Iotaafrican","Iotadieresis","Iotatonos","Ismall","Istroke","Itilde","Itildebelow","Izhitsacyrillic","Izhitsadblgravecyrillic","Jaarmenian","Jcircle","Jcircumflex","Jecyrillic","Jheharmenian","Jmonospace","Jsmall","KBsquare","KKsquare","Kabashkircyrillic","Kacute","Kacyrillic","Kadescendercyrillic","Kahookcyrillic","Kappa","Kastrokecyrillic","Kaverticalstrokecyrillic","Kcaron","Kcedilla","Kcircle","Kcommaaccent","Kdotbelow","Keharmenian","Kenarmenian","Khacyrillic","Kheicoptic","Khook","Kjecyrillic","Klinebelow","Kmonospace","Koppacyrillic","Koppagreek","Ksicyrillic","Ksmall","LJ","Lacute","Lambda","Lcaron","Lcedilla","Lcircle","Lcircumflexbelow","Lcommaaccent","Ldot","Ldotaccent","Ldotbelow","Ldotbelowmacron","Liwnarmenian","Lj","Ljecyrillic","Llinebelow","Lmonospace","Lslash","Lslashsmall","Lsmall","MBsquare","Macron","Macronsmall","Macute","Mcircle","Mdotaccent","Mdotbelow","Menarmenian","Mmonospace","Msmall","Mturned","Mu","NJ","Nacute","Ncaron","Ncedilla","Ncircle","Ncircumflexbelow","Ncommaaccent","Ndotaccent","Ndotbelow","Nhookleft","Nineroman","Nj","Njecyrillic","Nlinebelow","Nmonospace","Nowarmenian","Nsmall","Ntilde","Ntildesmall","Nu","OE","OEsmall","Oacute","Oacutesmall","Obarredcyrillic","Obarreddieresiscyrillic","Obreve","Ocaron","Ocenteredtilde","Ocircle","Ocircumflex","Ocircumflexacute","Ocircumflexdotbelow","Ocircumflexgrave","Ocircumflexhookabove","Ocircumflexsmall","Ocircumflextilde","Ocyrillic","Odblacute","Odblgrave","Odieresis","Odieresiscyrillic","Odieresissmall","Odotbelow","Ogoneksmall","Ograve","Ogravesmall","Oharmenian","Ohm","Ohookabove","Ohorn","Ohornacute","Ohorndotbelow","Ohorngrave","Ohornhookabove","Ohorntilde","Ohungarumlaut","Oi","Oinvertedbreve","Omacron","Omacronacute","Omacrongrave","Omega","Omegacyrillic","Omegagreek","Omegaroundcyrillic","Omegatitlocyrillic","Omegatonos","Omicron","Omicrontonos","Omonospace","Oneroman","Oogonek","Oogonekmacron","Oopen","Oslash","Oslashacute","Oslashsmall","Osmall","Ostrokeacute","Otcyrillic","Otilde","Otildeacute","Otildedieresis","Otildesmall","Pacute","Pcircle","Pdotaccent","Pecyrillic","Peharmenian","Pemiddlehookcyrillic","Phi","Phook","Pi","Piwrarmenian","Pmonospace","Psi","Psicyrillic","Psmall","Qcircle","Qmonospace","Qsmall","R","Raarmenian","Racute","Rcaron","Rcedilla","Rcircle","Rcommaaccent","Rdblgrave","Rdotaccent","Rdotbelow","Rdotbelowmacron","Reharmenian","Rfraktur","Rho","Ringsmall","Rinvertedbreve","Rlinebelow","Rmonospace","Rsmall","Rsmallinverted","Rsmallinvertedsuperior","SF010000","SF020000","SF030000","SF040000","SF050000","SF060000","SF070000","SF080000","SF090000","SF100000","SF110000","SF190000","SF200000","SF210000","SF220000","SF230000","SF240000","SF250000","SF260000","SF270000","SF280000","SF360000","SF370000","SF380000","SF390000","SF400000","SF410000","SF420000","SF430000","SF440000","SF450000","SF460000","SF470000","SF480000","SF490000","SF500000","SF510000","SF520000","SF530000","SF540000","Sacute","Sacutedotaccent","Sampigreek","Scaron","Scarondotaccent","Scaronsmall","Scedilla","Schwa","Schwacyrillic","Schwadieresiscyrillic","Scircle","Scircumflex","Scommaaccent","Sdotaccent","Sdotbelow","Sdotbelowdotaccent","Seharmenian","Sevenroman","Shaarmenian","Shacyrillic","Shchacyrillic","Sheicoptic","Shhacyrillic","Shimacoptic","Sigma","Sixroman","Smonospace","Softsigncyrillic","Ssmall","Stigmagreek","Tau","Tbar","Tcaron","Tcedilla","Tcircle","Tcircumflexbelow","Tcommaaccent","Tdotaccent","Tdotbelow","Tecyrillic","Tedescendercyrillic","Tenroman","Tetsecyrillic","Theta","Thook","Thorn","Thornsmall","Threeroman","Tildesmall","Tiwnarmenian","Tlinebelow","Tmonospace","Toarmenian","Tonefive","Tonesix","Tonetwo","Tretroflexhook","Tsecyrillic","Tshecyrillic","Tsmall","Twelveroman","Tworoman","U","Uacute","Uacutesmall","Ubreve","Ucaron","Ucircle","Ucircumflex","Ucircumflexbelow","Ucircumflexsmall","Ucyrillic","Udblacute","Udblgrave","Udieresis","Udieresisacute","Udieresisbelow","Udieresiscaron","Udieresiscyrillic","Udieresisgrave","Udieresismacron","Udieresissmall","Udotbelow","Ugrave","Ugravesmall","Uhookabove","Uhorn","Uhornacute","Uhorndotbelow","Uhorngrave","Uhornhookabove","Uhorntilde","Uhungarumlaut","Uhungarumlautcyrillic","Uinvertedbreve","Ukcyrillic","Umacron","Umacroncyrillic","Umacrondieresis","Umonospace","Uogonek","Upsilon","Upsilon1","Upsilonacutehooksymbolgreek","Upsilonafrican","Upsilondieresis","Upsilondieresishooksymbolgreek","Upsilonhooksymbol","Upsilontonos","Uring","Ushortcyrillic","Usmall","Ustraightcyrillic","Ustraightstrokecyrillic","Utilde","Utildeacute","Utildebelow","Vcircle","Vdotbelow","Vecyrillic","Vewarmenian","Vhook","Vmonospace","Voarmenian","Vsmall","Vtilde","Wacute","Wcircle","Wcircumflex","Wdieresis","Wdotaccent","Wdotbelow","Wgrave","Wmonospace","Wsmall","Xcircle","Xdieresis","Xdotaccent","Xeharmenian","Xi","Xmonospace","Xsmall","Yacute","Yacutesmall","Yatcyrillic","Ycircle","Ycircumflex","Ydieresis","Ydieresissmall","Ydotaccent","Ydotbelow","Yericyrillic","Yerudieresiscyrillic","Ygrave","Yhook","Yhookabove","Yiarmenian","Yicyrillic","Yiwnarmenian","Ymonospace","Ysmall","Ytilde","Yusbigcyrillic","Yusbigiotifiedcyrillic","Yuslittlecyrillic","Yuslittleiotifiedcyrillic","Zaarmenian","Zacute","Zcaron","Zcaronsmall","Zcircle","Zcircumflex","Zdot","Zdotaccent","Zdotbelow","Zecyrillic","Zedescendercyrillic","Zedieresiscyrillic","Zeta","Zhearmenian","Zhebrevecyrillic","Zhecyrillic","Zhedescendercyrillic","Zhedieresiscyrillic","Zlinebelow","Zmonospace","Zsmall","Zstroke","aabengali","aacute","aadeva","aagujarati","aagurmukhi","aamatragurmukhi","aarusquare","aavowelsignbengali","aavowelsigndeva","aavowelsigngujarati","abbreviationmarkarmenian","abbreviationsigndeva","abengali","abopomofo","abreve","abreveacute","abrevecyrillic","abrevedotbelow","abrevegrave","abrevehookabove","abrevetilde","acaron","acircle","acircumflex","acircumflexacute","acircumflexdotbelow","acircumflexgrave","acircumflexhookabove","acircumflextilde","acute","acutebelowcmb","acutecmb","acutecomb","acutedeva","acutelowmod","acutetonecmb","acyrillic","adblgrave","addakgurmukhi","adeva","adieresis","adieresiscyrillic","adieresismacron","adotbelow","adotmacron","ae","aeacute","aekorean","aemacron","afii00208","afii08941","afii10017","afii10018","afii10019","afii10020","afii10021","afii10022","afii10023","afii10024","afii10025","afii10026","afii10027","afii10028","afii10029","afii10030","afii10031","afii10032","afii10033","afii10034","afii10035","afii10036","afii10037","afii10038","afii10039","afii10040","afii10041","afii10042","afii10043","afii10044","afii10045","afii10046","afii10047","afii10048","afii10049","afii10050","afii10051","afii10052","afii10053","afii10054","afii10055","afii10056","afii10057","afii10058","afii10059","afii10060","afii10061","afii10062","afii10063","afii10064","afii10065","afii10066","afii10067","afii10068","afii10069","afii10070","afii10071","afii10072","afii10073","afii10074","afii10075","afii10076","afii10077","afii10078","afii10079","afii10080","afii10081","afii10082","afii10083","afii10084","afii10085","afii10086","afii10087","afii10088","afii10089","afii10090","afii10091","afii10092","afii10093","afii10094","afii10095","afii10096","afii10097","afii10098","afii10099","afii10100","afii10101","afii10102","afii10103","afii10104","afii10105","afii10106","afii10107","afii10108","afii10109","afii10110","afii10145","afii10146","afii10147","afii10148","afii10192","afii10193","afii10194","afii10195","afii10196","afii10831","afii10832","afii10846","afii299","afii300","afii301","afii57381","afii57388","afii57392","afii57393","afii57394","afii57395","afii57396","afii57397","afii57398","afii57399","afii57400","afii57401","afii57403","afii57407","afii57409","afii57410","afii57411","afii57412","afii57413","afii57414","afii57415","afii57416","afii57417","afii57418","afii57419","afii57420","afii57421","afii57422","afii57423","afii57424","afii57425","afii57426","afii57427","afii57428","afii57429","afii57430","afii57431","afii57432","afii57433","afii57434","afii57440","afii57441","afii57442","afii57443","afii57444","afii57445","afii57446","afii57448","afii57449","afii57450","afii57451","afii57452","afii57453","afii57454","afii57455","afii57456","afii57457","afii57458","afii57470","afii57505","afii57506","afii57507","afii57508","afii57509","afii57511","afii57512","afii57513","afii57514","afii57519","afii57534","afii57636","afii57645","afii57658","afii57664","afii57665","afii57666","afii57667","afii57668","afii57669","afii57670","afii57671","afii57672","afii57673","afii57674","afii57675","afii57676","afii57677","afii57678","afii57679","afii57680","afii57681","afii57682","afii57683","afii57684","afii57685","afii57686","afii57687","afii57688","afii57689","afii57690","afii57694","afii57695","afii57700","afii57705","afii57716","afii57717","afii57718","afii57723","afii57793","afii57794","afii57795","afii57796","afii57797","afii57798","afii57799","afii57800","afii57801","afii57802","afii57803","afii57804","afii57806","afii57807","afii57839","afii57841","afii57842","afii57929","afii61248","afii61289","afii61352","afii61573","afii61574","afii61575","afii61664","afii63167","afii64937","agrave","agujarati","agurmukhi","ahiragana","ahookabove","aibengali","aibopomofo","aideva","aiecyrillic","aigujarati","aigurmukhi","aimatragurmukhi","ainarabic","ainfinalarabic","aininitialarabic","ainmedialarabic","ainvertedbreve","aivowelsignbengali","aivowelsigndeva","aivowelsigngujarati","akatakana","akatakanahalfwidth","akorean","alef","alefarabic","alefdageshhebrew","aleffinalarabic","alefhamzaabovearabic","alefhamzaabovefinalarabic","alefhamzabelowarabic","alefhamzabelowfinalarabic","alefhebrew","aleflamedhebrew","alefmaddaabovearabic","alefmaddaabovefinalarabic","alefmaksuraarabic","alefmaksurafinalarabic","alefmaksurainitialarabic","alefmaksuramedialarabic","alefpatahhebrew","alefqamatshebrew","aleph","allequal","alphatonos","amacron","amonospace","ampersand","ampersandmonospace","ampersandsmall","amsquare","anbopomofo","angbopomofo","angbracketleft","angbracketright","angkhankhuthai","anglebracketleft","anglebracketleftvertical","anglebracketright","anglebracketrightvertical","angleleft","angleright","angstrom","anoteleia","anudattadeva","anusvarabengali","anusvaradeva","anusvaragujarati","aogonek","apaatosquare","aparen","apostrophearmenian","apostrophemod","apple","approaches","approxequal","approxequalorimage","approximatelyequal","araeaekorean","araeakorean","arc","arighthalfring","aring","aringacute","aringbelow","arrowboth","arrowdashdown","arrowdashleft","arrowdashright","arrowdashup","arrowdblboth","arrowdbldown","arrowdblleft","arrowdblright","arrowdblup","arrowdown","arrowdownleft","arrowdownright","arrowdownwhite","arrowheaddownmod","arrowheadleftmod","arrowheadrightmod","arrowheadupmod","arrowhorizex","arrowleft","arrowleftdbl","arrowleftdblstroke","arrowleftoverright","arrowleftwhite","arrowright","arrowrightdblstroke","arrowrightheavy","arrowrightoverleft","arrowrightwhite","arrowtableft","arrowtabright","arrowup","arrowupdn","arrowupdnbse","arrowupdownbase","arrowupleft","arrowupleftofdown","arrowupright","arrowupwhite","arrowvertex","asciicircum","asciicircummonospace","asciitilde","asciitildemonospace","ascript","ascriptturned","asmallhiragana","asmallkatakana","asmallkatakanahalfwidth","asterisk","asteriskaltonearabic","asteriskarabic","asteriskmath","asteriskmonospace","asterisksmall","asterism","asuperior","asymptoticallyequal","atilde","atmonospace","atsmall","aturned","aubengali","aubopomofo","audeva","augujarati","augurmukhi","aulengthmarkbengali","aumatragurmukhi","auvowelsignbengali","auvowelsigndeva","auvowelsigngujarati","avagrahadeva","aybarmenian","ayin","ayinaltonehebrew","ayinhebrew","babengali","backslash","backslashmonospace","badeva","bagujarati","bagurmukhi","bahiragana","bahtthai","bakatakana","bar","barmonospace","bbopomofo","bcircle","bdotaccent","bdotbelow","beamedsixteenthnotes","because","becyrillic","beharabic","behfinalarabic","behinitialarabic","behiragana","behmedialarabic","behmeeminitialarabic","behmeemisolatedarabic","behnoonfinalarabic","bekatakana","benarmenian","bet","betasymbolgreek","betdagesh","betdageshhebrew","bethebrew","betrafehebrew","bhabengali","bhadeva","bhagujarati","bhagurmukhi","bhook","bihiragana","bikatakana","bilabialclick","bindigurmukhi","birusquare","blackcircle","blackdiamond","blackdownpointingtriangle","blackleftpointingpointer","blackleftpointingtriangle","blacklenticularbracketleft","blacklenticularbracketleftvertical","blacklenticularbracketright","blacklenticularbracketrightvertical","blacklowerlefttriangle","blacklowerrighttriangle","blackrectangle","blackrightpointingpointer","blackrightpointingtriangle","blacksmallsquare","blacksmilingface","blacksquare","blackstar","blackupperlefttriangle","blackupperrighttriangle","blackuppointingsmalltriangle","blackuppointingtriangle","blank","blinebelow","bmonospace","bobaimaithai","bohiragana","bokatakana","bparen","bqsquare","braceex","braceleft","braceleftbt","braceleftmid","braceleftmonospace","braceleftsmall","bracelefttp","braceleftvertical","braceright","bracerightbt","bracerightmid","bracerightmonospace","bracerightsmall","bracerighttp","bracerightvertical","bracketleft","bracketleftbt","bracketleftex","bracketleftmonospace","bracketlefttp","bracketright","bracketrightbt","bracketrightex","bracketrightmonospace","bracketrighttp","breve","brevebelowcmb","brevecmb","breveinvertedbelowcmb","breveinvertedcmb","breveinverteddoublecmb","bridgebelowcmb","bridgeinvertedbelowcmb","brokenbar","bstroke","bsuperior","btopbar","buhiragana","bukatakana","bullet","bulletinverse","bulletoperator","bullseye","caarmenian","cabengali","cacute","cadeva","cagujarati","cagurmukhi","calsquare","candrabindubengali","candrabinducmb","candrabindudeva","candrabindugujarati","capslock","careof","caron","caronbelowcmb","caroncmb","carriagereturn","cbopomofo","ccaron","ccedilla","ccedillaacute","ccircle","ccircumflex","ccurl","cdot","cdotaccent","cdsquare","cedilla","cedillacmb","cent","centigrade","centinferior","centmonospace","centoldstyle","centsuperior","chaarmenian","chabengali","chadeva","chagujarati","chagurmukhi","chbopomofo","cheabkhasiancyrillic","checkmark","checyrillic","chedescenderabkhasiancyrillic","chedescendercyrillic","chedieresiscyrillic","cheharmenian","chekhakassiancyrillic","cheverticalstrokecyrillic","chi","chieuchacirclekorean","chieuchaparenkorean","chieuchcirclekorean","chieuchkorean","chieuchparenkorean","chochangthai","chochanthai","chochingthai","chochoethai","chook","cieucacirclekorean","cieucaparenkorean","cieuccirclekorean","cieuckorean","cieucparenkorean","cieucuparenkorean","circle","circlecopyrt","circlemultiply","circleot","circleplus","circlepostalmark","circlewithlefthalfblack","circlewithrighthalfblack","circumflex","circumflexbelowcmb","circumflexcmb","clickalveolar","clickdental","clicklateral","clickretroflex","club","clubsuitblack","clubsuitwhite","cmcubedsquare","cmonospace","cmsquaredsquare","coarmenian","colon","colonmonetary","colonmonospace","colonsign","colonsmall","colontriangularhalfmod","colontriangularmod","comma","commaabovecmb","commaaboverightcmb","commaaccent","commaarabic","commaarmenian","commainferior","commamonospace","commareversedabovecmb","commareversedmod","commasmall","commasuperior","commaturnedabovecmb","commaturnedmod","compass","congruent","contourintegral","control","controlACK","controlBEL","controlBS","controlCAN","controlCR","controlDC1","controlDC2","controlDC3","controlDC4","controlDEL","controlDLE","controlEM","controlENQ","controlEOT","controlESC","controlETB","controlETX","controlFF","controlFS","controlGS","controlHT","controlLF","controlNAK","controlNULL","controlRS","controlSI","controlSO","controlSOT","controlSTX","controlSUB","controlSYN","controlUS","controlVT","copyrightsans","copyrightserif","cornerbracketleft","cornerbracketlefthalfwidth","cornerbracketleftvertical","cornerbracketright","cornerbracketrighthalfwidth","cornerbracketrightvertical","corporationsquare","cosquare","coverkgsquare","cparen","cruzeiro","cstretched","curlyand","curlyor","currency","cyrBreve","cyrFlex","cyrbreve","cyrflex","daarmenian","dabengali","dadarabic","dadeva","dadfinalarabic","dadinitialarabic","dadmedialarabic","dagesh","dageshhebrew","dagger","daggerdbl","dagujarati","dagurmukhi","dahiragana","dakatakana","dalarabic","dalet","daletdagesh","daletdageshhebrew","dalethebrew","dalfinalarabic","dammaarabic","dammalowarabic","dammatanaltonearabic","dammatanarabic","danda","dargahebrew","dargalefthebrew","dasiapneumatacyrilliccmb","dblGrave","dblanglebracketleft","dblanglebracketleftvertical","dblanglebracketright","dblanglebracketrightvertical","dblarchinvertedbelowcmb","dblarrowleft","dblarrowright","dbldanda","dblgrave","dblgravecmb","dblintegral","dbllowline","dbllowlinecmb","dbloverlinecmb","dblprimemod","dblverticalbar","dblverticallineabovecmb","dbopomofo","dbsquare","dcaron","dcedilla","dcircle","dcircumflexbelow","dcroat","ddabengali","ddadeva","ddagujarati","ddagurmukhi","ddalarabic","ddalfinalarabic","dddhadeva","ddhabengali","ddhadeva","ddhagujarati","ddhagurmukhi","ddotaccent","ddotbelow","decimalseparatorarabic","decimalseparatorpersian","decyrillic","degree","dehihebrew","dehiragana","deicoptic","dekatakana","deleteleft","deleteright","deltaturned","denominatorminusonenumeratorbengali","dezh","dhabengali","dhadeva","dhagujarati","dhagurmukhi","dhook","dialytikatonos","dialytikatonoscmb","diamond","diamondsuitwhite","dieresis","dieresisacute","dieresisbelowcmb","dieresiscmb","dieresisgrave","dieresistonos","dihiragana","dikatakana","dittomark","divide","divides","divisionslash","djecyrillic","dkshade","dlinebelow","dlsquare","dmacron","dmonospace","dnblock","dochadathai","dodekthai","dohiragana","dokatakana","dollar","dollarinferior","dollarmonospace","dollaroldstyle","dollarsmall","dollarsuperior","dong","dorusquare","dotaccent","dotaccentcmb","dotbelowcmb","dotbelowcomb","dotkatakana","dotlessi","dotlessj","dotlessjstrokehook","dotmath","dottedcircle","doubleyodpatah","doubleyodpatahhebrew","downtackbelowcmb","downtackmod","dparen","dsuperior","dtail","dtopbar","duhiragana","dukatakana","dz","dzaltone","dzcaron","dzcurl","dzeabkhasiancyrillic","dzecyrillic","dzhecyrillic","eacute","earth","ebengali","ebopomofo","ebreve","ecandradeva","ecandragujarati","ecandravowelsigndeva","ecandravowelsigngujarati","ecaron","ecedillabreve","echarmenian","echyiwnarmenian","ecircle","ecircumflex","ecircumflexacute","ecircumflexbelow","ecircumflexdotbelow","ecircumflexgrave","ecircumflexhookabove","ecircumflextilde","ecyrillic","edblgrave","edeva","edieresis","edot","edotaccent","edotbelow","eegurmukhi","eematragurmukhi","efcyrillic","egrave","egujarati","eharmenian","ehbopomofo","ehiragana","ehookabove","eibopomofo","eight","eightarabic","eightbengali","eightcircle","eightcircleinversesansserif","eightdeva","eighteencircle","eighteenparen","eighteenperiod","eightgujarati","eightgurmukhi","eighthackarabic","eighthangzhou","eighthnotebeamed","eightideographicparen","eightinferior","eightmonospace","eightoldstyle","eightparen","eightperiod","eightpersian","eightroman","eightsuperior","eightthai","einvertedbreve","eiotifiedcyrillic","ekatakana","ekatakanahalfwidth","ekonkargurmukhi","ekorean","elcyrillic","elevencircle","elevenparen","elevenperiod","elevenroman","ellipsis","ellipsisvertical","emacron","emacronacute","emacrongrave","emcyrillic","emdash","emdashvertical","emonospace","emphasismarkarmenian","emptyset","enbopomofo","encyrillic","endash","endashvertical","endescendercyrillic","eng","engbopomofo","enghecyrillic","enhookcyrillic","enspace","eogonek","eokorean","eopen","eopenclosed","eopenreversed","eopenreversedclosed","eopenreversedhook","eparen","epsilontonos","equal","equalmonospace","equalsmall","equalsuperior","equivalence","erbopomofo","ercyrillic","ereversed","ereversedcyrillic","escyrillic","esdescendercyrillic","esh","eshcurl","eshortdeva","eshortvowelsigndeva","eshreversedloop","eshsquatreversed","esmallhiragana","esmallkatakana","esmallkatakanahalfwidth","estimated","esuperior","eta","etarmenian","etatonos","eth","etilde","etildebelow","etnahtafoukhhebrew","etnahtafoukhlefthebrew","etnahtahebrew","etnahtalefthebrew","eturned","eukorean","euro","evowelsignbengali","evowelsigndeva","evowelsigngujarati","exclam","exclamarmenian","exclamdbl","exclamdown","exclamdownsmall","exclammonospace","exclamsmall","existential","ezh","ezhcaron","ezhcurl","ezhreversed","ezhtail","fadeva","fagurmukhi","fahrenheit","fathaarabic","fathalowarabic","fathatanarabic","fbopomofo","fcircle","fdotaccent","feharabic","feharmenian","fehfinalarabic","fehinitialarabic","fehmedialarabic","feicoptic","female","ff","f_f","ffi","ffl","fi","fifteencircle","fifteenparen","fifteenperiod","figuredash","filledbox","filledrect","finalkaf","finalkafdagesh","finalkafdageshhebrew","finalkafhebrew","finalmem","finalmemhebrew","finalnun","finalnunhebrew","finalpe","finalpehebrew","finaltsadi","finaltsadihebrew","firsttonechinese","fisheye","fitacyrillic","five","fivearabic","fivebengali","fivecircle","fivecircleinversesansserif","fivedeva","fiveeighths","fivegujarati","fivegurmukhi","fivehackarabic","fivehangzhou","fiveideographicparen","fiveinferior","fivemonospace","fiveoldstyle","fiveparen","fiveperiod","fivepersian","fiveroman","fivesuperior","fivethai","fl","florin","fmonospace","fmsquare","fofanthai","fofathai","fongmanthai","forall","four","fourarabic","fourbengali","fourcircle","fourcircleinversesansserif","fourdeva","fourgujarati","fourgurmukhi","fourhackarabic","fourhangzhou","fourideographicparen","fourinferior","fourmonospace","fournumeratorbengali","fouroldstyle","fourparen","fourperiod","fourpersian","fourroman","foursuperior","fourteencircle","fourteenparen","fourteenperiod","fourthai","fourthtonechinese","fparen","fraction","franc","gabengali","gacute","gadeva","gafarabic","gaffinalarabic","gafinitialarabic","gafmedialarabic","gagujarati","gagurmukhi","gahiragana","gakatakana","gammalatinsmall","gammasuperior","gangiacoptic","gbopomofo","gbreve","gcaron","gcedilla","gcircle","gcircumflex","gcommaaccent","gdot","gdotaccent","gecyrillic","gehiragana","gekatakana","geometricallyequal","gereshaccenthebrew","gereshhebrew","gereshmuqdamhebrew","germandbls","gershayimaccenthebrew","gershayimhebrew","getamark","ghabengali","ghadarmenian","ghadeva","ghagujarati","ghagurmukhi","ghainarabic","ghainfinalarabic","ghaininitialarabic","ghainmedialarabic","ghemiddlehookcyrillic","ghestrokecyrillic","gheupturncyrillic","ghhadeva","ghhagurmukhi","ghook","ghzsquare","gihiragana","gikatakana","gimarmenian","gimel","gimeldagesh","gimeldageshhebrew","gimelhebrew","gjecyrillic","glottalinvertedstroke","glottalstop","glottalstopinverted","glottalstopmod","glottalstopreversed","glottalstopreversedmod","glottalstopreversedsuperior","glottalstopstroke","glottalstopstrokereversed","gmacron","gmonospace","gohiragana","gokatakana","gparen","gpasquare","gradient","grave","gravebelowcmb","gravecmb","gravecomb","gravedeva","gravelowmod","gravemonospace","gravetonecmb","greater","greaterequal","greaterequalorless","greatermonospace","greaterorequivalent","greaterorless","greateroverequal","greatersmall","gscript","gstroke","guhiragana","guillemotleft","guillemotright","guilsinglleft","guilsinglright","gukatakana","guramusquare","gysquare","haabkhasiancyrillic","haaltonearabic","habengali","hadescendercyrillic","hadeva","hagujarati","hagurmukhi","haharabic","hahfinalarabic","hahinitialarabic","hahiragana","hahmedialarabic","haitusquare","hakatakana","hakatakanahalfwidth","halantgurmukhi","hamzaarabic","hamzalowarabic","hangulfiller","hardsigncyrillic","harpoonleftbarbup","harpoonrightbarbup","hasquare","hatafpatah","hatafpatah16","hatafpatah23","hatafpatah2f","hatafpatahhebrew","hatafpatahnarrowhebrew","hatafpatahquarterhebrew","hatafpatahwidehebrew","hatafqamats","hatafqamats1b","hatafqamats28","hatafqamats34","hatafqamatshebrew","hatafqamatsnarrowhebrew","hatafqamatsquarterhebrew","hatafqamatswidehebrew","hatafsegol","hatafsegol17","hatafsegol24","hatafsegol30","hatafsegolhebrew","hatafsegolnarrowhebrew","hatafsegolquarterhebrew","hatafsegolwidehebrew","hbar","hbopomofo","hbrevebelow","hcedilla","hcircle","hcircumflex","hdieresis","hdotaccent","hdotbelow","he","heart","heartsuitblack","heartsuitwhite","hedagesh","hedageshhebrew","hehaltonearabic","heharabic","hehebrew","hehfinalaltonearabic","hehfinalalttwoarabic","hehfinalarabic","hehhamzaabovefinalarabic","hehhamzaaboveisolatedarabic","hehinitialaltonearabic","hehinitialarabic","hehiragana","hehmedialaltonearabic","hehmedialarabic","heiseierasquare","hekatakana","hekatakanahalfwidth","hekutaarusquare","henghook","herutusquare","het","hethebrew","hhook","hhooksuperior","hieuhacirclekorean","hieuhaparenkorean","hieuhcirclekorean","hieuhkorean","hieuhparenkorean","hihiragana","hikatakana","hikatakanahalfwidth","hiriq","hiriq14","hiriq21","hiriq2d","hiriqhebrew","hiriqnarrowhebrew","hiriqquarterhebrew","hiriqwidehebrew","hlinebelow","hmonospace","hoarmenian","hohipthai","hohiragana","hokatakana","hokatakanahalfwidth","holam","holam19","holam26","holam32","holamhebrew","holamnarrowhebrew","holamquarterhebrew","holamwidehebrew","honokhukthai","hookabovecomb","hookcmb","hookpalatalizedbelowcmb","hookretroflexbelowcmb","hoonsquare","horicoptic","horizontalbar","horncmb","hotsprings","house","hparen","hsuperior","hturned","huhiragana","huiitosquare","hukatakana","hukatakanahalfwidth","hungarumlaut","hungarumlautcmb","hv","hyphen","hypheninferior","hyphenmonospace","hyphensmall","hyphensuperior","hyphentwo","iacute","iacyrillic","ibengali","ibopomofo","ibreve","icaron","icircle","icircumflex","icyrillic","idblgrave","ideographearthcircle","ideographfirecircle","ideographicallianceparen","ideographiccallparen","ideographiccentrecircle","ideographicclose","ideographiccomma","ideographiccommaleft","ideographiccongratulationparen","ideographiccorrectcircle","ideographicearthparen","ideographicenterpriseparen","ideographicexcellentcircle","ideographicfestivalparen","ideographicfinancialcircle","ideographicfinancialparen","ideographicfireparen","ideographichaveparen","ideographichighcircle","ideographiciterationmark","ideographiclaborcircle","ideographiclaborparen","ideographicleftcircle","ideographiclowcircle","ideographicmedicinecircle","ideographicmetalparen","ideographicmoonparen","ideographicnameparen","ideographicperiod","ideographicprintcircle","ideographicreachparen","ideographicrepresentparen","ideographicresourceparen","ideographicrightcircle","ideographicsecretcircle","ideographicselfparen","ideographicsocietyparen","ideographicspace","ideographicspecialparen","ideographicstockparen","ideographicstudyparen","ideographicsunparen","ideographicsuperviseparen","ideographicwaterparen","ideographicwoodparen","ideographiczero","ideographmetalcircle","ideographmooncircle","ideographnamecircle","ideographsuncircle","ideographwatercircle","ideographwoodcircle","ideva","idieresis","idieresisacute","idieresiscyrillic","idotbelow","iebrevecyrillic","iecyrillic","ieungacirclekorean","ieungaparenkorean","ieungcirclekorean","ieungkorean","ieungparenkorean","igrave","igujarati","igurmukhi","ihiragana","ihookabove","iibengali","iicyrillic","iideva","iigujarati","iigurmukhi","iimatragurmukhi","iinvertedbreve","iishortcyrillic","iivowelsignbengali","iivowelsigndeva","iivowelsigngujarati","ij","ikatakana","ikatakanahalfwidth","ikorean","ilde","iluyhebrew","imacron","imacroncyrillic","imageorapproximatelyequal","imatragurmukhi","imonospace","increment","infinity","iniarmenian","integral","integralbottom","integralbt","integralex","integraltop","integraltp","intersection","intisquare","invbullet","invcircle","invsmileface","iocyrillic","iogonek","iota","iotadieresis","iotadieresistonos","iotalatin","iotatonos","iparen","irigurmukhi","ismallhiragana","ismallkatakana","ismallkatakanahalfwidth","issharbengali","istroke","isuperior","iterationhiragana","iterationkatakana","itilde","itildebelow","iubopomofo","iucyrillic","ivowelsignbengali","ivowelsigndeva","ivowelsigngujarati","izhitsacyrillic","izhitsadblgravecyrillic","jaarmenian","jabengali","jadeva","jagujarati","jagurmukhi","jbopomofo","jcaron","jcircle","jcircumflex","jcrossedtail","jdotlessstroke","jecyrillic","jeemarabic","jeemfinalarabic","jeeminitialarabic","jeemmedialarabic","jeharabic","jehfinalarabic","jhabengali","jhadeva","jhagujarati","jhagurmukhi","jheharmenian","jis","jmonospace","jparen","jsuperior","kabashkircyrillic","kabengali","kacute","kacyrillic","kadescendercyrillic","kadeva","kaf","kafarabic","kafdagesh","kafdageshhebrew","kaffinalarabic","kafhebrew","kafinitialarabic","kafmedialarabic","kafrafehebrew","kagujarati","kagurmukhi","kahiragana","kahookcyrillic","kakatakana","kakatakanahalfwidth","kappa","kappasymbolgreek","kapyeounmieumkorean","kapyeounphieuphkorean","kapyeounpieupkorean","kapyeounssangpieupkorean","karoriisquare","kashidaautoarabic","kashidaautonosidebearingarabic","kasmallkatakana","kasquare","kasraarabic","kasratanarabic","kastrokecyrillic","katahiraprolongmarkhalfwidth","kaverticalstrokecyrillic","kbopomofo","kcalsquare","kcaron","kcedilla","kcircle","kcommaaccent","kdotbelow","keharmenian","kehiragana","kekatakana","kekatakanahalfwidth","kenarmenian","kesmallkatakana","kgreenlandic","khabengali","khacyrillic","khadeva","khagujarati","khagurmukhi","khaharabic","khahfinalarabic","khahinitialarabic","khahmedialarabic","kheicoptic","khhadeva","khhagurmukhi","khieukhacirclekorean","khieukhaparenkorean","khieukhcirclekorean","khieukhkorean","khieukhparenkorean","khokhaithai","khokhonthai","khokhuatthai","khokhwaithai","khomutthai","khook","khorakhangthai","khzsquare","kihiragana","kikatakana","kikatakanahalfwidth","kiroguramusquare","kiromeetorusquare","kirosquare","kiyeokacirclekorean","kiyeokaparenkorean","kiyeokcirclekorean","kiyeokkorean","kiyeokparenkorean","kiyeoksioskorean","kjecyrillic","klinebelow","klsquare","kmcubedsquare","kmonospace","kmsquaredsquare","kohiragana","kohmsquare","kokaithai","kokatakana","kokatakanahalfwidth","kooposquare","koppacyrillic","koreanstandardsymbol","koroniscmb","kparen","kpasquare","ksicyrillic","ktsquare","kturned","kuhiragana","kukatakana","kukatakanahalfwidth","kvsquare","kwsquare","labengali","lacute","ladeva","lagujarati","lagurmukhi","lakkhangyaothai","lamaleffinalarabic","lamalefhamzaabovefinalarabic","lamalefhamzaaboveisolatedarabic","lamalefhamzabelowfinalarabic","lamalefhamzabelowisolatedarabic","lamalefisolatedarabic","lamalefmaddaabovefinalarabic","lamalefmaddaaboveisolatedarabic","lamarabic","lambda","lambdastroke","lamed","lameddagesh","lameddageshhebrew","lamedhebrew","lamfinalarabic","lamhahinitialarabic","laminitialarabic","lamjeeminitialarabic","lamkhahinitialarabic","lamlamhehisolatedarabic","lammedialarabic","lammeemhahinitialarabic","lammeeminitialarabic","largecircle","lbar","lbelt","lbopomofo","lcaron","lcedilla","lcircle","lcircumflexbelow","lcommaaccent","ldot","ldotaccent","ldotbelow","ldotbelowmacron","leftangleabovecmb","lefttackbelowcmb","less","lessequal","lessequalorgreater","lessmonospace","lessorequivalent","lessorgreater","lessoverequal","lesssmall","lezh","lfblock","lhookretroflex","lira","liwnarmenian","lj","ljecyrillic","lladeva","llagujarati","llinebelow","llladeva","llvocalicbengali","llvocalicdeva","llvocalicvowelsignbengali","llvocalicvowelsigndeva","lmiddletilde","lmonospace","lmsquare","lochulathai","logicaland","logicalnot","logicalnotreversed","logicalor","lolingthai","longs","lowlinecenterline","lowlinecmb","lowlinedashed","lozenge","lparen","lslash","lsquare","lsuperior","ltshade","luthai","lvocalicbengali","lvocalicdeva","lvocalicvowelsignbengali","lvocalicvowelsigndeva","lxsquare","mabengali","macron","macronbelowcmb","macroncmb","macronlowmod","macronmonospace","macute","madeva","magujarati","magurmukhi","mahapakhhebrew","mahapakhlefthebrew","mahiragana","maichattawalowleftthai","maichattawalowrightthai","maichattawathai","maichattawaupperleftthai","maieklowleftthai","maieklowrightthai","maiekthai","maiekupperleftthai","maihanakatleftthai","maihanakatthai","maitaikhuleftthai","maitaikhuthai","maitholowleftthai","maitholowrightthai","maithothai","maithoupperleftthai","maitrilowleftthai","maitrilowrightthai","maitrithai","maitriupperleftthai","maiyamokthai","makatakana","makatakanahalfwidth","male","mansyonsquare","maqafhebrew","mars","masoracirclehebrew","masquare","mbopomofo","mbsquare","mcircle","mcubedsquare","mdotaccent","mdotbelow","meemarabic","meemfinalarabic","meeminitialarabic","meemmedialarabic","meemmeeminitialarabic","meemmeemisolatedarabic","meetorusquare","mehiragana","meizierasquare","mekatakana","mekatakanahalfwidth","mem","memdagesh","memdageshhebrew","memhebrew","menarmenian","merkhahebrew","merkhakefulahebrew","merkhakefulalefthebrew","merkhalefthebrew","mhook","mhzsquare","middledotkatakanahalfwidth","middot","mieumacirclekorean","mieumaparenkorean","mieumcirclekorean","mieumkorean","mieumpansioskorean","mieumparenkorean","mieumpieupkorean","mieumsioskorean","mihiragana","mikatakana","mikatakanahalfwidth","minus","minusbelowcmb","minuscircle","minusmod","minusplus","minute","miribaarusquare","mirisquare","mlonglegturned","mlsquare","mmcubedsquare","mmonospace","mmsquaredsquare","mohiragana","mohmsquare","mokatakana","mokatakanahalfwidth","molsquare","momathai","moverssquare","moverssquaredsquare","mparen","mpasquare","mssquare","msuperior","mturned","mu1","muasquare","muchgreater","muchless","mufsquare","mugreek","mugsquare","muhiragana","mukatakana","mukatakanahalfwidth","mulsquare","multiply","mumsquare","munahhebrew","munahlefthebrew","musicalnote","musicalnotedbl","musicflatsign","musicsharpsign","mussquare","muvsquare","muwsquare","mvmegasquare","mvsquare","mwmegasquare","mwsquare","nabengali","nabla","nacute","nadeva","nagujarati","nagurmukhi","nahiragana","nakatakana","nakatakanahalfwidth","napostrophe","nasquare","nbopomofo","nbspace","ncaron","ncedilla","ncircle","ncircumflexbelow","ncommaaccent","ndotaccent","ndotbelow","nehiragana","nekatakana","nekatakanahalfwidth","newsheqelsign","nfsquare","ngabengali","ngadeva","ngagujarati","ngagurmukhi","ngonguthai","nhiragana","nhookleft","nhookretroflex","nieunacirclekorean","nieunaparenkorean","nieuncieuckorean","nieuncirclekorean","nieunhieuhkorean","nieunkorean","nieunpansioskorean","nieunparenkorean","nieunsioskorean","nieuntikeutkorean","nihiragana","nikatakana","nikatakanahalfwidth","nikhahitleftthai","nikhahitthai","nine","ninearabic","ninebengali","ninecircle","ninecircleinversesansserif","ninedeva","ninegujarati","ninegurmukhi","ninehackarabic","ninehangzhou","nineideographicparen","nineinferior","ninemonospace","nineoldstyle","nineparen","nineperiod","ninepersian","nineroman","ninesuperior","nineteencircle","nineteenparen","nineteenperiod","ninethai","nj","njecyrillic","nkatakana","nkatakanahalfwidth","nlegrightlong","nlinebelow","nmonospace","nmsquare","nnabengali","nnadeva","nnagujarati","nnagurmukhi","nnnadeva","nohiragana","nokatakana","nokatakanahalfwidth","nonbreakingspace","nonenthai","nonuthai","noonarabic","noonfinalarabic","noonghunnaarabic","noonghunnafinalarabic","nooninitialarabic","noonjeeminitialarabic","noonjeemisolatedarabic","noonmedialarabic","noonmeeminitialarabic","noonmeemisolatedarabic","noonnoonfinalarabic","notcontains","notelement","notelementof","notequal","notgreater","notgreaternorequal","notgreaternorless","notidentical","notless","notlessnorequal","notparallel","notprecedes","notsubset","notsucceeds","notsuperset","nowarmenian","nparen","nssquare","nsuperior","ntilde","nuhiragana","nukatakana","nukatakanahalfwidth","nuktabengali","nuktadeva","nuktagujarati","nuktagurmukhi","numbersign","numbersignmonospace","numbersignsmall","numeralsigngreek","numeralsignlowergreek","numero","nun","nundagesh","nundageshhebrew","nunhebrew","nvsquare","nwsquare","nyabengali","nyadeva","nyagujarati","nyagurmukhi","oacute","oangthai","obarred","obarredcyrillic","obarreddieresiscyrillic","obengali","obopomofo","obreve","ocandradeva","ocandragujarati","ocandravowelsigndeva","ocandravowelsigngujarati","ocaron","ocircle","ocircumflex","ocircumflexacute","ocircumflexdotbelow","ocircumflexgrave","ocircumflexhookabove","ocircumflextilde","ocyrillic","odblacute","odblgrave","odeva","odieresis","odieresiscyrillic","odotbelow","oe","oekorean","ogonek","ogonekcmb","ograve","ogujarati","oharmenian","ohiragana","ohookabove","ohorn","ohornacute","ohorndotbelow","ohorngrave","ohornhookabove","ohorntilde","ohungarumlaut","oi","oinvertedbreve","okatakana","okatakanahalfwidth","okorean","olehebrew","omacron","omacronacute","omacrongrave","omdeva","omega","omega1","omegacyrillic","omegalatinclosed","omegaroundcyrillic","omegatitlocyrillic","omegatonos","omgujarati","omicron","omicrontonos","omonospace","one","onearabic","onebengali","onecircle","onecircleinversesansserif","onedeva","onedotenleader","oneeighth","onefitted","onegujarati","onegurmukhi","onehackarabic","onehalf","onehangzhou","oneideographicparen","oneinferior","onemonospace","onenumeratorbengali","oneoldstyle","oneparen","oneperiod","onepersian","onequarter","oneroman","onesuperior","onethai","onethird","oogonek","oogonekmacron","oogurmukhi","oomatragurmukhi","oopen","oparen","openbullet","ordfeminine","ordmasculine","orthogonal","oshortdeva","oshortvowelsigndeva","oslash","oslashacute","osmallhiragana","osmallkatakana","osmallkatakanahalfwidth","ostrokeacute","osuperior","otcyrillic","otilde","otildeacute","otildedieresis","oubopomofo","overline","overlinecenterline","overlinecmb","overlinedashed","overlinedblwavy","overlinewavy","overscore","ovowelsignbengali","ovowelsigndeva","ovowelsigngujarati","paampssquare","paasentosquare","pabengali","pacute","padeva","pagedown","pageup","pagujarati","pagurmukhi","pahiragana","paiyannoithai","pakatakana","palatalizationcyrilliccmb","palochkacyrillic","pansioskorean","paragraph","parallel","parenleft","parenleftaltonearabic","parenleftbt","parenleftex","parenleftinferior","parenleftmonospace","parenleftsmall","parenleftsuperior","parenlefttp","parenleftvertical","parenright","parenrightaltonearabic","parenrightbt","parenrightex","parenrightinferior","parenrightmonospace","parenrightsmall","parenrightsuperior","parenrighttp","parenrightvertical","partialdiff","paseqhebrew","pashtahebrew","pasquare","patah","patah11","patah1d","patah2a","patahhebrew","patahnarrowhebrew","patahquarterhebrew","patahwidehebrew","pazerhebrew","pbopomofo","pcircle","pdotaccent","pe","pecyrillic","pedagesh","pedageshhebrew","peezisquare","pefinaldageshhebrew","peharabic","peharmenian","pehebrew","pehfinalarabic","pehinitialarabic","pehiragana","pehmedialarabic","pekatakana","pemiddlehookcyrillic","perafehebrew","percent","percentarabic","percentmonospace","percentsmall","period","periodarmenian","periodcentered","periodhalfwidth","periodinferior","periodmonospace","periodsmall","periodsuperior","perispomenigreekcmb","perpendicular","perthousand","peseta","pfsquare","phabengali","phadeva","phagujarati","phagurmukhi","phi","phi1","phieuphacirclekorean","phieuphaparenkorean","phieuphcirclekorean","phieuphkorean","phieuphparenkorean","philatin","phinthuthai","phisymbolgreek","phook","phophanthai","phophungthai","phosamphaothai","pi","pieupacirclekorean","pieupaparenkorean","pieupcieuckorean","pieupcirclekorean","pieupkiyeokkorean","pieupkorean","pieupparenkorean","pieupsioskiyeokkorean","pieupsioskorean","pieupsiostikeutkorean","pieupthieuthkorean","pieuptikeutkorean","pihiragana","pikatakana","pisymbolgreek","piwrarmenian","plusbelowcmb","pluscircle","plusminus","plusmod","plusmonospace","plussmall","plussuperior","pmonospace","pmsquare","pohiragana","pointingindexdownwhite","pointingindexleftwhite","pointingindexrightwhite","pointingindexupwhite","pokatakana","poplathai","postalmark","postalmarkface","pparen","precedes","prescription","primemod","primereversed","product","projective","prolongedkana","propellor","propersubset","propersuperset","proportion","proportional","psi","psicyrillic","psilipneumatacyrilliccmb","pssquare","puhiragana","pukatakana","pvsquare","pwsquare","qadeva","qadmahebrew","qafarabic","qaffinalarabic","qafinitialarabic","qafmedialarabic","qamats","qamats10","qamats1a","qamats1c","qamats27","qamats29","qamats33","qamatsde","qamatshebrew","qamatsnarrowhebrew","qamatsqatanhebrew","qamatsqatannarrowhebrew","qamatsqatanquarterhebrew","qamatsqatanwidehebrew","qamatsquarterhebrew","qamatswidehebrew","qarneyparahebrew","qbopomofo","qcircle","qhook","qmonospace","qof","qofdagesh","qofdageshhebrew","qofhebrew","qparen","quarternote","qubuts","qubuts18","qubuts25","qubuts31","qubutshebrew","qubutsnarrowhebrew","qubutsquarterhebrew","qubutswidehebrew","question","questionarabic","questionarmenian","questiondown","questiondownsmall","questiongreek","questionmonospace","questionsmall","quotedbl","quotedblbase","quotedblleft","quotedblmonospace","quotedblprime","quotedblprimereversed","quotedblright","quoteleft","quoteleftreversed","quotereversed","quoteright","quoterightn","quotesinglbase","quotesingle","quotesinglemonospace","raarmenian","rabengali","racute","radeva","radical","radicalex","radoverssquare","radoverssquaredsquare","radsquare","rafe","rafehebrew","ragujarati","ragurmukhi","rahiragana","rakatakana","rakatakanahalfwidth","ralowerdiagonalbengali","ramiddlediagonalbengali","ramshorn","ratio","rbopomofo","rcaron","rcedilla","rcircle","rcommaaccent","rdblgrave","rdotaccent","rdotbelow","rdotbelowmacron","referencemark","reflexsubset","reflexsuperset","registered","registersans","registerserif","reharabic","reharmenian","rehfinalarabic","rehiragana","rekatakana","rekatakanahalfwidth","resh","reshdageshhebrew","reshhebrew","reversedtilde","reviahebrew","reviamugrashhebrew","revlogicalnot","rfishhook","rfishhookreversed","rhabengali","rhadeva","rho","rhook","rhookturned","rhookturnedsuperior","rhosymbolgreek","rhotichookmod","rieulacirclekorean","rieulaparenkorean","rieulcirclekorean","rieulhieuhkorean","rieulkiyeokkorean","rieulkiyeoksioskorean","rieulkorean","rieulmieumkorean","rieulpansioskorean","rieulparenkorean","rieulphieuphkorean","rieulpieupkorean","rieulpieupsioskorean","rieulsioskorean","rieulthieuthkorean","rieultikeutkorean","rieulyeorinhieuhkorean","rightangle","righttackbelowcmb","righttriangle","rihiragana","rikatakana","rikatakanahalfwidth","ring","ringbelowcmb","ringcmb","ringhalfleft","ringhalfleftarmenian","ringhalfleftbelowcmb","ringhalfleftcentered","ringhalfright","ringhalfrightbelowcmb","ringhalfrightcentered","rinvertedbreve","rittorusquare","rlinebelow","rlongleg","rlonglegturned","rmonospace","rohiragana","rokatakana","rokatakanahalfwidth","roruathai","rparen","rrabengali","rradeva","rragurmukhi","rreharabic","rrehfinalarabic","rrvocalicbengali","rrvocalicdeva","rrvocalicgujarati","rrvocalicvowelsignbengali","rrvocalicvowelsigndeva","rrvocalicvowelsigngujarati","rsuperior","rtblock","rturned","rturnedsuperior","ruhiragana","rukatakana","rukatakanahalfwidth","rupeemarkbengali","rupeesignbengali","rupiah","ruthai","rvocalicbengali","rvocalicdeva","rvocalicgujarati","rvocalicvowelsignbengali","rvocalicvowelsigndeva","rvocalicvowelsigngujarati","sabengali","sacute","sacutedotaccent","sadarabic","sadeva","sadfinalarabic","sadinitialarabic","sadmedialarabic","sagujarati","sagurmukhi","sahiragana","sakatakana","sakatakanahalfwidth","sallallahoualayhewasallamarabic","samekh","samekhdagesh","samekhdageshhebrew","samekhhebrew","saraaathai","saraaethai","saraaimaimalaithai","saraaimaimuanthai","saraamthai","saraathai","saraethai","saraiileftthai","saraiithai","saraileftthai","saraithai","saraothai","saraueeleftthai","saraueethai","saraueleftthai","sarauethai","sarauthai","sarauuthai","sbopomofo","scaron","scarondotaccent","scedilla","schwa","schwacyrillic","schwadieresiscyrillic","schwahook","scircle","scircumflex","scommaaccent","sdotaccent","sdotbelow","sdotbelowdotaccent","seagullbelowcmb","secondtonechinese","section","seenarabic","seenfinalarabic","seeninitialarabic","seenmedialarabic","segol","segol13","segol1f","segol2c","segolhebrew","segolnarrowhebrew","segolquarterhebrew","segoltahebrew","segolwidehebrew","seharmenian","sehiragana","sekatakana","sekatakanahalfwidth","semicolon","semicolonarabic","semicolonmonospace","semicolonsmall","semivoicedmarkkana","semivoicedmarkkanahalfwidth","sentisquare","sentosquare","seven","sevenarabic","sevenbengali","sevencircle","sevencircleinversesansserif","sevendeva","seveneighths","sevengujarati","sevengurmukhi","sevenhackarabic","sevenhangzhou","sevenideographicparen","seveninferior","sevenmonospace","sevenoldstyle","sevenparen","sevenperiod","sevenpersian","sevenroman","sevensuperior","seventeencircle","seventeenparen","seventeenperiod","seventhai","sfthyphen","shaarmenian","shabengali","shacyrillic","shaddaarabic","shaddadammaarabic","shaddadammatanarabic","shaddafathaarabic","shaddakasraarabic","shaddakasratanarabic","shade","shadedark","shadelight","shademedium","shadeva","shagujarati","shagurmukhi","shalshelethebrew","shbopomofo","shchacyrillic","sheenarabic","sheenfinalarabic","sheeninitialarabic","sheenmedialarabic","sheicoptic","sheqel","sheqelhebrew","sheva","sheva115","sheva15","sheva22","sheva2e","shevahebrew","shevanarrowhebrew","shevaquarterhebrew","shevawidehebrew","shhacyrillic","shimacoptic","shin","shindagesh","shindageshhebrew","shindageshshindot","shindageshshindothebrew","shindageshsindot","shindageshsindothebrew","shindothebrew","shinhebrew","shinshindot","shinshindothebrew","shinsindot","shinsindothebrew","shook","sigma1","sigmafinal","sigmalunatesymbolgreek","sihiragana","sikatakana","sikatakanahalfwidth","siluqhebrew","siluqlefthebrew","similar","sindothebrew","siosacirclekorean","siosaparenkorean","sioscieuckorean","sioscirclekorean","sioskiyeokkorean","sioskorean","siosnieunkorean","siosparenkorean","siospieupkorean","siostikeutkorean","six","sixarabic","sixbengali","sixcircle","sixcircleinversesansserif","sixdeva","sixgujarati","sixgurmukhi","sixhackarabic","sixhangzhou","sixideographicparen","sixinferior","sixmonospace","sixoldstyle","sixparen","sixperiod","sixpersian","sixroman","sixsuperior","sixteencircle","sixteencurrencydenominatorbengali","sixteenparen","sixteenperiod","sixthai","slash","slashmonospace","slong","slongdotaccent","smileface","smonospace","sofpasuqhebrew","softhyphen","softsigncyrillic","sohiragana","sokatakana","sokatakanahalfwidth","soliduslongoverlaycmb","solidusshortoverlaycmb","sorusithai","sosalathai","sosothai","sosuathai","spacehackarabic","spade","spadesuitblack","spadesuitwhite","sparen","squarebelowcmb","squarecc","squarecm","squarediagonalcrosshatchfill","squarehorizontalfill","squarekg","squarekm","squarekmcapital","squareln","squarelog","squaremg","squaremil","squaremm","squaremsquared","squareorthogonalcrosshatchfill","squareupperlefttolowerrightfill","squareupperrighttolowerleftfill","squareverticalfill","squarewhitewithsmallblack","srsquare","ssabengali","ssadeva","ssagujarati","ssangcieuckorean","ssanghieuhkorean","ssangieungkorean","ssangkiyeokkorean","ssangnieunkorean","ssangpieupkorean","ssangsioskorean","ssangtikeutkorean","ssuperior","sterling","sterlingmonospace","strokelongoverlaycmb","strokeshortoverlaycmb","subset","subsetnotequal","subsetorequal","succeeds","suchthat","suhiragana","sukatakana","sukatakanahalfwidth","sukunarabic","summation","sun","superset","supersetnotequal","supersetorequal","svsquare","syouwaerasquare","tabengali","tackdown","tackleft","tadeva","tagujarati","tagurmukhi","taharabic","tahfinalarabic","tahinitialarabic","tahiragana","tahmedialarabic","taisyouerasquare","takatakana","takatakanahalfwidth","tatweelarabic","tau","tav","tavdages","tavdagesh","tavdageshhebrew","tavhebrew","tbar","tbopomofo","tcaron","tccurl","tcedilla","tcheharabic","tchehfinalarabic","tchehinitialarabic","tchehmedialarabic","tcircle","tcircumflexbelow","tcommaaccent","tdieresis","tdotaccent","tdotbelow","tecyrillic","tedescendercyrillic","teharabic","tehfinalarabic","tehhahinitialarabic","tehhahisolatedarabic","tehinitialarabic","tehiragana","tehjeeminitialarabic","tehjeemisolatedarabic","tehmarbutaarabic","tehmarbutafinalarabic","tehmedialarabic","tehmeeminitialarabic","tehmeemisolatedarabic","tehnoonfinalarabic","tekatakana","tekatakanahalfwidth","telephone","telephoneblack","telishagedolahebrew","telishaqetanahebrew","tencircle","tenideographicparen","tenparen","tenperiod","tenroman","tesh","tet","tetdagesh","tetdageshhebrew","tethebrew","tetsecyrillic","tevirhebrew","tevirlefthebrew","thabengali","thadeva","thagujarati","thagurmukhi","thalarabic","thalfinalarabic","thanthakhatlowleftthai","thanthakhatlowrightthai","thanthakhatthai","thanthakhatupperleftthai","theharabic","thehfinalarabic","thehinitialarabic","thehmedialarabic","thereexists","therefore","theta","theta1","thetasymbolgreek","thieuthacirclekorean","thieuthaparenkorean","thieuthcirclekorean","thieuthkorean","thieuthparenkorean","thirteencircle","thirteenparen","thirteenperiod","thonangmonthothai","thook","thophuthaothai","thorn","thothahanthai","thothanthai","thothongthai","thothungthai","thousandcyrillic","thousandsseparatorarabic","thousandsseparatorpersian","three","threearabic","threebengali","threecircle","threecircleinversesansserif","threedeva","threeeighths","threegujarati","threegurmukhi","threehackarabic","threehangzhou","threeideographicparen","threeinferior","threemonospace","threenumeratorbengali","threeoldstyle","threeparen","threeperiod","threepersian","threequarters","threequartersemdash","threeroman","threesuperior","threethai","thzsquare","tihiragana","tikatakana","tikatakanahalfwidth","tikeutacirclekorean","tikeutaparenkorean","tikeutcirclekorean","tikeutkorean","tikeutparenkorean","tilde","tildebelowcmb","tildecmb","tildecomb","tildedoublecmb","tildeoperator","tildeoverlaycmb","tildeverticalcmb","timescircle","tipehahebrew","tipehalefthebrew","tippigurmukhi","titlocyrilliccmb","tiwnarmenian","tlinebelow","tmonospace","toarmenian","tohiragana","tokatakana","tokatakanahalfwidth","tonebarextrahighmod","tonebarextralowmod","tonebarhighmod","tonebarlowmod","tonebarmidmod","tonefive","tonesix","tonetwo","tonos","tonsquare","topatakthai","tortoiseshellbracketleft","tortoiseshellbracketleftsmall","tortoiseshellbracketleftvertical","tortoiseshellbracketright","tortoiseshellbracketrightsmall","tortoiseshellbracketrightvertical","totaothai","tpalatalhook","tparen","trademark","trademarksans","trademarkserif","tretroflexhook","triagdn","triaglf","triagrt","triagup","ts","tsadi","tsadidagesh","tsadidageshhebrew","tsadihebrew","tsecyrillic","tsere","tsere12","tsere1e","tsere2b","tserehebrew","tserenarrowhebrew","tserequarterhebrew","tserewidehebrew","tshecyrillic","tsuperior","ttabengali","ttadeva","ttagujarati","ttagurmukhi","tteharabic","ttehfinalarabic","ttehinitialarabic","ttehmedialarabic","tthabengali","tthadeva","tthagujarati","tthagurmukhi","tturned","tuhiragana","tukatakana","tukatakanahalfwidth","tusmallhiragana","tusmallkatakana","tusmallkatakanahalfwidth","twelvecircle","twelveparen","twelveperiod","twelveroman","twentycircle","twentyhangzhou","twentyparen","twentyperiod","two","twoarabic","twobengali","twocircle","twocircleinversesansserif","twodeva","twodotenleader","twodotleader","twodotleadervertical","twogujarati","twogurmukhi","twohackarabic","twohangzhou","twoideographicparen","twoinferior","twomonospace","twonumeratorbengali","twooldstyle","twoparen","twoperiod","twopersian","tworoman","twostroke","twosuperior","twothai","twothirds","uacute","ubar","ubengali","ubopomofo","ubreve","ucaron","ucircle","ucircumflex","ucircumflexbelow","ucyrillic","udattadeva","udblacute","udblgrave","udeva","udieresis","udieresisacute","udieresisbelow","udieresiscaron","udieresiscyrillic","udieresisgrave","udieresismacron","udotbelow","ugrave","ugujarati","ugurmukhi","uhiragana","uhookabove","uhorn","uhornacute","uhorndotbelow","uhorngrave","uhornhookabove","uhorntilde","uhungarumlaut","uhungarumlautcyrillic","uinvertedbreve","ukatakana","ukatakanahalfwidth","ukcyrillic","ukorean","umacron","umacroncyrillic","umacrondieresis","umatragurmukhi","umonospace","underscore","underscoredbl","underscoremonospace","underscorevertical","underscorewavy","union","universal","uogonek","uparen","upblock","upperdothebrew","upsilon","upsilondieresis","upsilondieresistonos","upsilonlatin","upsilontonos","uptackbelowcmb","uptackmod","uragurmukhi","uring","ushortcyrillic","usmallhiragana","usmallkatakana","usmallkatakanahalfwidth","ustraightcyrillic","ustraightstrokecyrillic","utilde","utildeacute","utildebelow","uubengali","uudeva","uugujarati","uugurmukhi","uumatragurmukhi","uuvowelsignbengali","uuvowelsigndeva","uuvowelsigngujarati","uvowelsignbengali","uvowelsigndeva","uvowelsigngujarati","vadeva","vagujarati","vagurmukhi","vakatakana","vav","vavdagesh","vavdagesh65","vavdageshhebrew","vavhebrew","vavholam","vavholamhebrew","vavvavhebrew","vavyodhebrew","vcircle","vdotbelow","vecyrillic","veharabic","vehfinalarabic","vehinitialarabic","vehmedialarabic","vekatakana","venus","verticalbar","verticallineabovecmb","verticallinebelowcmb","verticallinelowmod","verticallinemod","vewarmenian","vhook","vikatakana","viramabengali","viramadeva","viramagujarati","visargabengali","visargadeva","visargagujarati","vmonospace","voarmenian","voicediterationhiragana","voicediterationkatakana","voicedmarkkana","voicedmarkkanahalfwidth","vokatakana","vparen","vtilde","vturned","vuhiragana","vukatakana","wacute","waekorean","wahiragana","wakatakana","wakatakanahalfwidth","wakorean","wasmallhiragana","wasmallkatakana","wattosquare","wavedash","wavyunderscorevertical","wawarabic","wawfinalarabic","wawhamzaabovearabic","wawhamzaabovefinalarabic","wbsquare","wcircle","wcircumflex","wdieresis","wdotaccent","wdotbelow","wehiragana","weierstrass","wekatakana","wekorean","weokorean","wgrave","whitebullet","whitecircle","whitecircleinverse","whitecornerbracketleft","whitecornerbracketleftvertical","whitecornerbracketright","whitecornerbracketrightvertical","whitediamond","whitediamondcontainingblacksmalldiamond","whitedownpointingsmalltriangle","whitedownpointingtriangle","whiteleftpointingsmalltriangle","whiteleftpointingtriangle","whitelenticularbracketleft","whitelenticularbracketright","whiterightpointingsmalltriangle","whiterightpointingtriangle","whitesmallsquare","whitesmilingface","whitesquare","whitestar","whitetelephone","whitetortoiseshellbracketleft","whitetortoiseshellbracketright","whiteuppointingsmalltriangle","whiteuppointingtriangle","wihiragana","wikatakana","wikorean","wmonospace","wohiragana","wokatakana","wokatakanahalfwidth","won","wonmonospace","wowaenthai","wparen","wring","wsuperior","wturned","wynn","xabovecmb","xbopomofo","xcircle","xdieresis","xdotaccent","xeharmenian","xi","xmonospace","xparen","xsuperior","yaadosquare","yabengali","yacute","yadeva","yaekorean","yagujarati","yagurmukhi","yahiragana","yakatakana","yakatakanahalfwidth","yakorean","yamakkanthai","yasmallhiragana","yasmallkatakana","yasmallkatakanahalfwidth","yatcyrillic","ycircle","ycircumflex","ydieresis","ydotaccent","ydotbelow","yeharabic","yehbarreearabic","yehbarreefinalarabic","yehfinalarabic","yehhamzaabovearabic","yehhamzaabovefinalarabic","yehhamzaaboveinitialarabic","yehhamzaabovemedialarabic","yehinitialarabic","yehmedialarabic","yehmeeminitialarabic","yehmeemisolatedarabic","yehnoonfinalarabic","yehthreedotsbelowarabic","yekorean","yen","yenmonospace","yeokorean","yeorinhieuhkorean","yerahbenyomohebrew","yerahbenyomolefthebrew","yericyrillic","yerudieresiscyrillic","yesieungkorean","yesieungpansioskorean","yesieungsioskorean","yetivhebrew","ygrave","yhook","yhookabove","yiarmenian","yicyrillic","yikorean","yinyang","yiwnarmenian","ymonospace","yod","yoddagesh","yoddageshhebrew","yodhebrew","yodyodhebrew","yodyodpatahhebrew","yohiragana","yoikorean","yokatakana","yokatakanahalfwidth","yokorean","yosmallhiragana","yosmallkatakana","yosmallkatakanahalfwidth","yotgreek","yoyaekorean","yoyakorean","yoyakthai","yoyingthai","yparen","ypogegrammeni","ypogegrammenigreekcmb","yr","yring","ysuperior","ytilde","yturned","yuhiragana","yuikorean","yukatakana","yukatakanahalfwidth","yukorean","yusbigcyrillic","yusbigiotifiedcyrillic","yuslittlecyrillic","yuslittleiotifiedcyrillic","yusmallhiragana","yusmallkatakana","yusmallkatakanahalfwidth","yuyekorean","yuyeokorean","yyabengali","yyadeva","zaarmenian","zacute","zadeva","zagurmukhi","zaharabic","zahfinalarabic","zahinitialarabic","zahiragana","zahmedialarabic","zainarabic","zainfinalarabic","zakatakana","zaqefgadolhebrew","zaqefqatanhebrew","zarqahebrew","zayin","zayindagesh","zayindageshhebrew","zayinhebrew","zbopomofo","zcaron","zcircle","zcircumflex","zcurl","zdot","zdotaccent","zdotbelow","zecyrillic","zedescendercyrillic","zedieresiscyrillic","zehiragana","zekatakana","zero","zeroarabic","zerobengali","zerodeva","zerogujarati","zerogurmukhi","zerohackarabic","zeroinferior","zeromonospace","zerooldstyle","zeropersian","zerosuperior","zerothai","zerowidthjoiner","zerowidthnonjoiner","zerowidthspace","zeta","zhbopomofo","zhearmenian","zhebrevecyrillic","zhecyrillic","zhedescendercyrillic","zhedieresiscyrillic","zihiragana","zikatakana","zinorhebrew","zlinebelow","zmonospace","zohiragana","zokatakana","zparen","zretroflexhook","zstroke","zuhiragana","zukatakana","angbracketleftbig","angbracketleftBig","angbracketleftbigg","angbracketleftBigg","angbracketrightBig","angbracketrightbig","angbracketrightBigg","angbracketrightbigg","arrowhookleft","arrowhookright","arrowlefttophalf","arrowleftbothalf","arrownortheast","arrownorthwest","arrowrighttophalf","arrowrightbothalf","arrowsoutheast","arrowsouthwest","backslashbig","backslashBig","backslashBigg","backslashbigg","bardbl","bracehtipdownleft","bracehtipdownright","bracehtipupleft","bracehtipupright","braceleftBig","braceleftbig","braceleftbigg","braceleftBigg","bracerightBig","bracerightbig","bracerightbigg","bracerightBigg","bracketleftbig","bracketleftBig","bracketleftbigg","bracketleftBigg","bracketrightBig","bracketrightbig","bracketrightbigg","bracketrightBigg","ceilingleftbig","ceilingleftBig","ceilingleftBigg","ceilingleftbigg","ceilingrightbig","ceilingrightBig","ceilingrightbigg","ceilingrightBigg","circledotdisplay","circledottext","circlemultiplydisplay","circlemultiplytext","circleplusdisplay","circleplustext","contintegraldisplay","contintegraltext","coproductdisplay","coproducttext","floorleftBig","floorleftbig","floorleftbigg","floorleftBigg","floorrightbig","floorrightBig","floorrightBigg","floorrightbigg","hatwide","hatwider","hatwidest","intercal","integraldisplay","integraltext","intersectiondisplay","intersectiontext","logicalanddisplay","logicalandtext","logicalordisplay","logicalortext","parenleftBig","parenleftbig","parenleftBigg","parenleftbigg","parenrightBig","parenrightbig","parenrightBigg","parenrightbigg","prime","productdisplay","producttext","radicalbig","radicalBig","radicalBigg","radicalbigg","radicalbt","radicaltp","radicalvertex","slashbig","slashBig","slashBigg","slashbigg","summationdisplay","summationtext","tildewide","tildewider","tildewidest","uniondisplay","unionmultidisplay","unionmultitext","unionsqdisplay","unionsqtext","uniontext","vextenddouble","vextendsingle","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","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","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","ArialNarrow","ArialBlack","Arial","ArialMT","CourierNew","CourierNewPSMT","Helvetica","TimesNewRoman","TimesNewRomanPS","TimesNewRomanPSMT","Calibri","CenturyGothic","ComicSansMS","LucidaConsole","NuptialScript","SegoeUISymbol","Wingdings","Albertus","Aldus","Alexandria","Algerian","Antiqua","Apex","Arno","Aster","Aurora","Baskerville","Bell","Bembo","Benguiat","Bodoni","Bookman","Calisto","Calvert","Capitals","Cambria","Cartier","Caslon","Catull","Centaur","Chaparral","Cheltenham","Clarendon","Clearface","Cochin","Colonna","Constantia","Corona","Ecotype","Egyptienne","Elephant","Excelsior","Fairfield","Folkard","Footlight","FreeSerif","Garamond","Gentium","Georgia","Gloucester","Granjon","Heather","Hercules","Hiroshige","Imprint","Janson","Joanna","Korinna","Lexicon","Literaturnaya","Lucida","Melior","Memphis","Miller","Minion","Modern","Palatino","Perpetua","Plantin","Playbill","Renault","Requiem","Rockwell","Roman","Sabon","Scala","Seagull","Sistina","Souvenir","STIX","Sylfaen","Times","Trajan","Utopia","Versailles","Wanted","Weiss","Windsor","XITS","Dingbats","ZapfDingbats","getSpecialPUASymbols","UnicodeRanges","charsLength","hexStr","nameLen","toUpperCase","getLong","getUshort","getSubroutineBias","numSubrs","parseCmap","idDelta","idOffset","parseCff","gsubrs","isCFFCIDFont","lookupCmap","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","cmds","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","compileGlyf","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","numberOfPoints","points","startPoint","endPoint","contour","Type2Compiled","_CompiledFont2","cffInfo","glyphNameMap","gsubrsBias","subrsBias","compileCharString","charStringCode","bezierCurveTo","stems","xb","yb","subrCode","stackClean","achar","bchar","parseGlyfTable","Type1CharString","COMMAND_MAP","lsb","flexing","wx","sbx","dy","executeCommand","asb","sby","num2","num1","flexArgs","howManyArgs","command","keepStack","stackLength","EEXEC_ENCRYPT_KEY","isHexDigit","discardNumber","decrypted","encrypted","isBinary","digit1","digit2","decryptAscii","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","program","blueArray","charString","charStringObject","_index","encodingArg","xstep","ystep","paintType","tilingType","ShadingType","FUNCTION_BASED","AXIAL","RADIAL","FREE_FORM_MESH","LATTICE_FORM_MESH","COONS_PATCH_MESH","TENSOR_PATCH_MESH","getPattern","ctx","Shadings","RadialAxial","Mesh","Dummy","coordsArr","shadingType","domainArr","extendStart","extendEnd","extendArr","r1","r2","distance","fnObj","createFromArray","colorStops","cssColor","makeCssRgb","background","SMALL_NUMBER","r0","singularValueDecompose2dScale","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","align","readFlag","bitsPerFlag","readCoordinate","bitsPerCoordinate","yi","readComponents","ci","MIN_SPLIT_PATCH_CHUNKS_AMOUNT","MAX_SPLIT_PATCH_CHUNKS_AMOUNT","TRIANGLE_DENSITY","getB","lut","t_","buildB","buildFigureFromPatch","mesh","figure","figures","coords","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","bounds","splitYBy","verticesPerRow","figureCoords","figureColors","cl","cr","c0","c1","c2","c3","bRow","bCol","newColor","updateBounds","patchMesh","operators","ps","verticesLeft","hasData","coord","decodeType4Shading","decodeType5Shading","tmp4","decodeType6Shading","decodeType7Shading","coordsPacked","xy","colorsPacked","packData","fnDict","PostScriptCompiler","PostScriptEvaluator","_ps_parser","_ref$isEvalSupported","_localFunctionCache","cachedFunction","parsedFunction","PDFFunction","parseArray","fnRef","localFunction","toNumberArray","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","typeFn","constructSampled","constructInterpolated","constructStiched","constructPostScript","fromIR","IR","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","toMultiArray","inputSize","interpolate","xmin","xmax","ymin","ymax","samples","cubeVertices","cubeN","cubeVertex","domain_2i","domain_2i_1","size_i","e0","n0","n1","rj","fnRefs","fns","dmin","dmax","rmin","rmax","PostScriptLexer","PostScriptParser","_ref13","numOutputs","numInputs","cache_available","cachedValue","execute","stackIndex","bound","PostScriptStack","initialStack","copy","roll","operator","atan","cos","LN10","sin","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","ExpressionBuilderVisitor","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","visit","visitArgument","visitLiteral","visitBinaryOperation","visitMin","visitVariable","visitVariableDefinition","literal","definition","ast1","ast2","tmpVar","instructions","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","opCache","PostScriptToken","opValue","getOperator","startLevel","isLTR","strLength","createBidiText","numBidi","charType","baseTypes","arabicTypes","isOdd","sor","eor","lastType","findUnequal","before","after","setValues","isEven","highestLevel","lowestOddLevel","reverseValues","Courier","SEED","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","hex1","hex2","decodeAndClamp","addend","coefficient","resizeImageMask","_ref$isInline","_ref$smask","_ref$mask","_ref$isMask","isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","_buildImage","bufferPos","rowComps","loop1End","loop2End","remainingBits","rgbaBuf","alphaBuf","sw","fillGrayBuffer","opacity","imageOffset","maskOffset","matteRgb","matteR","matteG","matteB","forceRGBA","getImageBytes","newArray","imageLength","maybeUndoPreblend","getComponents","fillOpacity","decodeBuffer","fillRgb","undoPreblend","_ref2$isInline","imageData","smaskData","maskData","computedLength","CallbackKind","DATA","ERROR","StreamKind","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","_deleteStreamController2","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","_isRangeSupported","_isStreamingSupported","_headersReady","_read","_yield$this$_reader$r","_read2","_yield$this$_reader$r2","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayLike","fromArrayBuffer","isEncoding","actual","fromString","isBuffer","fromObject","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","valLength","readUInt16BE","foundIndex","hexWrite","parsed","substr","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","typedArraySupport","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","ret","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","leadSurrogate","toByteArray","trim","stringtrim","base64clean","b64","lens","getLens","validLen","placeHoldersLen","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","len2","encodeChunk","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","runClearTimeout","Item","browser","env","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask"],"mappings":"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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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IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IACx3IC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,IAdzB,GAcwC,CAAC,IAdzC,GAcwD,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAC53CC,EAAc,CAAC,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KACjwDC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,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,SAASd,EAAg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,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,GACNC,KAAM,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,IA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M,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,KACphDrF,KAAKysH,OAAS,IAAIpnH,WAAW,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAA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EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,EAAE,MAAQ,MACVA,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,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OAAS,QAkDT6yT,EAAgB,CAAC,CACnBjsP,MAAO,EACPloC,IAAK,KACJ,CACDkoC,MAAO,IACPloC,IAAK,KACJ,CACDkoC,MAAO,IACPloC,IAAK,KACJ,CACDkoC,MAAO,IACPloC,IAAK,KACJ,CACDkoC,MAAO,IACPloC,IAAK,KACJ,CACDkoC,MAAO,IACPloC,IAAK,KACJ,CACDkoC,MAAO,IACPloC,IAAK,KACJ,CACDkoC,MAAO,IACPloC,IAAK,MACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,OACPloC,IAAK,QACJ,CACDkoC,MAAO,OACPloC,IAAK,QACJ,CACDkoC,MAAO,QACPloC,IAAK,SACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,OACPloC,IAAK,QACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,OACPloC,IAAK,QACJ,CACDkoC,MAAO,MACPloC,IAAK,OACJ,CACDkoC,MAAO,OACPloC,IAAK,QACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,MAAO,KACPloC,IAAK,MACJ,CACDkoC,M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MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,OACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,2BACdA,EAAE,UAAY,MACdA,EAAE,UAAY,KACdA,EAAE,UAAY,MACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,iBACdA,EAAE,UAAY,mCACdA,EAAE,UAAY,6BACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,UACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,WACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,KACdA,EAAE,UAAY,MACdA,EAAE,UAAY,MACdA,EAAE,UAAY,UACdA,EAAE,UAAY,KACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,gBACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,eACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,qBACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,IACdA,EAAE,UAAY,IACdA,EAAE,UAAY,IACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY,SACdA,EAAE,UAAY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M,KAAM,KAAM,KAAM,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,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","file":"4e8d9ed9b5d8f6ddc3d0.worker.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_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, __webpack_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__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_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__webpack_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__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_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__webpack_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) __webpack_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__webpack_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__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","function _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/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof2(exports)) === 'object' && (typeof module === \"undefined\" ? \"undefined\" : _typeof2(module)) === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define(\"pdfjs-dist/build/pdf.worker\", [], factory);else if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof2(exports)) === 'object') exports[\"pdfjs-dist/build/pdf.worker\"] = factory();else root[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = factory();\n})(this, function () {\n return (\n /******/\n function (modules) {\n // webpackBootstrap\n\n /******/\n // The module cache\n\n /******/\n var installedModules = {};\n /******/\n\n /******/\n // The require function\n\n /******/\n\n function __w_pdfjs_require__(moduleId) {\n /******/\n\n /******/\n // Check if module is in cache\n\n /******/\n if (installedModules[moduleId]) {\n /******/\n return installedModules[moduleId].exports;\n /******/\n }\n /******/\n // Create a new module (and put it into the cache)\n\n /******/\n\n\n var module = installedModules[moduleId] = {\n /******/\n i: moduleId,\n\n /******/\n l: false,\n\n /******/\n exports: {}\n /******/\n\n };\n /******/\n\n /******/\n // Execute the module function\n\n /******/\n\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n /******/\n\n /******/\n // Flag the module as loaded\n\n /******/\n\n module.l = true;\n /******/\n\n /******/\n // Return the exports of the module\n\n /******/\n\n return module.exports;\n /******/\n }\n /******/\n\n /******/\n\n /******/\n // expose the modules object (__webpack_modules__)\n\n /******/\n\n\n __w_pdfjs_require__.m = modules;\n /******/\n\n /******/\n // expose the module cache\n\n /******/\n\n __w_pdfjs_require__.c = installedModules;\n /******/\n\n /******/\n // define getter function for harmony exports\n\n /******/\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n /******/\n if (!__w_pdfjs_require__.o(exports, name)) {\n /******/\n Object.defineProperty(exports, name, {\n enumerable: true,\n get: getter\n });\n /******/\n }\n /******/\n\n };\n /******/\n\n /******/\n // define __esModule on exports\n\n /******/\n\n\n __w_pdfjs_require__.r = function (exports) {\n /******/\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/\n Object.defineProperty(exports, Symbol.toStringTag, {\n value: 'Module'\n });\n /******/\n }\n /******/\n\n\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n\n /******/\n // create a fake namespace object\n\n /******/\n // mode & 1: value is a module id, require it\n\n /******/\n // mode & 2: merge all properties of value into the ns\n\n /******/\n // mode & 4: return value when already ns object\n\n /******/\n // mode & 8|1: behave like require\n\n /******/\n\n\n __w_pdfjs_require__.t = function (value, mode) {\n /******/\n if (mode & 1) value = __w_pdfjs_require__(value);\n /******/\n\n if (mode & 8) return value;\n /******/\n\n if (mode & 4 && _typeof2(value) === 'object' && value && value.__esModule) return value;\n /******/\n\n var ns = Object.create(null);\n /******/\n\n __w_pdfjs_require__.r(ns);\n /******/\n\n\n Object.defineProperty(ns, 'default', {\n enumerable: true,\n value: value\n });\n /******/\n\n if (mode & 2 && typeof value != 'string') for (var key in value) {\n __w_pdfjs_require__.d(ns, key, function (key) {\n return value[key];\n }.bind(null, key));\n }\n /******/\n\n return ns;\n /******/\n };\n /******/\n\n /******/\n // getDefaultExport function for compatibility with non-harmony modules\n\n /******/\n\n\n __w_pdfjs_require__.n = function (module) {\n /******/\n var getter = module && module.__esModule ?\n /******/\n function getDefault() {\n return module['default'];\n } :\n /******/\n function getModuleExports() {\n return module;\n };\n /******/\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n /******/\n\n\n return getter;\n /******/\n };\n /******/\n\n /******/\n // Object.prototype.hasOwnProperty.call\n\n /******/\n\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n\n /******/\n // __webpack_public_path__\n\n /******/\n\n\n __w_pdfjs_require__.p = \"\";\n /******/\n\n /******/\n\n /******/\n // Load entry module and return exports\n\n /******/\n\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n /******/\n }(\n /************************************************************************/\n\n /******/\n [\n /* 0 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(exports, \"WorkerMessageHandler\", {\n enumerable: true,\n get: function get() {\n return _worker.WorkerMessageHandler;\n }\n });\n\n var _worker = __w_pdfjs_require__(1);\n\n var pdfjsVersion = '2.6.347';\n var pdfjsBuild = '3be9c65f';\n /***/\n },\n /* 1 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.WorkerMessageHandler = exports.WorkerTask = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _pdf_manager = __w_pdfjs_require__(203);\n\n var _writer = __w_pdfjs_require__(224);\n\n var _is_node = __w_pdfjs_require__(7);\n\n var _message_handler = __w_pdfjs_require__(243);\n\n var _worker_stream = __w_pdfjs_require__(244);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e2) {\n throw _e2;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e3) {\n didErr = true;\n err = _e3;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n function _toArray(arr) {\n return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();\n }\n\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var WorkerTask =\n /*#__PURE__*/\n function () {\n function WorkerTask(name) {\n _classCallCheck(this, WorkerTask);\n\n this.name = name;\n this.terminated = false;\n this._capability = (0, _util.createPromiseCapability)();\n }\n\n _createClass(WorkerTask, [{\n key: \"finish\",\n value: function finish() {\n this._capability.resolve();\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this.terminated = true;\n }\n }, {\n key: \"ensureNotTerminated\",\n value: function ensureNotTerminated() {\n if (this.terminated) {\n throw new Error(\"Worker task was terminated\");\n }\n }\n }, {\n key: \"finished\",\n get: function get() {\n return this._capability.promise;\n }\n }]);\n\n return WorkerTask;\n }();\n\n exports.WorkerTask = WorkerTask;\n\n var WorkerMessageHandler =\n /*#__PURE__*/\n function () {\n function WorkerMessageHandler() {\n _classCallCheck(this, WorkerMessageHandler);\n }\n\n _createClass(WorkerMessageHandler, null, [{\n key: \"setup\",\n value: 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\", null);\n return;\n }\n\n var supportTransfers = data[0] === 255;\n handler.postMessageTransfers = supportTransfers;\n handler.send(\"test\", {\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 }, {\n key: \"createDocumentHandler\",\n value: 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.6.347';\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 enumerableProperties = [];\n\n for (var property in []) {\n enumerableProperties.push(property);\n }\n\n if (enumerableProperties.length) {\n throw new Error(\"The `Array.prototype` contains unexpected enumerable properties: \" + enumerableProperties.join(\", \") + \"; thus breaking e.g. `for...in` iteration of `Array`s.\");\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 _yield$Promise$all, _yield$Promise$all2, 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 _yield$Promise$all = _context.sent;\n _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);\n numPages = _yield$Promise$all2[0];\n fingerprint = _yield$Promise$all2[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 newPdfManager;\n var source = data.source;\n\n if (source.data) {\n try {\n newPdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(newPdfManager);\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 newPdfManager = 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 newPdfManager.sendProgressiveData(cachedChunks[i]);\n }\n\n cachedChunks = [];\n pdfManagerCapability.resolve(newPdfManager);\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 newPdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n pdfManagerCapability.resolve(newPdfManager);\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(_ref) {\n var value = _ref.value,\n done = _ref.done;\n\n try {\n ensureNotTerminated();\n\n if (done) {\n if (!newPdfManager) {\n flushChunks();\n }\n\n cancelXHRs = null;\n return;\n }\n\n loaded += (0, _util.arrayByteLength)(value);\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 (newPdfManager) {\n newPdfManager.sendProgressiveData(value);\n } else {\n cachedChunks.push(value);\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(reason) {\n pdfStream.cancelAllRequests(reason);\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(ex) {\n ensureNotTerminated();\n\n if (ex instanceof _util.PasswordException) {\n var task = new WorkerTask(\"PasswordException: response \".concat(ex.code));\n startWorkerTask(task);\n handler.sendWithPromise(\"PasswordRequest\", ex).then(function (_ref2) {\n var password = _ref2.password;\n finishWorkerTask(task);\n pdfManager.updatePassword(password);\n pdfManagerReady();\n })[\"catch\"](function () {\n finishWorkerTask(task);\n handler.send(\"DocException\", ex);\n });\n } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {\n handler.send(\"DocException\", ex);\n } else {\n handler.send(\"DocException\", new _util.UnknownErrorException(ex.message, ex.toString()));\n }\n }\n\n function pdfManagerReady() {\n ensureNotTerminated();\n loadDocument(false).then(onSuccess, function (reason) {\n ensureNotTerminated();\n\n if (!(reason instanceof _core_utils.XRefParseException)) {\n onFailure(reason);\n return;\n }\n\n pdfManager.requestLoadedStream();\n pdfManager.onLoadedStream().then(function () {\n ensureNotTerminated();\n loadDocument(true).then(onSuccess, onFailure);\n });\n });\n }\n\n ensureNotTerminated();\n var evaluatorOptions = {\n maxImageSize: data.maxImageSize,\n disableFontFace: data.disableFontFace,\n ignoreErrors: data.ignoreErrors,\n isEvalSupported: data.isEvalSupported,\n fontExtraProperties: data.fontExtraProperties\n };\n getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {\n if (terminated) {\n newPdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n throw new Error(\"Worker was terminated\");\n }\n\n pdfManager = newPdfManager;\n pdfManager.onLoadedStream().then(function (stream) {\n handler.send(\"DataLoaded\", {\n length: stream.bytes.byteLength\n });\n });\n }).then(pdfManagerReady, onFailure);\n }\n\n handler.on(\"GetPage\", function wphSetupGetPage(data) {\n return pdfManager.getPage(data.pageIndex).then(function (page) {\n return Promise.all([pdfManager.ensure(page, \"rotate\"), pdfManager.ensure(page, \"ref\"), pdfManager.ensure(page, \"userUnit\"), pdfManager.ensure(page, \"view\")]).then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 4),\n rotate = _ref4[0],\n ref = _ref4[1],\n userUnit = _ref4[2],\n view = _ref4[3];\n\n return {\n rotate: rotate,\n ref: ref,\n userUnit: userUnit,\n view: view\n };\n });\n });\n });\n handler.on(\"GetPageIndex\", function wphSetupGetPageIndex(_ref5) {\n var ref = _ref5.ref;\n\n var pageRef = _primitives.Ref.get(ref.num, ref.gen);\n\n return pdfManager.ensureCatalog(\"getPageIndex\", [pageRef]);\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(\"GetOpenAction\", function (data) {\n return pdfManager.ensureCatalog(\"openAction\");\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(\"GetOptionalContentConfig\", function (data) {\n return pdfManager.ensureCatalog(\"optionalContentConfig\");\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.ensureXRef(\"stats\");\n });\n handler.on(\"GetAnnotations\", function (_ref6) {\n var pageIndex = _ref6.pageIndex,\n intent = _ref6.intent;\n return pdfManager.getPage(pageIndex).then(function (page) {\n return page.getAnnotationsData(intent);\n });\n });\n handler.on(\"SaveDocument\", function (_ref7) {\n var numPages = _ref7.numPages,\n annotationStorage = _ref7.annotationStorage,\n filename = _ref7.filename;\n pdfManager.requestLoadedStream();\n var promises = [pdfManager.onLoadedStream()];\n var document = pdfManager.pdfDocument;\n\n var _loop = function _loop(pageIndex) {\n promises.push(pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(\"Save: page \".concat(pageIndex));\n return page.save(handler, task, annotationStorage);\n }));\n };\n\n for (var pageIndex = 0; pageIndex < numPages; pageIndex++) {\n _loop(pageIndex);\n }\n\n return Promise.all(promises).then(function (_ref8) {\n var _ref9 = _toArray(_ref8),\n stream = _ref9[0],\n refs = _ref9.slice(1);\n\n var newRefs = [];\n\n var _iterator = _createForOfIteratorHelper(refs),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var ref = _step.value;\n newRefs = ref.filter(function (x) {\n return x !== null;\n }).reduce(function (a, b) {\n return a.concat(b);\n }, newRefs);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (newRefs.length === 0) {\n return stream.bytes;\n }\n\n var xref = document.xref;\n var newXrefInfo = Object.create(null);\n\n if (xref.trailer) {\n var _info = Object.create(null);\n\n var xrefInfo = xref.trailer.get(\"Info\") || null;\n\n if (xrefInfo) {\n xrefInfo.forEach(function (key, value) {\n if ((0, _util.isString)(key) && (0, _util.isString)(value)) {\n _info[key] = (0, _util.stringToPDFString)(value);\n }\n });\n }\n\n newXrefInfo = {\n rootRef: xref.trailer.getRaw(\"Root\") || null,\n encrypt: xref.trailer.getRaw(\"Encrypt\") || null,\n newRef: xref.getNewRef(),\n infoRef: xref.trailer.getRaw(\"Info\") || null,\n info: _info,\n fileIds: xref.trailer.getRaw(\"ID\") || null,\n startXRef: document.startXRef,\n filename: filename\n };\n }\n\n xref.resetNewRef();\n return (0, _writer.incrementalUpdate)(stream.bytes, newXrefInfo, newRefs);\n });\n });\n handler.on(\"GetOperatorList\", function wphSetupRenderPage(data, sink) {\n var pageIndex = data.pageIndex;\n pdfManager.getPage(pageIndex).then(function (page) {\n var task = new WorkerTask(\"GetOperatorList: page \".concat(pageIndex));\n startWorkerTask(task);\n var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n page.getOperatorList({\n handler: handler,\n sink: sink,\n task: task,\n intent: data.intent,\n renderInteractiveForms: data.renderInteractiveForms,\n annotationStorage: data.annotationStorage\n }).then(function (operatorListInfo) {\n finishWorkerTask(task);\n\n if (start) {\n (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getOperatorList: time=\") + \"\".concat(Date.now() - start, \"ms, len=\").concat(operatorListInfo.length));\n }\n\n sink.close();\n }, function (reason) {\n finishWorkerTask(task);\n\n if (task.terminated) {\n return;\n }\n\n handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList\n });\n sink.error(reason);\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 });\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(true);\n });\n handler.on(\"Terminate\", function wphTerminate(data) {\n terminated = true;\n var waitOn = [];\n\n if (pdfManager) {\n pdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n var cleanupPromise = pdfManager.cleanup();\n waitOn.push(cleanupPromise);\n pdfManager = null;\n } else {\n (0, _primitives.clearPrimitiveCaches)();\n }\n\n if (cancelXHRs) {\n cancelXHRs(new _util.AbortException(\"Worker was terminated.\"));\n }\n\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 }, {\n key: \"initializeFromPort\",\n value: 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 }]);\n\n return WorkerMessageHandler;\n }();\n\n exports.WorkerMessageHandler = WorkerMessageHandler;\n\n function isMessagePort(maybePort) {\n return typeof maybePort.postMessage === \"function\" && \"onmessage\" in maybePort;\n }\n\n if (typeof window === \"undefined\" && !_is_node.isNodeJS && typeof self !== \"undefined\" && isMessagePort(self)) {\n WorkerMessageHandler.initializeFromPort(self);\n }\n /***/\n\n },\n /* 2 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.exports = __w_pdfjs_require__(3);\n /***/\n },\n /* 3 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n /* WEBPACK VAR INJECTION */\n\n (function (module) {\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n var 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 define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\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 GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(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 define(genFun, toStringTagSymbol, \"GeneratorFunction\");\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, PromiseImpl) {\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 PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function (unwrapped) {\n 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 PromiseImpl(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, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\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 define(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\n try {\n regeneratorRuntime = runtime;\n } catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n /* WEBPACK VAR INJECTION */\n\n }).call(this, __w_pdfjs_require__(4)(module));\n /***/\n },\n /* 4 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n module.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 },\n /* 5 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.arrayByteLength = arrayByteLength;\n exports.arraysToBytes = arraysToBytes;\n exports.assert = assert;\n exports.bytesToString = bytesToString;\n exports.createPromiseCapability = createPromiseCapability;\n exports.escapeString = escapeString;\n exports.getModificationDate = getModificationDate;\n exports.getVerbosityLevel = getVerbosityLevel;\n exports.info = info;\n exports.isArrayBuffer = isArrayBuffer;\n exports.isArrayEqual = isArrayEqual;\n exports.isBool = isBool;\n exports.isNum = isNum;\n exports.isString = isString;\n exports.isSameOrigin = isSameOrigin;\n exports.createValidAbsoluteUrl = createValidAbsoluteUrl;\n exports.removeNullCharacters = removeNullCharacters;\n exports.setVerbosityLevel = setVerbosityLevel;\n exports.shadow = shadow;\n exports.string32 = string32;\n exports.stringToBytes = stringToBytes;\n exports.stringToPDFString = stringToPDFString;\n exports.stringToUTF8String = stringToUTF8String;\n exports.utf8StringToString = utf8StringToString;\n exports.warn = warn;\n exports.unreachable = unreachable;\n exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n __w_pdfjs_require__(6);\n\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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\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 function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\n exports.IDENTITY_MATRIX = IDENTITY_MATRIX;\n var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\n var PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n };\n exports.PermissionFlag = PermissionFlag;\n var TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n };\n exports.TextRenderingMode = TextRenderingMode;\n var ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n };\n exports.ImageKind = ImageKind;\n var AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n };\n exports.AnnotationType = AnnotationType;\n var AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n };\n exports.AnnotationStateModelType = AnnotationStateModelType;\n var AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n };\n exports.AnnotationMarkedState = AnnotationMarkedState;\n var AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n };\n exports.AnnotationReviewState = AnnotationReviewState;\n var AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n };\n exports.AnnotationReplyType = AnnotationReplyType;\n var AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n };\n exports.AnnotationFlag = AnnotationFlag;\n var AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n };\n exports.AnnotationFieldFlag = AnnotationFieldFlag;\n var AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n };\n exports.AnnotationBorderStyleType = AnnotationBorderStyleType;\n var StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n };\n exports.StreamType = StreamType;\n var FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n };\n exports.FontType = FontType;\n var VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n };\n exports.VerbosityLevel = VerbosityLevel;\n var CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n };\n exports.CMapCompressionType = CMapCompressionType;\n var 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 };\n exports.OPS = OPS;\n var UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\"\n };\n exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\n var PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n };\n exports.PasswordResponses = PasswordResponses;\n var verbosity = VerbosityLevel.WARNINGS;\n\n function setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n }\n\n function getVerbosityLevel() {\n return verbosity;\n }\n\n function info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n }\n\n function warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n }\n\n function unreachable(msg) {\n throw new Error(msg);\n }\n\n function assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n }\n\n function isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new 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(otherUrl, base);\n return base.origin === other.origin;\n }\n\n function _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\n function createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function 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\n var BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n }();\n\n exports.BaseException = BaseException;\n\n var PasswordException =\n /*#__PURE__*/\n function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this;\n\n _classCallCheck(this, PasswordException);\n\n _this = _super.call(this, msg);\n _this.code = code;\n return _this;\n }\n\n return PasswordException;\n }(BaseException);\n\n exports.PasswordException = PasswordException;\n\n var UnknownErrorException =\n /*#__PURE__*/\n function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super2 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this2;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this2 = _super2.call(this, msg);\n _this2.details = details;\n return _this2;\n }\n\n return UnknownErrorException;\n }(BaseException);\n\n exports.UnknownErrorException = UnknownErrorException;\n\n var InvalidPDFException =\n /*#__PURE__*/\n function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super3 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super3.apply(this, arguments);\n }\n\n return InvalidPDFException;\n }(BaseException);\n\n exports.InvalidPDFException = InvalidPDFException;\n\n var MissingPDFException =\n /*#__PURE__*/\n function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super4 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return MissingPDFException;\n }(BaseException);\n\n exports.MissingPDFException = MissingPDFException;\n\n var UnexpectedResponseException =\n /*#__PURE__*/\n function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super5 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this3;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this3 = _super5.call(this, msg);\n _this3.status = status;\n return _this3;\n }\n\n return UnexpectedResponseException;\n }(BaseException);\n\n exports.UnexpectedResponseException = UnexpectedResponseException;\n\n var FormatError =\n /*#__PURE__*/\n function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super6 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super6.apply(this, arguments);\n }\n\n return FormatError;\n }(BaseException);\n\n exports.FormatError = FormatError;\n\n var AbortException =\n /*#__PURE__*/\n function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super7 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super7.apply(this, arguments);\n }\n\n return AbortException;\n }(BaseException);\n\n exports.AbortException = AbortException;\n var NullCharactersRegExp = /\\x00/g;\n\n function 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\n function 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\n function 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\n function arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n }\n\n function arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var 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 var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n }\n\n function string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n\n function 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\n var IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n };\n exports.IsLittleEndianCached = IsLittleEndianCached;\n\n function isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n }\n\n var IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n };\n exports.IsEvalSupportedCached = IsEvalSupportedCached;\n var rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\n var Util =\n /*#__PURE__*/\n function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n }, {\n key: \"transform\",\n value: function 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 key: \"applyTransform\",\n value: function 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 key: \"applyInverseTransform\",\n value: function 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 key: \"getAxialAlignedBoundingBox\",\n value: function 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 key: \"inverseTransform\",\n value: function 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 key: \"apply3dTransform\",\n value: function 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 key: \"singularValueDecompose2dScale\",\n value: function 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 key: \"normalizeRect\",\n value: function 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 key: \"intersect\",\n value: function 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 var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var 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 null;\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 null;\n }\n\n return result;\n }\n }]);\n\n return Util;\n }();\n\n exports.Util = Util;\n var 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\n function stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n }\n\n function escapeString(str) {\n return str.replace(/([\\(\\)\\\\])/g, \"\\\\$1\");\n }\n\n function stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n }\n\n function utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n }\n\n function isBool(v) {\n return typeof v === \"boolean\";\n }\n\n function isNum(v) {\n return typeof v === \"number\";\n }\n\n function isString(v) {\n return typeof v === \"string\";\n }\n\n function isArrayBuffer(v) {\n return _typeof(v) === \"object\" && v !== null && v.byteLength !== undefined;\n }\n\n function 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\n function getModificationDate() {\n var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(Date.now());\n var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), (date.getUTCDate() + 1).toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n }\n\n function 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\n var 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.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(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\n exports.createObjectURL = createObjectURL;\n /***/\n },\n /* 6 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _is_node = __w_pdfjs_require__(7);\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n if (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n globalThis = __w_pdfjs_require__(8);\n }\n\n globalThis._pdfjsCompatibilityChecked = true;\n var hasDOM = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === \"object\";\n var userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n var isIE = /Trident/.test(userAgent);\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.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 || _is_node.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 || _is_node.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 checkWindowHistoryPushStateReplaceState() {\n if (!hasDOM || !isIE) {\n return;\n }\n\n var OriginalPushState = window.history.pushState;\n var OriginalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalPushState.apply(this, args);\n };\n\n window.history.replaceState = function (state, title, url) {\n var args = url === undefined ? [state, title] : [state, title, url];\n OriginalReplaceState.apply(this, args);\n };\n })();\n\n (function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n\n __w_pdfjs_require__(53);\n })();\n\n (function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n\n __w_pdfjs_require__(64);\n })();\n\n (function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(66);\n })();\n\n (function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n\n __w_pdfjs_require__(68);\n })();\n\n (function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n\n __w_pdfjs_require__(76);\n })();\n\n (function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n\n __w_pdfjs_require__(98);\n })();\n\n (function checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n\n __w_pdfjs_require__(101);\n })();\n\n (function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n\n Math.log2 = __w_pdfjs_require__(105);\n })();\n\n (function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n\n Number.isNaN = __w_pdfjs_require__(107);\n })();\n\n (function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n\n Number.isInteger = __w_pdfjs_require__(109);\n })();\n\n (function checkTypedArraySlice() {\n if (Uint8Array.prototype.slice) {\n return;\n }\n\n __w_pdfjs_require__(112);\n })();\n\n (function checkPromise() {\n if (globalThis.Promise && globalThis.Promise.allSettled) {\n return;\n }\n\n globalThis.Promise = __w_pdfjs_require__(117);\n })();\n\n (function checkURL() {\n globalThis.URL = __w_pdfjs_require__(138);\n })();\n\n (function checkReadableStream() {\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 return;\n }\n\n globalThis.ReadableStream = __w_pdfjs_require__(145).ReadableStream;\n })();\n\n (function checkMapEntries() {\n if (globalThis.Map && globalThis.Map.prototype.entries) {\n return;\n }\n\n globalThis.Map = __w_pdfjs_require__(146);\n })();\n\n (function checkSetEntries() {\n if (globalThis.Set && globalThis.Set.prototype.entries) {\n return;\n }\n\n globalThis.Set = __w_pdfjs_require__(153);\n })();\n\n (function checkWeakMap() {\n if (globalThis.WeakMap) {\n return;\n }\n\n globalThis.WeakMap = __w_pdfjs_require__(155);\n })();\n\n (function checkWeakSet() {\n if (globalThis.WeakSet) {\n return;\n }\n\n globalThis.WeakSet = __w_pdfjs_require__(161);\n })();\n\n (function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n\n __w_pdfjs_require__(163);\n })();\n\n (function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n\n String.fromCodePoint = __w_pdfjs_require__(165);\n })();\n\n (function checkSymbol() {\n if (globalThis.Symbol) {\n return;\n }\n\n __w_pdfjs_require__(167);\n })();\n\n (function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n\n __w_pdfjs_require__(190);\n })();\n\n (function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n\n __w_pdfjs_require__(195);\n })();\n\n (function checkObjectValues() {\n if (Object.values) {\n return;\n }\n\n Object.values = __w_pdfjs_require__(197);\n })();\n\n (function checkObjectEntries() {\n if (Object.entries) {\n return;\n }\n\n Object.entries = __w_pdfjs_require__(200);\n })();\n }\n /***/\n\n },\n /* 7 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isNodeJS = void 0;\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n var isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\n exports.isNodeJS = isNodeJS;\n /***/\n },\n /* 8 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(9);\n\n module.exports = __w_pdfjs_require__(11);\n /***/\n },\n /* 9 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var $ = __w_pdfjs_require__(10);\n\n var global = __w_pdfjs_require__(11);\n\n $({\n global: true\n }, {\n globalThis: global\n });\n /***/\n },\n /* 10 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\n\n var createNonEnumerableProperty = __w_pdfjs_require__(26);\n\n var redefine = __w_pdfjs_require__(29);\n\n var setGlobal = __w_pdfjs_require__(30);\n\n var copyConstructorProperties = __w_pdfjs_require__(40);\n\n var isForced = __w_pdfjs_require__(52);\n\n module.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n\n if (target) for (key in source) {\n sourceProperty = source[key];\n\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n\n if (!FORCED && targetProperty !== undefined) {\n if (_typeof2(sourceProperty) === _typeof2(targetProperty)) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n\n redefine(target, key, sourceProperty, options);\n }\n };\n /***/\n\n },\n /* 11 */\n\n /***/\n function (module, exports) {\n var check = function check(it) {\n return it && it.Math == Math && it;\n };\n\n module.exports = check((typeof globalThis === \"undefined\" ? \"undefined\" : _typeof2(globalThis)) == 'object' && globalThis) || check((typeof window === \"undefined\" ? \"undefined\" : _typeof2(window)) == 'object' && window) || check((typeof self === \"undefined\" ? \"undefined\" : _typeof2(self)) == 'object' && self) || check((typeof global === \"undefined\" ? \"undefined\" : _typeof2(global)) == 'object' && global) || Function('return this')();\n /***/\n },\n /* 12 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var propertyIsEnumerableModule = __w_pdfjs_require__(15);\n\n var createPropertyDescriptor = __w_pdfjs_require__(16);\n\n var toIndexedObject = __w_pdfjs_require__(17);\n\n var toPrimitive = __w_pdfjs_require__(21);\n\n var has = __w_pdfjs_require__(23);\n\n var IE8_DOM_DEFINE = __w_pdfjs_require__(24);\n\n var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {}\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n };\n /***/\n },\n /* 13 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var fails = __w_pdfjs_require__(14);\n\n module.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function get() {\n return 7;\n }\n })[1] != 7;\n });\n /***/\n },\n /* 14 */\n\n /***/\n function (module, exports) {\n module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n };\n /***/\n\n },\n /* 15 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var nativePropertyIsEnumerable = {}.propertyIsEnumerable;\n var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({\n 1: 2\n }, 1);\n exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n } : nativePropertyIsEnumerable;\n /***/\n },\n /* 16 */\n\n /***/\n function (module, exports) {\n module.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 },\n /* 17 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var IndexedObject = __w_pdfjs_require__(18);\n\n var requireObjectCoercible = __w_pdfjs_require__(20);\n\n module.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n };\n /***/\n\n },\n /* 18 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var fails = __w_pdfjs_require__(14);\n\n var classof = __w_pdfjs_require__(19);\n\n var split = ''.split;\n module.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n }) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n } : Object;\n /***/\n },\n /* 19 */\n\n /***/\n function (module, exports) {\n var toString = {}.toString;\n\n module.exports = function (it) {\n return toString.call(it).slice(8, -1);\n };\n /***/\n\n },\n /* 20 */\n\n /***/\n function (module, exports) {\n module.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n };\n /***/\n\n },\n /* 21 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var isObject = __w_pdfjs_require__(22);\n\n module.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n };\n /***/\n\n },\n /* 22 */\n\n /***/\n function (module, exports) {\n module.exports = function (it) {\n return _typeof2(it) === 'object' ? it !== null : typeof it === 'function';\n };\n /***/\n\n },\n /* 23 */\n\n /***/\n function (module, exports) {\n var hasOwnProperty = {}.hasOwnProperty;\n\n module.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n };\n /***/\n\n },\n /* 24 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var fails = __w_pdfjs_require__(14);\n\n var createElement = __w_pdfjs_require__(25);\n\n module.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function get() {\n return 7;\n }\n }).a != 7;\n });\n /***/\n },\n /* 25 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var isObject = __w_pdfjs_require__(22);\n\n var document = global.document;\n var EXISTS = isObject(document) && isObject(document.createElement);\n\n module.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n };\n /***/\n\n },\n /* 26 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var definePropertyModule = __w_pdfjs_require__(27);\n\n var createPropertyDescriptor = __w_pdfjs_require__(16);\n\n module.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n } : function (object, key, value) {\n object[key] = value;\n return object;\n };\n /***/\n },\n /* 27 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var IE8_DOM_DEFINE = __w_pdfjs_require__(24);\n\n var anObject = __w_pdfjs_require__(28);\n\n var toPrimitive = __w_pdfjs_require__(21);\n\n var nativeDefineProperty = Object.defineProperty;\n exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {}\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 /* 28 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var isObject = __w_pdfjs_require__(22);\n\n module.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n\n return it;\n };\n /***/\n\n },\n /* 29 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var createNonEnumerableProperty = __w_pdfjs_require__(26);\n\n var has = __w_pdfjs_require__(23);\n\n var setGlobal = __w_pdfjs_require__(30);\n\n var inspectSource = __w_pdfjs_require__(31);\n\n var InternalStateModule = __w_pdfjs_require__(33);\n\n var getInternalState = InternalStateModule.get;\n var enforceInternalState = InternalStateModule.enforce;\n var TEMPLATE = String(String).split('String');\n (module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n\n if (O === global) {\n if (simple) O[key] = value;else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n\n if (simple) O[key] = value;else createNonEnumerableProperty(O, key, value);\n })(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n });\n /***/\n },\n /* 30 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var createNonEnumerableProperty = __w_pdfjs_require__(26);\n\n module.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n\n return value;\n };\n /***/\n\n },\n /* 31 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var store = __w_pdfjs_require__(32);\n\n var functionToString = Function.toString;\n\n if (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n }\n\n module.exports = store.inspectSource;\n /***/\n },\n /* 32 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var setGlobal = __w_pdfjs_require__(30);\n\n var SHARED = '__core-js_shared__';\n var store = global[SHARED] || setGlobal(SHARED, {});\n module.exports = store;\n /***/\n },\n /* 33 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\n\n var global = __w_pdfjs_require__(11);\n\n var isObject = __w_pdfjs_require__(22);\n\n var createNonEnumerableProperty = __w_pdfjs_require__(26);\n\n var objectHas = __w_pdfjs_require__(23);\n\n var sharedKey = __w_pdfjs_require__(35);\n\n var hiddenKeys = __w_pdfjs_require__(39);\n\n var WeakMap = global.WeakMap;\n var set, get, has;\n\n var enforce = function enforce(it) {\n return has(it) ? get(it) : set(it, {});\n };\n\n var getterFor = function getterFor(TYPE) {\n return function (it) {\n var state;\n\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n\n return state;\n };\n };\n\n if (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n\n set = function set(it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n\n get = function get(it) {\n return wmget.call(store, it) || {};\n };\n\n has = function has(it) {\n return wmhas.call(store, it);\n };\n } else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n\n set = function set(it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n\n get = function get(it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n\n has = function has(it) {\n return objectHas(it, STATE);\n };\n }\n\n module.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n };\n /***/\n },\n /* 34 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var inspectSource = __w_pdfjs_require__(31);\n\n var WeakMap = global.WeakMap;\n module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n /***/\n },\n /* 35 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var shared = __w_pdfjs_require__(36);\n\n var uid = __w_pdfjs_require__(38);\n\n var keys = shared('keys');\n\n module.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n };\n /***/\n\n },\n /* 36 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var IS_PURE = __w_pdfjs_require__(37);\n\n var store = __w_pdfjs_require__(32);\n\n (module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n })('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n });\n /***/\n },\n /* 37 */\n\n /***/\n function (module, exports) {\n module.exports = false;\n /***/\n },\n /* 38 */\n\n /***/\n function (module, exports) {\n var id = 0;\n var postfix = Math.random();\n\n module.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n };\n /***/\n\n },\n /* 39 */\n\n /***/\n function (module, exports) {\n module.exports = {};\n /***/\n },\n /* 40 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var has = __w_pdfjs_require__(23);\n\n var ownKeys = __w_pdfjs_require__(41);\n\n var getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\n\n var definePropertyModule = __w_pdfjs_require__(27);\n\n module.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n };\n /***/\n\n },\n /* 41 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var getBuiltIn = __w_pdfjs_require__(42);\n\n var getOwnPropertyNamesModule = __w_pdfjs_require__(44);\n\n var getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\n\n var anObject = __w_pdfjs_require__(28);\n\n module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n };\n /***/\n\n },\n /* 42 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var path = __w_pdfjs_require__(43);\n\n var global = __w_pdfjs_require__(11);\n\n var aFunction = function aFunction(variable) {\n return typeof variable == 'function' ? variable : undefined;\n };\n\n module.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n };\n /***/\n\n },\n /* 43 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n module.exports = global;\n /***/\n },\n /* 44 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var internalObjectKeys = __w_pdfjs_require__(45);\n\n var enumBugKeys = __w_pdfjs_require__(50);\n\n var hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n };\n /***/\n\n },\n /* 45 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var has = __w_pdfjs_require__(23);\n\n var toIndexedObject = __w_pdfjs_require__(17);\n\n var indexOf = __w_pdfjs_require__(46).indexOf;\n\n var hiddenKeys = __w_pdfjs_require__(39);\n\n module.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n\n for (key in O) {\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n }\n\n while (names.length > i) {\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n }\n\n return result;\n };\n /***/\n\n },\n /* 46 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var toIndexedObject = __w_pdfjs_require__(17);\n\n var toLength = __w_pdfjs_require__(47);\n\n var toAbsoluteIndex = __w_pdfjs_require__(49);\n\n var createMethod = function createMethod(IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($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) && O[index] === el) return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n };\n\n module.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n };\n /***/\n },\n /* 47 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var toInteger = __w_pdfjs_require__(48);\n\n var min = Math.min;\n\n module.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n };\n /***/\n\n },\n /* 48 */\n\n /***/\n function (module, exports) {\n var ceil = Math.ceil;\n var floor = Math.floor;\n\n module.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n };\n /***/\n\n },\n /* 49 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var toInteger = __w_pdfjs_require__(48);\n\n var max = Math.max;\n var min = Math.min;\n\n module.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n };\n /***/\n\n },\n /* 50 */\n\n /***/\n function (module, exports) {\n module.exports = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf'];\n /***/\n },\n /* 51 */\n\n /***/\n function (module, exports) {\n exports.f = Object.getOwnPropertySymbols;\n /***/\n },\n /* 52 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var fails = __w_pdfjs_require__(14);\n\n var replacement = /#|\\.prototype\\./;\n\n var isForced = function isForced(feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n };\n\n var normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n };\n\n var data = isForced.data = {};\n var NATIVE = isForced.NATIVE = 'N';\n var POLYFILL = isForced.POLYFILL = 'P';\n module.exports = isForced;\n /***/\n },\n /* 53 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(54);\n\n var entryUnbind = __w_pdfjs_require__(61);\n\n module.exports = entryUnbind('String', 'startsWith');\n /***/\n },\n /* 54 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\n\n var toLength = __w_pdfjs_require__(47);\n\n var notARegExp = __w_pdfjs_require__(55);\n\n var requireObjectCoercible = __w_pdfjs_require__(20);\n\n var correctIsRegExpLogic = __w_pdfjs_require__(60);\n\n var IS_PURE = __w_pdfjs_require__(37);\n\n var nativeStartsWith = ''.startsWith;\n var min = Math.min;\n var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n }();\n $({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n }, {\n startsWith: function startsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;\n }\n });\n /***/\n },\n /* 55 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var isRegExp = __w_pdfjs_require__(56);\n\n module.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n\n return it;\n };\n /***/\n\n },\n /* 56 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var isObject = __w_pdfjs_require__(22);\n\n var classof = __w_pdfjs_require__(19);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var MATCH = wellKnownSymbol('match');\n\n module.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n };\n /***/\n\n },\n /* 57 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var shared = __w_pdfjs_require__(36);\n\n var has = __w_pdfjs_require__(23);\n\n var uid = __w_pdfjs_require__(38);\n\n var NATIVE_SYMBOL = __w_pdfjs_require__(58);\n\n var USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\n\n var WellKnownSymbolsStore = shared('wks');\n var _Symbol = global.Symbol;\n var createWellKnownSymbol = USE_SYMBOL_AS_UID ? _Symbol : _Symbol && _Symbol.withoutSetter || uid;\n\n module.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(_Symbol, name)) WellKnownSymbolsStore[name] = _Symbol[name];else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n\n return WellKnownSymbolsStore[name];\n };\n /***/\n\n },\n /* 58 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var fails = __w_pdfjs_require__(14);\n\n module.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n });\n /***/\n },\n /* 59 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var NATIVE_SYMBOL = __w_pdfjs_require__(58);\n\n module.exports = NATIVE_SYMBOL && !Symbol.sham && _typeof2(Symbol.iterator) == 'symbol';\n /***/\n },\n /* 60 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var MATCH = wellKnownSymbol('match');\n\n module.exports = function (METHOD_NAME) {\n var regexp = /./;\n\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) {}\n }\n\n return false;\n };\n /***/\n\n },\n /* 61 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var bind = __w_pdfjs_require__(62);\n\n var call = Function.call;\n\n module.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n };\n /***/\n\n },\n /* 62 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var aFunction = __w_pdfjs_require__(63);\n\n module.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n\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 },\n /* 63 */\n\n /***/\n function (module, exports) {\n module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n\n return it;\n };\n /***/\n\n },\n /* 64 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(65);\n\n var entryUnbind = __w_pdfjs_require__(61);\n\n module.exports = entryUnbind('String', 'endsWith');\n /***/\n },\n /* 65 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\n\n var toLength = __w_pdfjs_require__(47);\n\n var notARegExp = __w_pdfjs_require__(55);\n\n var requireObjectCoercible = __w_pdfjs_require__(20);\n\n var correctIsRegExpLogic = __w_pdfjs_require__(60);\n\n var IS_PURE = __w_pdfjs_require__(37);\n\n var nativeEndsWith = ''.endsWith;\n var min = Math.min;\n var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n }();\n $({\n target: 'String',\n proto: true,\n forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC\n }, {\n endsWith: function endsWith(searchString) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;\n }\n });\n /***/\n },\n /* 66 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(67);\n\n var entryUnbind = __w_pdfjs_require__(61);\n\n module.exports = entryUnbind('String', 'includes');\n /***/\n },\n /* 67 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var notARegExp = __w_pdfjs_require__(55);\n\n var requireObjectCoercible = __w_pdfjs_require__(20);\n\n var correctIsRegExpLogic = __w_pdfjs_require__(60);\n\n $({\n target: 'String',\n proto: true,\n forced: !correctIsRegExpLogic('includes')\n }, {\n includes: function includes(searchString) {\n return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n });\n /***/\n },\n /* 68 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(69);\n\n var entryUnbind = __w_pdfjs_require__(61);\n\n module.exports = entryUnbind('Array', 'includes');\n /***/\n },\n /* 69 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var $includes = __w_pdfjs_require__(46).includes;\n\n var addToUnscopables = __w_pdfjs_require__(70);\n\n var arrayMethodUsesToLength = __w_pdfjs_require__(75);\n\n var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {\n ACCESSORS: true,\n 1: 0\n });\n $({\n target: 'Array',\n proto: true,\n forced: !USES_TO_LENGTH\n }, {\n includes: function includes(el) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n });\n addToUnscopables('includes');\n /***/\n },\n /* 70 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var create = __w_pdfjs_require__(71);\n\n var definePropertyModule = __w_pdfjs_require__(27);\n\n var UNSCOPABLES = wellKnownSymbol('unscopables');\n var ArrayPrototype = Array.prototype;\n\n if (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n }\n\n module.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n };\n /***/\n\n },\n /* 71 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var anObject = __w_pdfjs_require__(28);\n\n var defineProperties = __w_pdfjs_require__(72);\n\n var enumBugKeys = __w_pdfjs_require__(50);\n\n var hiddenKeys = __w_pdfjs_require__(39);\n\n var html = __w_pdfjs_require__(74);\n\n var documentCreateElement = __w_pdfjs_require__(25);\n\n var sharedKey = __w_pdfjs_require__(35);\n\n var GT = '>';\n var LT = '<';\n var PROTOTYPE = 'prototype';\n var SCRIPT = 'script';\n var IE_PROTO = sharedKey('IE_PROTO');\n\n var EmptyConstructor = function EmptyConstructor() {};\n\n var scriptTag = function scriptTag(content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n };\n\n var NullProtoObjectViaActiveX = function NullProtoObjectViaActiveX(activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n };\n\n var NullProtoObjectViaIFrame = function NullProtoObjectViaIFrame() {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n };\n\n var activeXDocument;\n\n var _NullProtoObject = function NullProtoObject() {\n try {\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {}\n\n _NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n\n while (length--) {\n delete _NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n }\n\n return _NullProtoObject();\n };\n\n hiddenKeys[IE_PROTO] = true;\n\n module.exports = Object.create || function create(O, Properties) {\n var result;\n\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else result = _NullProtoObject();\n\n return Properties === undefined ? result : defineProperties(result, Properties);\n };\n /***/\n\n },\n /* 72 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var definePropertyModule = __w_pdfjs_require__(27);\n\n var anObject = __w_pdfjs_require__(28);\n\n var objectKeys = __w_pdfjs_require__(73);\n\n module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n\n while (length > index) {\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n }\n\n return O;\n };\n /***/\n },\n /* 73 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var internalObjectKeys = __w_pdfjs_require__(45);\n\n var enumBugKeys = __w_pdfjs_require__(50);\n\n module.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n };\n /***/\n\n },\n /* 74 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var getBuiltIn = __w_pdfjs_require__(42);\n\n module.exports = getBuiltIn('document', 'documentElement');\n /***/\n },\n /* 75 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var fails = __w_pdfjs_require__(14);\n\n var has = __w_pdfjs_require__(23);\n\n var defineProperty = Object.defineProperty;\n var cache = {};\n\n var thrower = function thrower(it) {\n throw it;\n };\n\n module.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = {\n length: -1\n };\n if (ACCESSORS) defineProperty(O, 1, {\n enumerable: true,\n get: thrower\n });else O[1] = 1;\n method.call(O, argument0, argument1);\n });\n };\n /***/\n\n },\n /* 76 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(77);\n\n __w_pdfjs_require__(89);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Array.from;\n /***/\n },\n /* 77 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var charAt = __w_pdfjs_require__(78).charAt;\n\n var InternalStateModule = __w_pdfjs_require__(33);\n\n var defineIterator = __w_pdfjs_require__(79);\n\n var STRING_ITERATOR = 'String Iterator';\n var setInternalState = InternalStateModule.set;\n var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n defineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n }, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return {\n value: undefined,\n done: true\n };\n point = charAt(string, index);\n state.index += point.length;\n return {\n value: point,\n done: false\n };\n });\n /***/\n },\n /* 78 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var toInteger = __w_pdfjs_require__(48);\n\n var requireObjectCoercible = __w_pdfjs_require__(20);\n\n var createMethod = function createMethod(CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n };\n\n module.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n };\n /***/\n },\n /* 79 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var createIteratorConstructor = __w_pdfjs_require__(80);\n\n var getPrototypeOf = __w_pdfjs_require__(82);\n\n var setPrototypeOf = __w_pdfjs_require__(87);\n\n var setToStringTag = __w_pdfjs_require__(85);\n\n var createNonEnumerableProperty = __w_pdfjs_require__(26);\n\n var redefine = __w_pdfjs_require__(29);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var IS_PURE = __w_pdfjs_require__(37);\n\n var Iterators = __w_pdfjs_require__(86);\n\n var IteratorsCore = __w_pdfjs_require__(81);\n\n var IteratorPrototype = IteratorsCore.IteratorPrototype;\n var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\n var ITERATOR = wellKnownSymbol('iterator');\n var KEYS = 'keys';\n var VALUES = 'values';\n var ENTRIES = 'entries';\n\n var returnThis = function returnThis() {\n return this;\n };\n\n module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function getIterationMethod(KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n\n return function () {\n return new IteratorConstructor(this);\n };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n\n Iterators[NAME] = defaultIterator;\n\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n\n return methods;\n };\n /***/\n\n },\n /* 80 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\n\n var create = __w_pdfjs_require__(71);\n\n var createPropertyDescriptor = __w_pdfjs_require__(16);\n\n var setToStringTag = __w_pdfjs_require__(85);\n\n var Iterators = __w_pdfjs_require__(86);\n\n var returnThis = function returnThis() {\n return this;\n };\n\n module.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, {\n next: createPropertyDescriptor(1, next)\n });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n };\n /***/\n\n },\n /* 81 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var getPrototypeOf = __w_pdfjs_require__(82);\n\n var createNonEnumerableProperty = __w_pdfjs_require__(26);\n\n var has = __w_pdfjs_require__(23);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var IS_PURE = __w_pdfjs_require__(37);\n\n var ITERATOR = wellKnownSymbol('iterator');\n var BUGGY_SAFARI_ITERATORS = false;\n\n var returnThis = function returnThis() {\n return this;\n };\n\n var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n if ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n }\n\n if (IteratorPrototype == undefined) IteratorPrototype = {};\n\n if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n }\n\n module.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n };\n /***/\n },\n /* 82 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var has = __w_pdfjs_require__(23);\n\n var toObject = __w_pdfjs_require__(83);\n\n var sharedKey = __w_pdfjs_require__(35);\n\n var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\n\n var IE_PROTO = sharedKey('IE_PROTO');\n var ObjectPrototype = Object.prototype;\n module.exports = CORRECT_PROTOTYPE_GETTER ? 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 ? ObjectPrototype : null;\n };\n /***/\n },\n /* 83 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var requireObjectCoercible = __w_pdfjs_require__(20);\n\n module.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n };\n /***/\n\n },\n /* 84 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var fails = __w_pdfjs_require__(14);\n\n module.exports = !fails(function () {\n function F() {}\n\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n });\n /***/\n },\n /* 85 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineProperty = __w_pdfjs_require__(27).f;\n\n var has = __w_pdfjs_require__(23);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\n module.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n };\n /***/\n\n },\n /* 86 */\n\n /***/\n function (module, exports) {\n module.exports = {};\n /***/\n },\n /* 87 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var anObject = __w_pdfjs_require__(28);\n\n var aPossiblePrototype = __w_pdfjs_require__(88);\n\n module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {}\n\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);else O.__proto__ = proto;\n return O;\n };\n }() : undefined);\n /***/\n },\n /* 88 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var isObject = __w_pdfjs_require__(22);\n\n module.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n\n return it;\n };\n /***/\n\n },\n /* 89 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var $ = __w_pdfjs_require__(10);\n\n var from = __w_pdfjs_require__(90);\n\n var checkCorrectnessOfIteration = __w_pdfjs_require__(97);\n\n var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n });\n $({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n }, {\n from: from\n });\n /***/\n },\n /* 90 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var bind = __w_pdfjs_require__(62);\n\n var toObject = __w_pdfjs_require__(83);\n\n var callWithSafeIterationClosing = __w_pdfjs_require__(91);\n\n var isArrayIteratorMethod = __w_pdfjs_require__(92);\n\n var toLength = __w_pdfjs_require__(47);\n\n var createProperty = __w_pdfjs_require__(93);\n\n var getIteratorMethod = __w_pdfjs_require__(94);\n\n module.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n\n for (; !(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n\n for (; length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n\n result.length = index;\n return result;\n };\n /***/\n\n },\n /* 91 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var anObject = __w_pdfjs_require__(28);\n\n module.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n };\n /***/\n\n },\n /* 92 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var Iterators = __w_pdfjs_require__(86);\n\n var ITERATOR = wellKnownSymbol('iterator');\n var ArrayPrototype = Array.prototype;\n\n module.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n };\n /***/\n\n },\n /* 93 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toPrimitive = __w_pdfjs_require__(21);\n\n var definePropertyModule = __w_pdfjs_require__(27);\n\n var createPropertyDescriptor = __w_pdfjs_require__(16);\n\n module.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));else object[propertyKey] = value;\n };\n /***/\n\n },\n /* 94 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var classof = __w_pdfjs_require__(95);\n\n var Iterators = __w_pdfjs_require__(86);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var ITERATOR = wellKnownSymbol('iterator');\n\n module.exports = function (it) {\n if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n };\n /***/\n\n },\n /* 95 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\n\n var classofRaw = __w_pdfjs_require__(19);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n var CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n }()) == 'Arguments';\n\n var tryGet = function tryGet(it, key) {\n try {\n return it[key];\n } catch (error) {}\n };\n\n module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n };\n /***/\n },\n /* 96 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n var test = {};\n test[TO_STRING_TAG] = 'z';\n module.exports = String(test) === '[object z]';\n /***/\n },\n /* 97 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var ITERATOR = wellKnownSymbol('iterator');\n var SAFE_CLOSING = false;\n\n try {\n var called = 0;\n var iteratorWithReturn = {\n next: function next() {\n return {\n done: !!called++\n };\n },\n 'return': function _return() {\n SAFE_CLOSING = true;\n }\n };\n\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n } catch (error) {}\n\n module.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n\n try {\n var object = {};\n\n object[ITERATOR] = function () {\n return {\n next: function next() {\n return {\n done: ITERATION_SUPPORT = true\n };\n }\n };\n };\n\n exec(object);\n } catch (error) {}\n\n return ITERATION_SUPPORT;\n };\n /***/\n\n },\n /* 98 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(99);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Object.assign;\n /***/\n },\n /* 99 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var $ = __w_pdfjs_require__(10);\n\n var assign = __w_pdfjs_require__(100);\n\n $({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n }, {\n assign: assign\n });\n /***/\n },\n /* 100 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var fails = __w_pdfjs_require__(14);\n\n var objectKeys = __w_pdfjs_require__(73);\n\n var getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\n\n var propertyIsEnumerableModule = __w_pdfjs_require__(15);\n\n var toObject = __w_pdfjs_require__(83);\n\n var IndexedObject = __w_pdfjs_require__(18);\n\n var nativeAssign = Object.assign;\n var defineProperty = Object.defineProperty;\n module.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({\n b: 1\n }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function get() {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), {\n b: 2\n })).b !== 1) return true;\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n }) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(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 || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n }\n\n return T;\n } : nativeAssign;\n /***/\n },\n /* 101 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(102);\n\n __w_pdfjs_require__(103);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Object.fromEntries;\n /***/\n },\n /* 102 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toIndexedObject = __w_pdfjs_require__(17);\n\n var addToUnscopables = __w_pdfjs_require__(70);\n\n var Iterators = __w_pdfjs_require__(86);\n\n var InternalStateModule = __w_pdfjs_require__(33);\n\n var defineIterator = __w_pdfjs_require__(79);\n\n var ARRAY_ITERATOR = 'Array Iterator';\n var setInternalState = InternalStateModule.set;\n var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n module.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n }, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n\n if (kind == 'keys') return {\n value: index,\n done: false\n };\n if (kind == 'values') return {\n value: target[index],\n done: false\n };\n return {\n value: [index, target[index]],\n done: false\n };\n }, 'values');\n Iterators.Arguments = Iterators.Array;\n addToUnscopables('keys');\n addToUnscopables('values');\n addToUnscopables('entries');\n /***/\n },\n /* 103 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var $ = __w_pdfjs_require__(10);\n\n var iterate = __w_pdfjs_require__(104);\n\n var createProperty = __w_pdfjs_require__(93);\n\n $({\n target: 'Object',\n stat: true\n }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, undefined, true);\n return obj;\n }\n });\n /***/\n },\n /* 104 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var anObject = __w_pdfjs_require__(28);\n\n var isArrayIteratorMethod = __w_pdfjs_require__(92);\n\n var toLength = __w_pdfjs_require__(47);\n\n var bind = __w_pdfjs_require__(62);\n\n var getIteratorMethod = __w_pdfjs_require__(94);\n\n var callWithSafeIterationClosing = __w_pdfjs_require__(91);\n\n var Result = function Result(stopped, result) {\n this.stopped = stopped;\n this.result = result;\n };\n\n var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n }\n\n return new Result(false);\n }\n\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (_typeof2(result) == 'object' && result && result instanceof Result) return result;\n }\n\n return new Result(false);\n };\n\n iterate.stop = function (result) {\n return new Result(true, result);\n };\n /***/\n\n },\n /* 105 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(106);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Math.log2;\n /***/\n },\n /* 106 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var $ = __w_pdfjs_require__(10);\n\n var log = Math.log;\n var LN2 = Math.LN2;\n $({\n target: 'Math',\n stat: true\n }, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n });\n /***/\n },\n /* 107 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(108);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Number.isNaN;\n /***/\n },\n /* 108 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var $ = __w_pdfjs_require__(10);\n\n $({\n target: 'Number',\n stat: true\n }, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n });\n /***/\n },\n /* 109 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(110);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Number.isInteger;\n /***/\n },\n /* 110 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var $ = __w_pdfjs_require__(10);\n\n var isInteger = __w_pdfjs_require__(111);\n\n $({\n target: 'Number',\n stat: true\n }, {\n isInteger: isInteger\n });\n /***/\n },\n /* 111 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var isObject = __w_pdfjs_require__(22);\n\n var floor = Math.floor;\n\n module.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n };\n /***/\n\n },\n /* 112 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(113);\n /***/\n\n },\n /* 113 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var ArrayBufferViewCore = __w_pdfjs_require__(114);\n\n var speciesConstructor = __w_pdfjs_require__(116);\n\n var fails = __w_pdfjs_require__(14);\n\n var aTypedArray = ArrayBufferViewCore.aTypedArray;\n var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\n var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n var $slice = [].slice;\n var FORCED = fails(function () {\n new Int8Array(1).slice();\n });\n exportTypedArrayMethod('slice', function slice(start, end) {\n var list = $slice.call(aTypedArray(this), start, end);\n var C = speciesConstructor(this, this.constructor);\n var index = 0;\n var length = list.length;\n var result = new (aTypedArrayConstructor(C))(length);\n\n while (length > index) {\n result[index] = list[index++];\n }\n\n return result;\n }, FORCED);\n /***/\n },\n /* 114 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(115);\n\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var global = __w_pdfjs_require__(11);\n\n var isObject = __w_pdfjs_require__(22);\n\n var has = __w_pdfjs_require__(23);\n\n var classof = __w_pdfjs_require__(95);\n\n var createNonEnumerableProperty = __w_pdfjs_require__(26);\n\n var redefine = __w_pdfjs_require__(29);\n\n var defineProperty = __w_pdfjs_require__(27).f;\n\n var getPrototypeOf = __w_pdfjs_require__(82);\n\n var setPrototypeOf = __w_pdfjs_require__(87);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var uid = __w_pdfjs_require__(38);\n\n var Int8Array = global.Int8Array;\n var Int8ArrayPrototype = Int8Array && Int8Array.prototype;\n var Uint8ClampedArray = global.Uint8ClampedArray;\n var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\n var TypedArray = Int8Array && getPrototypeOf(Int8Array);\n var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\n var ObjectPrototype = Object.prototype;\n var isPrototypeOf = ObjectPrototype.isPrototypeOf;\n var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\n var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\n var TYPED_ARRAY_TAG_REQIRED = false;\n var NAME;\n var TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n };\n\n var isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n };\n\n var isTypedArray = function isTypedArray(it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n };\n\n var aTypedArray = function aTypedArray(it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n };\n\n var aTypedArrayConstructor = function aTypedArrayConstructor(C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C)) return C;\n } else for (var ARRAY in TypedArrayConstructorsList) {\n if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n }\n }\n\n throw TypeError('Target is not a typed array constructor');\n };\n\n var exportTypedArrayMethod = function exportTypedArrayMethod(KEY, property, forced) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n };\n\n var exportTypedArrayStaticMethod = function exportTypedArrayStaticMethod(KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\n }\n }\n\n if (!TypedArray[KEY] || forced) {\n try {\n return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);\n } catch (error) {}\n } else return;\n }\n\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n };\n\n for (NAME in TypedArrayConstructorsList) {\n if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;\n }\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n }\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n }\n\n if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n }\n\n if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function get() {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n }\n }\n\n module.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n };\n /***/\n },\n /* 115 */\n\n /***/\n function (module, exports) {\n module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n /***/\n },\n /* 116 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var anObject = __w_pdfjs_require__(28);\n\n var aFunction = __w_pdfjs_require__(63);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var SPECIES = wellKnownSymbol('species');\n\n module.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n };\n /***/\n\n },\n /* 117 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(118);\n\n __w_pdfjs_require__(77);\n\n __w_pdfjs_require__(120);\n\n __w_pdfjs_require__(122);\n\n __w_pdfjs_require__(136);\n\n __w_pdfjs_require__(137);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Promise;\n /***/\n },\n /* 118 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\n\n var redefine = __w_pdfjs_require__(29);\n\n var toString = __w_pdfjs_require__(119);\n\n if (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, {\n unsafe: true\n });\n }\n /***/\n\n },\n /* 119 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\n\n var classof = __w_pdfjs_require__(95);\n\n module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n };\n /***/\n },\n /* 120 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var DOMIterables = __w_pdfjs_require__(121);\n\n var ArrayIteratorMethods = __w_pdfjs_require__(102);\n\n var createNonEnumerableProperty = __w_pdfjs_require__(26);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var ITERATOR = wellKnownSymbol('iterator');\n var TO_STRING_TAG = wellKnownSymbol('toStringTag');\n var ArrayValues = ArrayIteratorMethods.values;\n\n for (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n }\n /***/\n\n },\n /* 121 */\n\n /***/\n function (module, exports) {\n module.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n };\n /***/\n },\n /* 122 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var IS_PURE = __w_pdfjs_require__(37);\n\n var global = __w_pdfjs_require__(11);\n\n var getBuiltIn = __w_pdfjs_require__(42);\n\n var NativePromise = __w_pdfjs_require__(123);\n\n var redefine = __w_pdfjs_require__(29);\n\n var redefineAll = __w_pdfjs_require__(124);\n\n var setToStringTag = __w_pdfjs_require__(85);\n\n var setSpecies = __w_pdfjs_require__(125);\n\n var isObject = __w_pdfjs_require__(22);\n\n var aFunction = __w_pdfjs_require__(63);\n\n var anInstance = __w_pdfjs_require__(126);\n\n var classof = __w_pdfjs_require__(19);\n\n var inspectSource = __w_pdfjs_require__(31);\n\n var iterate = __w_pdfjs_require__(104);\n\n var checkCorrectnessOfIteration = __w_pdfjs_require__(97);\n\n var speciesConstructor = __w_pdfjs_require__(116);\n\n var task = __w_pdfjs_require__(127).set;\n\n var microtask = __w_pdfjs_require__(130);\n\n var promiseResolve = __w_pdfjs_require__(131);\n\n var hostReportErrors = __w_pdfjs_require__(133);\n\n var newPromiseCapabilityModule = __w_pdfjs_require__(132);\n\n var perform = __w_pdfjs_require__(134);\n\n var InternalStateModule = __w_pdfjs_require__(33);\n\n var isForced = __w_pdfjs_require__(52);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var V8_VERSION = __w_pdfjs_require__(135);\n\n var SPECIES = wellKnownSymbol('species');\n var PROMISE = 'Promise';\n var getInternalState = InternalStateModule.get;\n var setInternalState = InternalStateModule.set;\n var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\n var PromiseConstructor = NativePromise;\n var TypeError = global.TypeError;\n var document = global.document;\n var process = global.process;\n var $fetch = getBuiltIn('fetch');\n var newPromiseCapability = newPromiseCapabilityModule.f;\n var newGenericPromiseCapability = newPromiseCapability;\n var IS_NODE = classof(process) == 'process';\n var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\n var UNHANDLED_REJECTION = 'unhandledrejection';\n var REJECTION_HANDLED = 'rejectionhandled';\n var PENDING = 0;\n var FULFILLED = 1;\n var REJECTED = 2;\n var HANDLED = 1;\n var UNHANDLED = 2;\n var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n var FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n\n if (!GLOBAL_CORE_JS_PROMISE) {\n if (V8_VERSION === 66) return true;\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n var promise = PromiseConstructor.resolve(1);\n\n var FakePromise = function FakePromise(exec) {\n exec(function () {}, function () {});\n };\n\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {}) instanceof FakePromise);\n });\n var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {});\n });\n\n var isThenable = function isThenable(it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n };\n\n var notify = function notify(promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n\n while (chain.length > index) {\n var reaction = chain[index++];\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 (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\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 (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n };\n\n var dispatchEvent = function dispatchEvent(name, promise, reason) {\n var event, handler;\n\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = {\n promise: promise,\n reason: reason\n };\n\n if (handler = global['on' + name]) handler(event);else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n };\n\n var onUnhandled = function onUnhandled(promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n };\n\n var isUnhandled = function isUnhandled(state) {\n return state.rejection !== HANDLED && !state.parent;\n };\n\n var onHandleUnhandled = function onHandleUnhandled(promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n };\n\n var bind = function bind(fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n };\n\n var internalReject = function internalReject(promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n };\n\n var internalResolve = function internalResolve(promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n\n if (then) {\n microtask(function () {\n var wrapper = {\n done: false\n };\n\n try {\n then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, {\n done: false\n }, error, state);\n }\n };\n\n if (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, 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 var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n }, {\n unsafe: true\n });\n if (typeof $fetch == 'function') $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n }\n\n $({\n global: true,\n wrap: true,\n forced: FORCED\n }, {\n Promise: PromiseConstructor\n });\n setToStringTag(PromiseConstructor, PROMISE, false, true);\n setSpecies(PROMISE);\n PromiseWrapper = getBuiltIn(PROMISE);\n $({\n target: PROMISE,\n stat: true,\n forced: FORCED\n }, {\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n });\n $({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n }, {\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n });\n $({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n }, {\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 $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n });\n /***/\n },\n /* 123 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n module.exports = global.Promise;\n /***/\n },\n /* 124 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var redefine = __w_pdfjs_require__(29);\n\n module.exports = function (target, src, options) {\n for (var key in src) {\n redefine(target, key, src[key], options);\n }\n\n return target;\n };\n /***/\n\n },\n /* 125 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var getBuiltIn = __w_pdfjs_require__(42);\n\n var definePropertyModule = __w_pdfjs_require__(27);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var SPECIES = wellKnownSymbol('species');\n\n module.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function get() {\n return this;\n }\n });\n }\n };\n /***/\n\n },\n /* 126 */\n\n /***/\n function (module, exports) {\n module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n\n return it;\n };\n /***/\n\n },\n /* 127 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var fails = __w_pdfjs_require__(14);\n\n var classof = __w_pdfjs_require__(19);\n\n var bind = __w_pdfjs_require__(62);\n\n var html = __w_pdfjs_require__(74);\n\n var createElement = __w_pdfjs_require__(25);\n\n var IS_IOS = __w_pdfjs_require__(128);\n\n var location = global.location;\n var set = global.setImmediate;\n var clear = global.clearImmediate;\n var process = global.process;\n var MessageChannel = global.MessageChannel;\n var Dispatch = global.Dispatch;\n var counter = 0;\n var queue = {};\n var ONREADYSTATECHANGE = 'onreadystatechange';\n var defer, channel, port;\n\n var run = function run(id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n };\n\n var runner = function runner(id) {\n return function () {\n run(id);\n };\n };\n\n var listener = function listener(event) {\n run(event.data);\n };\n\n var post = function post(id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n };\n\n if (!set || !clear) {\n set = 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 (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n\n defer(counter);\n return counter;\n };\n\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n\n if (classof(process) == 'process') {\n defer = function defer(id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function defer(id) {\n Dispatch.now(runner(id));\n };\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post) && location.protocol !== 'file:') {\n defer = post;\n global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function defer(id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function defer(id) {\n setTimeout(runner(id), 0);\n };\n }\n }\n\n module.exports = {\n set: set,\n clear: clear\n };\n /***/\n },\n /* 128 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var userAgent = __w_pdfjs_require__(129);\n\n module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n /***/\n },\n /* 129 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var getBuiltIn = __w_pdfjs_require__(42);\n\n module.exports = getBuiltIn('navigator', 'userAgent') || '';\n /***/\n },\n /* 130 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\n\n var classof = __w_pdfjs_require__(19);\n\n var macrotask = __w_pdfjs_require__(127).set;\n\n var IS_IOS = __w_pdfjs_require__(128);\n\n var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\n var process = global.process;\n var Promise = global.Promise;\n var IS_NODE = classof(process) == 'process';\n var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\n var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n var flush, head, last, notify, toggle, node, promise, then;\n\n if (!queueMicrotask) {\n flush = function flush() {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n\n while (head) {\n fn = head.fn;\n head = head.next;\n\n try {\n fn();\n } catch (error) {\n if (head) notify();else last = undefined;\n throw error;\n }\n }\n\n last = undefined;\n if (parent) parent.enter();\n };\n\n if (IS_NODE) {\n notify = function notify() {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(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 promise = Promise.resolve(undefined);\n then = promise.then;\n\n notify = function notify() {\n then.call(promise, flush);\n };\n } else {\n notify = function notify() {\n macrotask.call(global, flush);\n };\n }\n }\n\n module.exports = queueMicrotask || 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 /* 131 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var anObject = __w_pdfjs_require__(28);\n\n var isObject = __w_pdfjs_require__(22);\n\n var newPromiseCapability = __w_pdfjs_require__(132);\n\n module.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 },\n /* 132 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var aFunction = __w_pdfjs_require__(63);\n\n var PromiseCapability = function 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\n module.exports.f = function (C) {\n return new PromiseCapability(C);\n };\n /***/\n\n },\n /* 133 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n module.exports = function (a, b) {\n var console = global.console;\n\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n };\n /***/\n\n },\n /* 134 */\n\n /***/\n function (module, exports) {\n module.exports = function (exec) {\n try {\n return {\n error: false,\n value: exec()\n };\n } catch (error) {\n return {\n error: true,\n value: error\n };\n }\n };\n /***/\n\n },\n /* 135 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var userAgent = __w_pdfjs_require__(129);\n\n var process = global.process;\n var versions = process && process.versions;\n var v8 = versions && versions.v8;\n var match, version;\n\n if (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n } else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n }\n\n module.exports = version && +version;\n /***/\n },\n /* 136 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var aFunction = __w_pdfjs_require__(63);\n\n var newPromiseCapabilityModule = __w_pdfjs_require__(132);\n\n var perform = __w_pdfjs_require__(134);\n\n var iterate = __w_pdfjs_require__(104);\n\n $({\n target: 'Promise',\n stat: true\n }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = {\n status: 'rejected',\n reason: e\n };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n });\n /***/\n },\n /* 137 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var IS_PURE = __w_pdfjs_require__(37);\n\n var NativePromise = __w_pdfjs_require__(123);\n\n var fails = __w_pdfjs_require__(14);\n\n var getBuiltIn = __w_pdfjs_require__(42);\n\n var speciesConstructor = __w_pdfjs_require__(116);\n\n var promiseResolve = __w_pdfjs_require__(131);\n\n var redefine = __w_pdfjs_require__(29);\n\n var NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function then() {}\n }, function () {});\n });\n $({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n }, {\n 'finally': function _finally(onFinally) {\n var C = speciesConstructor(this, getBuiltIn('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 if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n }\n /***/\n\n },\n /* 138 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(139);\n\n __w_pdfjs_require__(144);\n\n __w_pdfjs_require__(142);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.URL;\n /***/\n },\n /* 139 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(77);\n\n var $ = __w_pdfjs_require__(10);\n\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var USE_NATIVE_URL = __w_pdfjs_require__(140);\n\n var global = __w_pdfjs_require__(11);\n\n var defineProperties = __w_pdfjs_require__(72);\n\n var redefine = __w_pdfjs_require__(29);\n\n var anInstance = __w_pdfjs_require__(126);\n\n var has = __w_pdfjs_require__(23);\n\n var assign = __w_pdfjs_require__(100);\n\n var arrayFrom = __w_pdfjs_require__(90);\n\n var codeAt = __w_pdfjs_require__(78).codeAt;\n\n var toASCII = __w_pdfjs_require__(141);\n\n var setToStringTag = __w_pdfjs_require__(85);\n\n var URLSearchParamsModule = __w_pdfjs_require__(142);\n\n var InternalStateModule = __w_pdfjs_require__(33);\n\n var NativeURL = global.URL;\n var URLSearchParams = URLSearchParamsModule.URLSearchParams;\n var getInternalSearchParamsState = URLSearchParamsModule.getState;\n var setInternalState = InternalStateModule.set;\n var getInternalURLState = InternalStateModule.getterFor('URL');\n var floor = Math.floor;\n var pow = Math.pow;\n var INVALID_AUTHORITY = 'Invalid authority';\n var INVALID_SCHEME = 'Invalid scheme';\n var INVALID_HOST = 'Invalid host';\n var INVALID_PORT = 'Invalid port';\n var ALPHA = /[A-Za-z]/;\n var ALPHANUMERIC = /[\\d+-.A-Za-z]/;\n var DIGIT = /\\d/;\n var HEX_START = /^(0x|0X)/;\n var OCT = /^[0-7]+$/;\n var DEC = /^\\d+$/;\n var HEX = /^[\\dA-Fa-f]+$/;\n var FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n var TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\n var EOF;\n\n var parseHost = function parseHost(url, input) {\n var result, codePoints, index;\n\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n };\n\n var parseIPv4 = function parseIPv4(input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n\n numbers.push(number);\n }\n\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n\n ipv4 = numbers.pop();\n\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n\n return ipv4;\n };\n\n var parseIPv6 = function parseIPv6(input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var _char2 = function _char2() {\n return input.charAt(pointer);\n };\n\n if (_char2() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n\n while (_char2()) {\n if (pieceIndex == 8) return;\n\n if (_char2() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n\n value = length = 0;\n\n while (length < 4 && HEX.test(_char2())) {\n value = value * 16 + parseInt(_char2(), 16);\n pointer++;\n length++;\n }\n\n if (_char2() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n\n while (_char2()) {\n ipv4Piece = null;\n\n if (numbersSeen > 0) {\n if (_char2() == '.' && numbersSeen < 4) pointer++;else return;\n }\n\n if (!DIGIT.test(_char2())) return;\n\n while (DIGIT.test(_char2())) {\n number = parseInt(_char2(), 10);\n if (ipv4Piece === null) ipv4Piece = number;else if (ipv4Piece == 0) return;else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n\n if (numbersSeen != 4) return;\n break;\n } else if (_char2() == ':') {\n pointer++;\n if (!_char2()) return;\n } else if (_char2()) return;\n\n address[pieceIndex++] = value;\n }\n\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n\n return address;\n };\n\n var findLongestZeroSequence = function findLongestZeroSequence(ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n\n return maxIndex;\n };\n\n var serializeHost = function serializeHost(host) {\n var result, index, compress, ignore0;\n\n if (typeof host == 'number') {\n result = [];\n\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n\n return result.join('.');\n } else if (_typeof2(host) == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n\n return '[' + result + ']';\n }\n\n return host;\n };\n\n var C0ControlPercentEncodeSet = {};\n var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n });\n var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n });\n var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n });\n\n var percentEncode = function percentEncode(_char3, set) {\n var code = codeAt(_char3, 0);\n return code > 0x20 && code < 0x7F && !has(set, _char3) ? _char3 : encodeURIComponent(_char3);\n };\n\n var specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n };\n\n var isSpecial = function isSpecial(url) {\n return has(specialSchemes, url.scheme);\n };\n\n var includesCredentials = function includesCredentials(url) {\n return url.username != '' || url.password != '';\n };\n\n var cannotHaveUsernamePasswordPort = function cannotHaveUsernamePasswordPort(url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n };\n\n var isWindowsDriveLetter = function isWindowsDriveLetter(string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n };\n\n var startsWithWindowsDriveLetter = function startsWithWindowsDriveLetter(string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || (third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#');\n };\n\n var shortenURLsPath = function shortenURLsPath(url) {\n var path = url.path;\n var pathSize = path.length;\n\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n };\n\n var isSingleDot = function isSingleDot(segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n };\n\n var isDoubleDot = function isDoubleDot(segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n };\n\n var SCHEME_START = {};\n var SCHEME = {};\n var NO_SCHEME = {};\n var SPECIAL_RELATIVE_OR_AUTHORITY = {};\n var PATH_OR_AUTHORITY = {};\n var RELATIVE = {};\n var RELATIVE_SLASH = {};\n var SPECIAL_AUTHORITY_SLASHES = {};\n var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\n var AUTHORITY = {};\n var HOST = {};\n var HOSTNAME = {};\n var PORT = {};\n var FILE = {};\n var FILE_SLASH = {};\n var FILE_HOST = {};\n var PATH_START = {};\n var PATH = {};\n var CANNOT_BE_A_BASE_URL_PATH = {};\n var QUERY = {};\n var FRAGMENT = {};\n\n var parseURL = function parseURL(url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n\n var codePoints, _char4, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n _char4 = codePoints[pointer];\n\n switch (state) {\n case SCHEME_START:\n if (_char4 && ALPHA.test(_char4)) {\n buffer += _char4.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n\n break;\n\n case SCHEME:\n if (_char4 && (ALPHANUMERIC.test(_char4) || _char4 == '+' || _char4 == '-' || _char4 == '.')) {\n buffer += _char4.toLowerCase();\n } else if (_char4 == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host)) return;\n url.scheme = buffer;\n\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n\n buffer = '';\n\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n\n break;\n\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && _char4 != '#') return INVALID_SCHEME;\n\n if (base.cannotBeABaseURL && _char4 == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (_char4 == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n\n break;\n\n case PATH_OR_AUTHORITY:\n if (_char4 == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n\n if (_char4 == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (_char4 == '/' || _char4 == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (_char4 == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (_char4 == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n }\n\n break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (_char4 == '/' || _char4 == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (_char4 == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n }\n\n break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (_char4 != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (_char4 != '/' && _char4 != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n\n break;\n\n case AUTHORITY:\n if (_char4 == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;else url.username += encodedCodePoints;\n }\n\n buffer = '';\n } else if (_char4 == EOF || _char4 == '/' || _char4 == '?' || _char4 == '#' || _char4 == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += _char4;\n\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (_char4 == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (_char4 == EOF || _char4 == '/' || _char4 == '?' || _char4 == '#' || _char4 == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (_char4 == '[') seenBracket = true;else if (_char4 == ']') seenBracket = false;\n buffer += _char4;\n }\n\n break;\n\n case PORT:\n if (DIGIT.test(_char4)) {\n buffer += _char4;\n } else if (_char4 == EOF || _char4 == '/' || _char4 == '?' || _char4 == '#' || _char4 == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n\n break;\n\n case FILE:\n url.scheme = 'file';\n if (_char4 == '/' || _char4 == '\\\\') state = FILE_SLASH;else if (base && base.scheme == 'file') {\n if (_char4 == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (_char4 == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (_char4 == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n\n case FILE_SLASH:\n if (_char4 == '/' || _char4 == '\\\\') {\n state = FILE_HOST;\n break;\n }\n\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);else url.host = base.host;\n }\n\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (_char4 == EOF || _char4 == '/' || _char4 == '\\\\' || _char4 == '?' || _char4 == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n }\n\n continue;\n } else buffer += _char4;\n\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (_char4 != '/' && _char4 != '\\\\') continue;\n } else if (!stateOverride && _char4 == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && _char4 == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (_char4 != EOF) {\n state = PATH;\n if (_char4 != '/') continue;\n }\n\n break;\n\n case PATH:\n if (_char4 == EOF || _char4 == '/' || _char4 == '\\\\' && isSpecial(url) || !stateOverride && (_char4 == '?' || _char4 == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n\n if (_char4 != '/' && !(_char4 == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (_char4 != '/' && !(_char4 == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n\n url.path.push(buffer);\n }\n\n buffer = '';\n\n if (url.scheme == 'file' && (_char4 == EOF || _char4 == '?' || _char4 == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n\n if (_char4 == '?') {\n url.query = '';\n state = QUERY;\n } else if (_char4 == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(_char4, pathPercentEncodeSet);\n }\n\n break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (_char4 == '?') {\n url.query = '';\n state = QUERY;\n } else if (_char4 == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (_char4 != EOF) {\n url.path[0] += percentEncode(_char4, C0ControlPercentEncodeSet);\n }\n\n break;\n\n case QUERY:\n if (!stateOverride && _char4 == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (_char4 != EOF) {\n if (_char4 == \"'\" && isSpecial(url)) url.query += '%27';else if (_char4 == '#') url.query += '%23';else url.query += percentEncode(_char4, C0ControlPercentEncodeSet);\n }\n\n break;\n\n case FRAGMENT:\n if (_char4 != EOF) url.fragment += percentEncode(_char4, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n };\n\n var URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, {\n type: 'URL'\n });\n var baseState, failure;\n\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n };\n\n var URLPrototype = URLConstructor.prototype;\n\n var serializeURL = function serializeURL() {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n\n if (host !== null) {\n output += '//';\n\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n };\n\n var getOrigin = function getOrigin() {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n };\n\n var getProtocol = function getProtocol() {\n return getInternalURLState(this).scheme + ':';\n };\n\n var getUsername = function getUsername() {\n return getInternalURLState(this).username;\n };\n\n var getPassword = function getPassword() {\n return getInternalURLState(this).password;\n };\n\n var getHost = function getHost() {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n };\n\n var getHostname = function getHostname() {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n };\n\n var getPort = function getPort() {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n };\n\n var getPathname = function getPathname() {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n };\n\n var getSearch = function getSearch() {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n };\n\n var getSearchParams = function getSearchParams() {\n return getInternalURLState(this).searchParams;\n };\n\n var getHash = function getHash() {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n };\n\n var accessorDescriptor = function accessorDescriptor(getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n };\n\n if (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n origin: accessorDescriptor(getOrigin),\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;else parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n searchParams: accessorDescriptor(getSearchParams),\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n\n if (hash == '') {\n url.fragment = null;\n return;\n }\n\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n }\n\n redefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n }, {\n enumerable: true\n });\n redefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n }, {\n enumerable: true\n });\n\n if (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n }\n\n setToStringTag(URLConstructor, 'URL');\n $({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n }, {\n URL: URLConstructor\n });\n /***/\n },\n /* 140 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var fails = __w_pdfjs_require__(14);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var IS_PURE = __w_pdfjs_require__(37);\n\n var ITERATOR = wellKnownSymbol('iterator');\n module.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n });\n /***/\n },\n /* 141 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var maxInt = 2147483647;\n var base = 36;\n var tMin = 1;\n var tMax = 26;\n var skew = 38;\n var damp = 700;\n var initialBias = 72;\n var initialN = 128;\n var delimiter = '-';\n var regexNonASCII = /[^\\0-\\u007E]/;\n var regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\n var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\n var baseMinusTMin = base - tMin;\n var floor = Math.floor;\n var stringFromCharCode = String.fromCharCode;\n\n var ucs2decode = function ucs2decode(string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n\n if ((extra & 0xFC00) == 0xDC00) {\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n\n return output;\n };\n\n var digitToBasic = function digitToBasic(digit) {\n return digit + 22 + 75 * (digit < 26);\n };\n\n var adapt = function adapt(delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n };\n\n var encode = function encode(input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length;\n var handledCPCount = basicLength;\n\n if (basicLength) {\n output.push(delimiter);\n }\n\n while (handledCPCount < inputLength) {\n var m = maxInt;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n var handledCPCountPlusOne = handledCPCount + 1;\n\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n if (currentValue == n) {\n var q = delta;\n\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n\n return output.join('');\n };\n\n module.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, \".\").split('.');\n var i, label;\n\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n\n return encoded.join('.');\n };\n /***/\n\n },\n /* 142 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n __w_pdfjs_require__(102);\n\n var $ = __w_pdfjs_require__(10);\n\n var getBuiltIn = __w_pdfjs_require__(42);\n\n var USE_NATIVE_URL = __w_pdfjs_require__(140);\n\n var redefine = __w_pdfjs_require__(29);\n\n var redefineAll = __w_pdfjs_require__(124);\n\n var setToStringTag = __w_pdfjs_require__(85);\n\n var createIteratorConstructor = __w_pdfjs_require__(80);\n\n var InternalStateModule = __w_pdfjs_require__(33);\n\n var anInstance = __w_pdfjs_require__(126);\n\n var hasOwn = __w_pdfjs_require__(23);\n\n var bind = __w_pdfjs_require__(62);\n\n var classof = __w_pdfjs_require__(95);\n\n var anObject = __w_pdfjs_require__(28);\n\n var isObject = __w_pdfjs_require__(22);\n\n var create = __w_pdfjs_require__(71);\n\n var createPropertyDescriptor = __w_pdfjs_require__(16);\n\n var getIterator = __w_pdfjs_require__(143);\n\n var getIteratorMethod = __w_pdfjs_require__(94);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var $fetch = getBuiltIn('fetch');\n var Headers = getBuiltIn('Headers');\n var ITERATOR = wellKnownSymbol('iterator');\n var URL_SEARCH_PARAMS = 'URLSearchParams';\n var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\n var setInternalState = InternalStateModule.set;\n var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\n var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n var plus = /\\+/g;\n var sequences = Array(4);\n\n var percentSequence = function percentSequence(bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n };\n\n var percentDecode = function percentDecode(sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n };\n\n var deserialize = function deserialize(it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n\n return result;\n }\n };\n\n var find = /[!'()~]|%20/g;\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n };\n\n var replacer = function replacer(match) {\n return replace[match];\n };\n\n var serialize = function serialize(it) {\n return encodeURIComponent(it).replace(find, replacer);\n };\n\n var parseSearchParams = function parseSearchParams(result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n\n while (index < attributes.length) {\n attribute = attributes[index++];\n\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n };\n\n var updateSearchParams = function updateSearchParams(query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n };\n\n var validateArgumentsLength = function validateArgumentsLength(passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n };\n\n var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n }, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n }\n\n return step;\n });\n\n var URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function updateURL() {},\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done) throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else for (key in init) {\n if (hasOwn(init, key)) entries.push({\n key: key,\n value: init[key] + ''\n });\n }\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n };\n\n var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n redefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({\n key: name + '',\n value: value + ''\n });\n state.updateURL();\n },\n 'delete': function _delete(name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);else index++;\n }\n\n state.updateURL();\n },\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n\n return null;\n },\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n\n return result;\n },\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n\n return false;\n },\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n\n for (; index < entries.length; index++) {\n entry = entries[index];\n\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);else {\n found = true;\n entry.value = val;\n }\n }\n }\n\n if (!found) entries.push({\n key: key,\n value: val\n });\n state.updateURL();\n },\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n\n state.updateURL();\n },\n forEach: function forEach(callback) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n }, {\n enumerable: true\n });\n redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n redefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n\n return result.join('&');\n }, {\n enumerable: true\n });\n setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n $({\n global: true,\n forced: !USE_NATIVE_URL\n }, {\n URLSearchParams: URLSearchParamsConstructor\n });\n\n if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n global: true,\n enumerable: true,\n forced: true\n }, {\n fetch: function fetch(input) {\n var args = [input];\n var init, body, headers;\n\n if (arguments.length > 1) {\n init = arguments[1];\n\n if (isObject(init)) {\n body = init.body;\n\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n\n args.push(init);\n }\n\n return $fetch.apply(this, args);\n }\n });\n }\n\n module.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n };\n /***/\n },\n /* 143 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var anObject = __w_pdfjs_require__(28);\n\n var getIteratorMethod = __w_pdfjs_require__(94);\n\n module.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n\n return anObject(iteratorMethod.call(it));\n };\n /***/\n\n },\n /* 144 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n $({\n target: 'URL',\n proto: true,\n enumerable: true\n }, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n });\n /***/\n },\n /* 145 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n (function (global, factory) {\n true ? factory(exports) : undefined;\n })(this, function (exports) {\n 'use strict';\n\n var SymbolPolyfill = typeof Symbol === 'function' && _typeof2(Symbol.iterator) === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n\n function noop() {}\n\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n\n var rethrowAssertionErrorRejection = noop;\n\n function typeIsObject(x) {\n return _typeof2(x) === 'object' && x !== null || typeof x === 'function';\n }\n\n function createArrayFromList(elements) {\n return elements.slice();\n }\n\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n\n function IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n\n if (v === Infinity) {\n return false;\n }\n\n return true;\n }\n\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n\n if (NumberIsNaN(v)) {\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 function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n\n switch (algoArgCount) {\n case 0:\n {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n\n case 1:\n {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n\n return function () {\n return promiseResolvedWith(undefined);\n };\n }\n\n function InvokeOrNoop(O, P, 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 function PromiseCall(F, V, args) {\n try {\n return promiseResolvedWith(Call(F, V, args));\n } catch (value) {\n return promiseRejectedWith(value);\n }\n }\n\n function TransferArrayBuffer(O) {\n return O;\n }\n\n function IsDetachedBuffer(O) {\n return false;\n }\n\n function ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\n\n if (NumberIsNaN(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 function MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n\n return function (chunk) {\n return size(chunk);\n };\n }\n\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n\n var SimpleQueue = function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n this._cursor = 0;\n this._size = 0;\n }\n\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function get() {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n\n oldBack._elements.push(element);\n\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n\n ++this._size;\n };\n\n SimpleQueue.prototype.shift = function () {\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n\n --this._size;\n this._cursor = newCursor;\n\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n\n elements[oldCursor] = undefined;\n return element;\n };\n\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n\n if (elements.length === 0) {\n break;\n }\n }\n\n callback(elements[i]);\n ++i;\n }\n };\n\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n\n return SimpleQueue;\n }();\n\n function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n }\n\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\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 defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n\n function ReadableStreamReaderGenericRelease(reader) {\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._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n\n function defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\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 defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n\n function defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n\n function ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(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 ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n\n var readRequest = reader._readRequests.shift();\n\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\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)) {\n return false;\n }\n\n return true;\n }\n\n var ReadableStreamDefaultReader = function () {\n function ReadableStreamDefaultReader(stream) {\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 = new SimpleQueue();\n }\n\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function get() {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n\n return ReadableStreamDefaultReaderRead(this);\n };\n\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\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 return ReadableStreamDefaultReader;\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 ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n\n return stream._readableStreamController[PullSteps]();\n }\n\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n\n var _a;\n\n var AsyncIteratorPrototype;\n\n if (_typeof2(SymbolPolyfill.asyncIterator) === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, {\n enumerable: false\n });\n }\n\n var ReadableStreamAsyncIteratorPrototype = {\n next: function next() {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n\n var reader = this._asyncIteratorReader;\n\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n var done = result.done;\n\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n \"return\": function _return(value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n\n var reader = this._asyncIteratorReader;\n\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n\n if (reader._readRequests.length > 0) {\n return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\n }\n\n if (this._preventCancel === false) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () {\n return ReadableStreamCreateReadResult(value, true, true);\n });\n }\n\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n };\n\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', {\n enumerable: false\n });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', {\n enumerable: false\n });\n\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\n }\n\n var reader = AcquireReadableStreamDefaultReader(stream);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorReader = reader;\n iterator._preventCancel = Boolean(preventCancel);\n return iterator;\n }\n\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n\n return true;\n }\n\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n\n function DequeueValue(container) {\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 function EnqueueValueWithSize(container, value, size) {\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 function PeekQueueValue(container) {\n var pair = container._queue.peek();\n\n return pair.value;\n }\n\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n\n var WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n\n if (strategy === void 0) {\n strategy = {};\n }\n\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function get() {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n\n return WritableStreamAbort(this, reason);\n };\n\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n\n return WritableStreamClose(this);\n };\n\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n\n return AcquireWritableStreamDefaultWriter(this);\n };\n\n return WritableStream;\n }();\n\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function sizeAlgorithm() {\n return 1;\n };\n }\n\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n\n function InitializeWritableStream(stream) {\n stream._state = 'writable';\n stream._storedError = undefined;\n stream._writer = undefined;\n stream._writableStreamController = undefined;\n stream._writeRequests = new SimpleQueue();\n stream._inFlightWriteRequest = undefined;\n stream._closeRequest = undefined;\n stream._inFlightCloseRequest = undefined;\n stream._pendingAbortRequest = undefined;\n stream._backpressure = false;\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 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' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n\n var wasAlreadyErroring = false;\n\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\n }\n\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n\n if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n\n return promise;\n }\n\n function WritableStreamClose(stream) {\n var state = stream._state;\n\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n\n if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(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 WritableStreamFinishErroring(stream);\n }\n\n function WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\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 stream._state = 'errored';\n\n stream._writableStreamController[ErrorSteps]();\n\n var storedError = stream._storedError;\n\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n\n stream._writeRequests = new SimpleQueue();\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 uponPromise(promise, 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 stream._inFlightWriteRequest._resolve(undefined);\n\n stream._inFlightWriteRequest = undefined;\n }\n\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\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\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n\n stream._inFlightCloseRequest = undefined;\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 stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\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 }\n\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n\n stream._backpressure = backpressure;\n }\n\n var WritableStreamDefaultWriter = function () {\n function WritableStreamDefaultWriter(stream) {\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 defaultWriterClosedPromiseInitialize(this);\n } else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n } else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"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 enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function get() {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n\n var stream = this._ownerWritableStream;\n\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n\n return WritableStreamDefaultWriterClose(this);\n };\n\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\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 WritableStreamDefaultWriterRelease(this);\n };\n\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n\n return WritableStreamDefaultWriterWrite(this, chunk);\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 return WritableStreamAbort(stream, reason);\n }\n\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n\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\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n } else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\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 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 var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n\n var state = stream._state;\n\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\n }\n\n WritableStreamDefaultController.prototype.error = function (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 WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n\n return WritableStreamDefaultController;\n }();\n\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n\n return true;\n }\n\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\n }\n\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(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 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 === '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\n var sinkClosePromise = controller._closeAlgorithm();\n\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\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 if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\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 WritableStreamDefaultControllerClearAlgorithms(controller);\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 = newPromise(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 defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n\n function defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\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 defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n\n function defaultWriterClosedPromiseResolve(writer) {\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 = newPromise(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 defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n\n function defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\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 defaultWriterReadyPromiseInitialize(writer);\n }\n\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n\n function defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n\n function isAbortSignal(value) {\n if (_typeof2(value) !== 'object' || value === null) {\n return false;\n }\n\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || _typeof2(ctor) === 'object')) {\n return false;\n }\n\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', {\n value: ctor,\n writable: true,\n configurable: true\n });\n return ctor;\n }\n\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n\n if (signal !== undefined) {\n abortAlgorithm = function abortAlgorithm() {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n\n return promiseResolvedWith(undefined);\n });\n }\n\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n\n return promiseResolvedWith(undefined);\n });\n }\n\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n\n signal.addEventListener('abort', abortAlgorithm);\n }\n\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n } else {\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n\n next(false);\n });\n }\n\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n return false;\n });\n });\n }\n\n isOrBecomesErrored(source, 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(source, storedError);\n }, true, storedError);\n } else {\n shutdown(true, storedError);\n }\n });\n isOrBecomesClosed(source, 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_1 = 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(source, destClosed_1);\n }, true, destClosed_1);\n } else {\n shutdown(true, destClosed_1);\n }\n }\n\n setPromiseIsHandledToTrue(pipeLoop());\n\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, 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 uponRejection(promise, action);\n }\n }\n\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\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 uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\n }\n\n function doTheRest() {\n uponPromise(action(), function () {\n return finalize(originalIsError, originalError);\n }, function (newError) {\n return finalize(true, newError);\n });\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 uponFulfillment(waitForWritesToFinish(), function () {\n return finalize(isError, error);\n });\n } else {\n finalize(isError, error);\n }\n }\n\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function get() {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n\n ReadableStreamDefaultControllerClose(this);\n };\n\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n\n ReadableStreamDefaultControllerError(this, e);\n };\n\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n\n var result = this._cancelAlgorithm(reason);\n\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\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 ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\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, '_controlledReadableStream')) {\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;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n\n controller._pulling = true;\n\n var pullPromise = controller._pullAlgorithm();\n\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\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 ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n\n if (stream._state !== 'readable') {\n return;\n }\n\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\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 function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n\n return false;\n }\n\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\n }\n\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n\n function ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n\n function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n reading = false;\n var done = result.done;\n\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n\n return;\n }\n\n var value = result.value;\n var value1 = value;\n var value2 = value;\n\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\n }\n\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n\n return cancelPromise;\n }\n\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n\n return cancelPromise;\n }\n\n function startAlgorithm() {}\n\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n });\n return [branch1, branch2];\n }\n\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function get() {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n\n ReadableStreamBYOBRequest.prototype.respond = function (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 if (IsDetachedBuffer(this._view.buffer) === true) ;\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (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 if (IsDetachedBuffer(view.buffer) === true) ;\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n\n return ReadableStreamBYOBRequest;\n }();\n\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n\n Object.defineProperty(ReadableByteStreamController.prototype, \"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.peek();\n\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n\n return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function get() {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n\n ReadableByteStreamController.prototype.close = function () {\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._controlledReadableByteStream._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 ReadableByteStreamController.prototype.enqueue = function (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._controlledReadableByteStream._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 if (IsDetachedBuffer(chunk.buffer) === true) ;\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n\n ReadableByteStreamControllerError(this, e);\n };\n\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n\n firstDescriptor.bytesFilled = 0;\n }\n\n ResetQueue(this);\n\n var result = this._cancelAlgorithm(reason);\n\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n\n if (this._queueTotalSize > 0) {\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 promiseRejectedWith(viewE);\n }\n\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\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 promiseRejectedWith(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 return ReadableByteStreamController;\n }();\n\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\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;\n }\n\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n\n controller._pulling = true;\n\n var pullPromise = controller._pullAlgorithm();\n\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n\n if (stream._state === 'closed') {\n done = true;\n }\n\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\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.peek();\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 return ready;\n }\n\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\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 while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\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 buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: 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 controller._pendingPullIntos.push(pullIntoDescriptor);\n\n return ReadableStreamAddReadIntoRequest(stream);\n }\n\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\n }\n\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\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 promiseRejectedWith(e);\n }\n }\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 var stream = controller._controlledReadableByteStream;\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._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n\n var stream = controller._controlledReadableByteStream;\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 ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n\n ReadableByteStreamControllerCallPullIfNeeded(controller);\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._controlledReadableByteStream;\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 var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n\n if (desiredSize > 0) {\n return true;\n }\n\n return false;\n }\n\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\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.peek();\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 ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\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 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 ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n\n if (stream._state !== 'readable') {\n return;\n }\n\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\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 ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\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 SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = undefined;\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\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 AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n\n function ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(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 ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n\n var readIntoRequest = reader._readIntoRequests.shift();\n\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.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)) {\n return false;\n }\n\n return true;\n }\n\n var ReadableStreamBYOBReader = function () {\n function ReadableStreamBYOBReader(stream) {\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 = new SimpleQueue();\n }\n\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function get() {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n\n if (IsDetachedBuffer(view.buffer) === true) ;\n\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n\n return ReadableStreamBYOBReaderRead(this, view);\n };\n\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\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 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 ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n\n var ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n\n if (strategy === void 0) {\n strategy = {};\n }\n\n InitializeReadableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSource.type;\n var typeString = String(type);\n\n if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function get() {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n\n return ReadableStreamCancel(this, reason);\n };\n\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n\n mode = String(mode);\n\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n\n throw new RangeError('Invalid mode is specified');\n };\n\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable,\n readable = _a.readable;\n\n var _c = _b === void 0 ? {} : _b,\n preventClose = _c.preventClose,\n preventAbort = _c.preventAbort,\n preventCancel = _c.preventCancel,\n signal = _c.signal;\n\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n setPromiseIsHandledToTrue(promise);\n return readable;\n };\n\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a,\n preventClose = _b.preventClose,\n preventAbort = _b.preventAbort,\n preventCancel = _b.preventCancel,\n signal = _b.signal;\n\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(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 (signal !== undefined && !isAbortSignal(signal)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel,\n preventCancel = _b === void 0 ? false : _b;\n\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n\n return ReadableStream;\n }();\n\n if (_typeof2(SymbolPolyfill.asyncIterator) === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.getIterator,\n enumerable: false,\n writable: true,\n configurable: true\n });\n }\n\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function sizeAlgorithm() {\n return 1;\n };\n }\n\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\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 IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n\n return true;\n }\n\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n\n ReadableStreamClose(stream);\n\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n\n if (reader === undefined) {\n return;\n }\n\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n\n reader._readRequests = new SimpleQueue();\n }\n\n defaultReaderClosedPromiseResolve(reader);\n }\n\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n\n if (reader === undefined) {\n return;\n }\n\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n\n reader._readIntoRequests = new SimpleQueue();\n }\n\n defaultReaderClosedPromiseReject(reader, e);\n }\n\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n\n var ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n\n return ByteLengthQueuingStrategy;\n }();\n\n var CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n\n return CountQueuingStrategy;\n }();\n\n var TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n\n if (readableStrategy === void 0) {\n readableStrategy = {};\n }\n\n var writableSizeFunction = writableStrategy.size;\n var writableHighWaterMark = writableStrategy.highWaterMark;\n var readableSizeFunction = readableStrategy.size;\n var readableHighWaterMark = readableStrategy.highWaterMark;\n var writableType = transformer.writableType;\n\n if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\n }\n\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\n startPromise_resolve(startResult);\n }\n\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function get() {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n }();\n\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\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 function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function get() {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n\n TransformStreamDefaultControllerError(this, reason);\n };\n\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n\n TransformStreamDefaultControllerTerminate(this);\n };\n\n return TransformStreamDefaultController;\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 SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n\n var transformAlgorithm = function transformAlgorithm(chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n\n var transformMethod = transformer.transform;\n\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n\n transformAlgorithm = function transformAlgorithm(chunk) {\n return PromiseCall(transformMethod, transformer, [chunk, controller]);\n };\n }\n\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n\n if (stream._backpressure === true) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n\n if (state === 'erroring') {\n throw writable._storedError;\n }\n\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n\n var flushPromise = controller._flushAlgorithm();\n\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n\n var readableController = readable._readableStreamController;\n\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableStream = ReadableStream;\n exports.TransformStream = TransformStream;\n exports.WritableStream = WritableStream;\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n });\n /***/\n\n },\n /* 146 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(147);\n\n __w_pdfjs_require__(118);\n\n __w_pdfjs_require__(77);\n\n __w_pdfjs_require__(120);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Map;\n /***/\n },\n /* 147 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var collection = __w_pdfjs_require__(148);\n\n var collectionStrong = __w_pdfjs_require__(152);\n\n module.exports = collection('Map', function (init) {\n return function Map() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n }, collectionStrong);\n /***/\n },\n /* 148 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var global = __w_pdfjs_require__(11);\n\n var isForced = __w_pdfjs_require__(52);\n\n var redefine = __w_pdfjs_require__(29);\n\n var InternalMetadataModule = __w_pdfjs_require__(149);\n\n var iterate = __w_pdfjs_require__(104);\n\n var anInstance = __w_pdfjs_require__(126);\n\n var isObject = __w_pdfjs_require__(22);\n\n var fails = __w_pdfjs_require__(14);\n\n var checkCorrectnessOfIteration = __w_pdfjs_require__(97);\n\n var setToStringTag = __w_pdfjs_require__(85);\n\n var inheritIfRequired = __w_pdfjs_require__(151);\n\n module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function fixMethod(KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\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 = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\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 Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\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 && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n };\n /***/\n\n },\n /* 149 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var hiddenKeys = __w_pdfjs_require__(39);\n\n var isObject = __w_pdfjs_require__(22);\n\n var has = __w_pdfjs_require__(23);\n\n var defineProperty = __w_pdfjs_require__(27).f;\n\n var uid = __w_pdfjs_require__(38);\n\n var FREEZING = __w_pdfjs_require__(150);\n\n var METADATA = uid('meta');\n var id = 0;\n\n var isExtensible = Object.isExtensible || function () {\n return true;\n };\n\n var setMetadata = function setMetadata(it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n };\n\n var fastKey = function fastKey(it, create) {\n if (!isObject(it)) return _typeof2(it) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\n if (!has(it, METADATA)) {\n if (!isExtensible(it)) return 'F';\n if (!create) return 'E';\n setMetadata(it);\n }\n\n return it[METADATA].objectID;\n };\n\n var getWeakData = function getWeakData(it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it)) return true;\n if (!create) return false;\n setMetadata(it);\n }\n\n return it[METADATA].weakData;\n };\n\n var onFreeze = function onFreeze(it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n };\n\n var meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n };\n hiddenKeys[METADATA] = true;\n /***/\n },\n /* 150 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var fails = __w_pdfjs_require__(14);\n\n module.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n });\n /***/\n },\n /* 151 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var isObject = __w_pdfjs_require__(22);\n\n var setPrototypeOf = __w_pdfjs_require__(87);\n\n module.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n };\n /***/\n\n },\n /* 152 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var defineProperty = __w_pdfjs_require__(27).f;\n\n var create = __w_pdfjs_require__(71);\n\n var redefineAll = __w_pdfjs_require__(124);\n\n var bind = __w_pdfjs_require__(62);\n\n var anInstance = __w_pdfjs_require__(126);\n\n var iterate = __w_pdfjs_require__(104);\n\n var defineIterator = __w_pdfjs_require__(79);\n\n var setSpecies = __w_pdfjs_require__(125);\n\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var fastKey = __w_pdfjs_require__(149).fastKey;\n\n var InternalStateModule = __w_pdfjs_require__(33);\n\n var setInternalState = InternalStateModule.set;\n var internalStateGetterFor = InternalStateModule.getterFor;\n module.exports = {\n getConstructor: function getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function define(that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n\n if (entry) {\n entry.value = value;\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;else that.size++;\n if (index !== 'F') state.index[index] = entry;\n }\n\n return that;\n };\n\n var getEntry = function getEntry(that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;else that.size = 0;\n },\n 'delete': function _delete(key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;else that.size--;\n }\n\n return !!entry;\n },\n forEach: function forEach(callbackfn) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n\n while (entry && entry.removed) {\n entry = entry.previous;\n }\n }\n },\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function get() {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function setStrong(C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n\n while (entry && entry.removed) {\n entry = entry.previous;\n }\n\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n\n if (kind == 'keys') return {\n value: entry.key,\n done: false\n };\n if (kind == 'values') return {\n value: entry.value,\n done: false\n };\n return {\n value: [entry.key, entry.value],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n };\n /***/\n },\n /* 153 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(154);\n\n __w_pdfjs_require__(118);\n\n __w_pdfjs_require__(77);\n\n __w_pdfjs_require__(120);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Set;\n /***/\n },\n /* 154 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var collection = __w_pdfjs_require__(148);\n\n var collectionStrong = __w_pdfjs_require__(152);\n\n module.exports = collection('Set', function (init) {\n return function Set() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n }, collectionStrong);\n /***/\n },\n /* 155 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(118);\n\n __w_pdfjs_require__(156);\n\n __w_pdfjs_require__(120);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.WeakMap;\n /***/\n },\n /* 156 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var global = __w_pdfjs_require__(11);\n\n var redefineAll = __w_pdfjs_require__(124);\n\n var InternalMetadataModule = __w_pdfjs_require__(149);\n\n var collection = __w_pdfjs_require__(148);\n\n var collectionWeak = __w_pdfjs_require__(157);\n\n var isObject = __w_pdfjs_require__(22);\n\n var enforceIternalState = __w_pdfjs_require__(33).enforce;\n\n var NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\n\n var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\n var isExtensible = Object.isExtensible;\n var InternalWeakMap;\n\n var wrapper = function wrapper(init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n };\n\n var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n if (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function _delete(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n }\n\n return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n }\n\n return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n }\n\n return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n\n return this;\n }\n });\n }\n /***/\n\n },\n /* 157 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var redefineAll = __w_pdfjs_require__(124);\n\n var getWeakData = __w_pdfjs_require__(149).getWeakData;\n\n var anObject = __w_pdfjs_require__(28);\n\n var isObject = __w_pdfjs_require__(22);\n\n var anInstance = __w_pdfjs_require__(126);\n\n var iterate = __w_pdfjs_require__(104);\n\n var ArrayIterationModule = __w_pdfjs_require__(158);\n\n var $has = __w_pdfjs_require__(23);\n\n var InternalStateModule = __w_pdfjs_require__(33);\n\n var setInternalState = InternalStateModule.set;\n var internalStateGetterFor = InternalStateModule.getterFor;\n var find = ArrayIterationModule.find;\n var findIndex = ArrayIterationModule.findIndex;\n var id = 0;\n\n var uncaughtFrozenStore = function uncaughtFrozenStore(store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n };\n\n var UncaughtFrozenStore = function UncaughtFrozenStore() {\n this.entries = [];\n };\n\n var findUncaughtFrozen = function findUncaughtFrozen(store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n };\n\n UncaughtFrozenStore.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.entries.push([key, value]);\n },\n 'delete': function _delete(key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) this.entries.splice(index, 1);\n return !!~index;\n }\n };\n module.exports = {\n getConstructor: function getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function define(that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);else data[state.id] = value;\n return that;\n };\n\n redefineAll(C.prototype, {\n 'delete': function _delete(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n redefineAll(C.prototype, IS_MAP ? {\n get: function get(key) {\n var state = getInternalState(this);\n\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value, true);\n }\n });\n return C;\n }\n };\n /***/\n },\n /* 158 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var bind = __w_pdfjs_require__(62);\n\n var IndexedObject = __w_pdfjs_require__(18);\n\n var toObject = __w_pdfjs_require__(83);\n\n var toLength = __w_pdfjs_require__(47);\n\n var arraySpeciesCreate = __w_pdfjs_require__(159);\n\n var push = [].push;\n\n var createMethod = function createMethod(TYPE) {\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 return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n\n for (; length > index; index++) {\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n\n if (TYPE) {\n if (IS_MAP) target[index] = result;else if (result) switch (TYPE) {\n case 3:\n return true;\n\n case 5:\n return value;\n\n case 6:\n return index;\n\n case 2:\n push.call(target, value);\n } else if (IS_EVERY) return false;\n }\n }\n }\n\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n };\n\n module.exports = {\n forEach: createMethod(0),\n map: createMethod(1),\n filter: createMethod(2),\n some: createMethod(3),\n every: createMethod(4),\n find: createMethod(5),\n findIndex: createMethod(6)\n };\n /***/\n },\n /* 159 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var isObject = __w_pdfjs_require__(22);\n\n var isArray = __w_pdfjs_require__(160);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var SPECIES = wellKnownSymbol('species');\n\n module.exports = function (originalArray, length) {\n var C;\n\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n };\n /***/\n\n },\n /* 160 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var classof = __w_pdfjs_require__(19);\n\n module.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n };\n /***/\n\n },\n /* 161 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(118);\n\n __w_pdfjs_require__(162);\n\n __w_pdfjs_require__(120);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.WeakSet;\n /***/\n },\n /* 162 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var collection = __w_pdfjs_require__(148);\n\n var collectionWeak = __w_pdfjs_require__(157);\n\n collection('WeakSet', function (init) {\n return function WeakSet() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n }, collectionWeak);\n /***/\n },\n /* 163 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(164);\n\n var entryUnbind = __w_pdfjs_require__(61);\n\n module.exports = entryUnbind('String', 'codePointAt');\n /***/\n },\n /* 164 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var codeAt = __w_pdfjs_require__(78).codeAt;\n\n $({\n target: 'String',\n proto: true\n }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n });\n /***/\n },\n /* 165 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(166);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.String.fromCodePoint;\n /***/\n },\n /* 166 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var $ = __w_pdfjs_require__(10);\n\n var toAbsoluteIndex = __w_pdfjs_require__(49);\n\n var fromCharCode = String.fromCharCode;\n var nativeFromCodePoint = String.fromCodePoint;\n var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n $({\n target: 'String',\n stat: true,\n forced: INCORRECT_LENGTH\n }, {\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));\n }\n\n return elements.join('');\n }\n });\n /***/\n },\n /* 167 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(168);\n\n __w_pdfjs_require__(118);\n\n __w_pdfjs_require__(170);\n\n __w_pdfjs_require__(174);\n\n __w_pdfjs_require__(175);\n\n __w_pdfjs_require__(176);\n\n __w_pdfjs_require__(177);\n\n __w_pdfjs_require__(178);\n\n __w_pdfjs_require__(179);\n\n __w_pdfjs_require__(180);\n\n __w_pdfjs_require__(181);\n\n __w_pdfjs_require__(182);\n\n __w_pdfjs_require__(183);\n\n __w_pdfjs_require__(184);\n\n __w_pdfjs_require__(185);\n\n __w_pdfjs_require__(186);\n\n __w_pdfjs_require__(187);\n\n __w_pdfjs_require__(188);\n\n __w_pdfjs_require__(189);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Symbol;\n /***/\n },\n /* 168 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var fails = __w_pdfjs_require__(14);\n\n var isArray = __w_pdfjs_require__(160);\n\n var isObject = __w_pdfjs_require__(22);\n\n var toObject = __w_pdfjs_require__(83);\n\n var toLength = __w_pdfjs_require__(47);\n\n var createProperty = __w_pdfjs_require__(93);\n\n var arraySpeciesCreate = __w_pdfjs_require__(159);\n\n var arrayMethodHasSpeciesSupport = __w_pdfjs_require__(169);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var V8_VERSION = __w_pdfjs_require__(135);\n\n var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\n var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n });\n var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\n var isConcatSpreadable = function isConcatSpreadable(O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n };\n\n var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n $({\n target: 'Array',\n proto: true,\n forced: FORCED\n }, {\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n\n for (k = 0; k < len; k++, n++) {\n if (k in E) createProperty(A, n, E[k]);\n }\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n\n A.length = n;\n return A;\n }\n });\n /***/\n },\n /* 169 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var fails = __w_pdfjs_require__(14);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var V8_VERSION = __w_pdfjs_require__(135);\n\n var SPECIES = wellKnownSymbol('species');\n\n module.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n\n constructor[SPECIES] = function () {\n return {\n foo: 1\n };\n };\n\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n };\n /***/\n\n },\n /* 170 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var global = __w_pdfjs_require__(11);\n\n var getBuiltIn = __w_pdfjs_require__(42);\n\n var IS_PURE = __w_pdfjs_require__(37);\n\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var NATIVE_SYMBOL = __w_pdfjs_require__(58);\n\n var USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\n\n var fails = __w_pdfjs_require__(14);\n\n var has = __w_pdfjs_require__(23);\n\n var isArray = __w_pdfjs_require__(160);\n\n var isObject = __w_pdfjs_require__(22);\n\n var anObject = __w_pdfjs_require__(28);\n\n var toObject = __w_pdfjs_require__(83);\n\n var toIndexedObject = __w_pdfjs_require__(17);\n\n var toPrimitive = __w_pdfjs_require__(21);\n\n var createPropertyDescriptor = __w_pdfjs_require__(16);\n\n var nativeObjectCreate = __w_pdfjs_require__(71);\n\n var objectKeys = __w_pdfjs_require__(73);\n\n var getOwnPropertyNamesModule = __w_pdfjs_require__(44);\n\n var getOwnPropertyNamesExternal = __w_pdfjs_require__(171);\n\n var getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\n\n var getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\n\n var definePropertyModule = __w_pdfjs_require__(27);\n\n var propertyIsEnumerableModule = __w_pdfjs_require__(15);\n\n var createNonEnumerableProperty = __w_pdfjs_require__(26);\n\n var redefine = __w_pdfjs_require__(29);\n\n var shared = __w_pdfjs_require__(36);\n\n var sharedKey = __w_pdfjs_require__(35);\n\n var hiddenKeys = __w_pdfjs_require__(39);\n\n var uid = __w_pdfjs_require__(38);\n\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n var wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\n\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n var setToStringTag = __w_pdfjs_require__(85);\n\n var InternalStateModule = __w_pdfjs_require__(33);\n\n var $forEach = __w_pdfjs_require__(158).forEach;\n\n var HIDDEN = sharedKey('hidden');\n var SYMBOL = 'Symbol';\n var PROTOTYPE = 'prototype';\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n var setInternalState = InternalStateModule.set;\n var getInternalState = InternalStateModule.getterFor(SYMBOL);\n var ObjectPrototype = Object[PROTOTYPE];\n var $Symbol = global.Symbol;\n var $stringify = getBuiltIn('JSON', 'stringify');\n var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var nativeDefineProperty = definePropertyModule.f;\n var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\n var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\n var AllSymbols = shared('symbols');\n var ObjectPrototypeSymbols = shared('op-symbols');\n var StringToSymbolRegistry = shared('string-to-symbol-registry');\n var SymbolToStringRegistry = shared('symbol-to-string-registry');\n var WellKnownSymbolsStore = shared('wks');\n var QObject = global.QObject;\n var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n var setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function get() {\n return nativeDefineProperty(this, 'a', {\n value: 7\n }).a;\n }\n })).a != 7;\n }) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n } : nativeDefineProperty;\n\n var wrap = function wrap(tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n };\n\n var isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return _typeof2(it) == 'symbol';\n } : function (it) {\n return Object(it) instanceof $Symbol;\n };\n\n var $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, {\n enumerable: createPropertyDescriptor(0, false)\n });\n }\n\n return setSymbolDescriptor(O, key, Attributes);\n }\n\n return nativeDefineProperty(O, key, Attributes);\n };\n\n var $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n };\n\n var $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n };\n\n var $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n };\n\n var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n\n return descriptor;\n };\n\n var $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n };\n\n var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n };\n\n if (!NATIVE_SYMBOL) {\n $Symbol = function _Symbol2() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n\n var setter = function setter(value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, {\n unsafe: true\n });\n }\n }\n }\n\n $({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n }, {\n Symbol: $Symbol\n });\n $forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n });\n $({\n target: SYMBOL,\n stat: true,\n forced: !NATIVE_SYMBOL\n }, {\n 'for': function _for(key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function useSetter() {\n USE_SETTER = true;\n },\n useSimple: function useSimple() {\n USE_SETTER = false;\n }\n });\n $({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL,\n sham: !DESCRIPTORS\n }, {\n create: $create,\n defineProperty: $defineProperty,\n defineProperties: $defineProperties,\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n });\n $({\n target: 'Object',\n stat: true,\n forced: !NATIVE_SYMBOL\n }, {\n getOwnPropertyNames: $getOwnPropertyNames,\n getOwnPropertySymbols: $getOwnPropertySymbols\n });\n $({\n target: 'Object',\n stat: true,\n forced: fails(function () {\n getOwnPropertySymbolsModule.f(1);\n })\n }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n });\n\n if ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return $stringify([symbol]) != '[null]' || $stringify({\n a: symbol\n }) != '{}' || $stringify(Object(symbol)) != '{}';\n });\n $({\n target: 'JSON',\n stat: true,\n forced: FORCED_JSON_STRINGIFY\n }, {\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n\n while (arguments.length > index) {\n args.push(arguments[index++]);\n }\n\n $replacer = replacer;\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(null, args);\n }\n });\n }\n\n if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n }\n\n setToStringTag($Symbol, SYMBOL);\n hiddenKeys[HIDDEN] = true;\n /***/\n },\n /* 171 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var toIndexedObject = __w_pdfjs_require__(17);\n\n var nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;\n\n var toString = {}.toString;\n var windowNames = (typeof window === \"undefined\" ? \"undefined\" : _typeof2(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\n\n var getWindowNames = function getWindowNames(it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n };\n\n module.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n };\n /***/\n\n },\n /* 172 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var wellKnownSymbol = __w_pdfjs_require__(57);\n\n exports.f = wellKnownSymbol;\n /***/\n },\n /* 173 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var path = __w_pdfjs_require__(43);\n\n var has = __w_pdfjs_require__(23);\n\n var wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\n\n var defineProperty = __w_pdfjs_require__(27).f;\n\n module.exports = function (NAME) {\n var _Symbol3 = path.Symbol || (path.Symbol = {});\n\n if (!has(_Symbol3, NAME)) defineProperty(_Symbol3, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n };\n /***/\n\n },\n /* 174 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('asyncIterator');\n /***/\n },\n /* 175 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var global = __w_pdfjs_require__(11);\n\n var has = __w_pdfjs_require__(23);\n\n var isObject = __w_pdfjs_require__(22);\n\n var defineProperty = __w_pdfjs_require__(27).f;\n\n var copyConstructorProperties = __w_pdfjs_require__(40);\n\n var NativeSymbol = global.Symbol;\n\n if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n\n var SymbolWrapper = function _Symbol4() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n\n var _native = String(NativeSymbol('test')) == 'Symbol(test)';\n\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = _native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n $({\n global: true,\n forced: true\n }, {\n Symbol: SymbolWrapper\n });\n }\n /***/\n\n },\n /* 176 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('hasInstance');\n /***/\n },\n /* 177 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('isConcatSpreadable');\n /***/\n },\n /* 178 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('iterator');\n /***/\n },\n /* 179 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('match');\n /***/\n },\n /* 180 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('matchAll');\n /***/\n },\n /* 181 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('replace');\n /***/\n },\n /* 182 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('search');\n /***/\n },\n /* 183 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('species');\n /***/\n },\n /* 184 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('split');\n /***/\n },\n /* 185 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('toPrimitive');\n /***/\n },\n /* 186 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('toStringTag');\n /***/\n },\n /* 187 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var defineWellKnownSymbol = __w_pdfjs_require__(173);\n\n defineWellKnownSymbol('unscopables');\n /***/\n },\n /* 188 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var setToStringTag = __w_pdfjs_require__(85);\n\n setToStringTag(Math, 'Math', true);\n /***/\n },\n /* 189 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var global = __w_pdfjs_require__(11);\n\n var setToStringTag = __w_pdfjs_require__(85);\n\n setToStringTag(global.JSON, 'JSON', true);\n /***/\n },\n /* 190 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(191);\n\n var entryUnbind = __w_pdfjs_require__(61);\n\n module.exports = entryUnbind('String', 'padStart');\n /***/\n },\n /* 191 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var $padStart = __w_pdfjs_require__(192).start;\n\n var WEBKIT_BUG = __w_pdfjs_require__(194);\n\n $({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n }, {\n padStart: function padStart(maxLength) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n });\n /***/\n },\n /* 192 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var toLength = __w_pdfjs_require__(47);\n\n var repeat = __w_pdfjs_require__(193);\n\n var requireObjectCoercible = __w_pdfjs_require__(20);\n\n var ceil = Math.ceil;\n\n var createMethod = function createMethod(IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n };\n\n module.exports = {\n start: createMethod(false),\n end: createMethod(true)\n };\n /***/\n },\n /* 193 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var toInteger = __w_pdfjs_require__(48);\n\n var requireObjectCoercible = __w_pdfjs_require__(20);\n\n module.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n\n for (; n > 0; (n >>>= 1) && (str += str)) {\n if (n & 1) result += str;\n }\n\n return result;\n };\n /***/\n\n },\n /* 194 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var userAgent = __w_pdfjs_require__(129);\n\n module.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n /***/\n },\n /* 195 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(196);\n\n var entryUnbind = __w_pdfjs_require__(61);\n\n module.exports = entryUnbind('String', 'padEnd');\n /***/\n },\n /* 196 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var $ = __w_pdfjs_require__(10);\n\n var $padEnd = __w_pdfjs_require__(192).end;\n\n var WEBKIT_BUG = __w_pdfjs_require__(194);\n\n $({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n }, {\n padEnd: function padEnd(maxLength) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n });\n /***/\n },\n /* 197 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(198);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Object.values;\n /***/\n },\n /* 198 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var $ = __w_pdfjs_require__(10);\n\n var $values = __w_pdfjs_require__(199).values;\n\n $({\n target: 'Object',\n stat: true\n }, {\n values: function values(O) {\n return $values(O);\n }\n });\n /***/\n },\n /* 199 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var DESCRIPTORS = __w_pdfjs_require__(13);\n\n var objectKeys = __w_pdfjs_require__(73);\n\n var toIndexedObject = __w_pdfjs_require__(17);\n\n var propertyIsEnumerable = __w_pdfjs_require__(15).f;\n\n var createMethod = function createMethod(TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(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 || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n\n return result;\n };\n };\n\n module.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n };\n /***/\n },\n /* 200 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n __w_pdfjs_require__(201);\n\n var path = __w_pdfjs_require__(43);\n\n module.exports = path.Object.entries;\n /***/\n },\n /* 201 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var $ = __w_pdfjs_require__(10);\n\n var $entries = __w_pdfjs_require__(199).entries;\n\n $({\n target: 'Object',\n stat: true\n }, {\n entries: function entries(O) {\n return $entries(O);\n }\n });\n /***/\n },\n /* 202 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.clearPrimitiveCaches = clearPrimitiveCaches;\n exports.isEOF = isEOF;\n exports.isCmd = isCmd;\n exports.isDict = isDict;\n exports.isName = isName;\n exports.isRef = isRef;\n exports.isRefsEqual = isRefsEqual;\n exports.isStream = isStream;\n exports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e2) {\n throw _e2;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e3) {\n didErr = true;\n err = _e3;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n var EOF = {};\n exports.EOF = EOF;\n\n var 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\n exports.Name = Name;\n\n var 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\n exports.Cmd = Cmd;\n\n var 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\n get size() {\n return Object.keys(this._map).length;\n },\n\n get: function get(key1, key2, key3) {\n var value = this._map[key1];\n\n if (value === undefined && key2 !== undefined) {\n value = this._map[key2];\n\n if (value === undefined && key3 !== undefined) {\n value = this._map[key3];\n }\n }\n\n if (value instanceof Ref && this.xref) {\n return this.xref.fetch(value, this.suppressEncryption);\n }\n\n return value;\n },\n getAsync: function getAsync(key1, key2, key3) {\n var _this = this;\n\n return _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var value;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n value = _this._map[key1];\n\n if (value === undefined && key2 !== undefined) {\n value = _this._map[key2];\n\n if (value === undefined && key3 !== undefined) {\n value = _this._map[key3];\n }\n }\n\n if (!(value instanceof Ref && _this.xref)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", _this.xref.fetchAsync(value, _this.suppressEncryption));\n\n case 4:\n return _context.abrupt(\"return\", value);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n getArray: function getArray(key1, key2, key3) {\n var value = this.get(key1, key2, key3);\n\n if (!Array.isArray(value) || !this.xref) {\n return value;\n }\n\n value = value.slice();\n\n for (var i = 0, ii = value.length; i < ii; i++) {\n if (!(value[i] instanceof Ref)) {\n continue;\n }\n\n value[i] = this.xref.fetch(value[i], this.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 getRawValues: function Dict_getRawValues() {\n return Object.values(this._map);\n },\n set: function Dict_set(key, value) {\n this._map[key] = value;\n },\n has: function Dict_has(key) {\n return this._map[key] !== undefined;\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 (_ref) {\n var xref = _ref.xref,\n dictArray = _ref.dictArray,\n _ref$mergeSubDicts = _ref.mergeSubDicts,\n mergeSubDicts = _ref$mergeSubDicts === void 0 ? false : _ref$mergeSubDicts;\n var mergedDict = new Dict(xref);\n\n if (!mergeSubDicts) {\n var _iterator = _createForOfIteratorHelper(dictArray),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var dict = _step.value;\n\n if (!(dict instanceof Dict)) {\n continue;\n }\n\n for (var _i = 0, _Object$entries = Object.entries(dict._map); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n\n if (mergedDict._map[key] === undefined) {\n mergedDict._map[key] = value;\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return mergedDict.size > 0 ? mergedDict : Dict.empty;\n }\n\n var properties = new Map();\n\n var _iterator2 = _createForOfIteratorHelper(dictArray),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _dict = _step2.value;\n\n if (!(_dict instanceof Dict)) {\n continue;\n }\n\n for (var _i2 = 0, _Object$entries2 = Object.entries(_dict._map); _i2 < _Object$entries2.length; _i2++) {\n var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),\n _key = _Object$entries2$_i[0],\n _value = _Object$entries2$_i[1];\n\n var property = properties.get(_key);\n\n if (property === undefined) {\n property = [];\n properties.set(_key, property);\n }\n\n property.push(_value);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var _iterator3 = _createForOfIteratorHelper(properties),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _slicedToArray(_step3.value, 2),\n name = _step3$value[0],\n values = _step3$value[1];\n\n if (values.length === 1 || !(values[0] instanceof Dict)) {\n mergedDict._map[name] = values[0];\n continue;\n }\n\n var subDict = new Dict(xref);\n\n var _iterator4 = _createForOfIteratorHelper(values),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _dict2 = _step4.value;\n\n if (!(_dict2 instanceof Dict)) {\n continue;\n }\n\n for (var _i3 = 0, _Object$entries3 = Object.entries(_dict2._map); _i3 < _Object$entries3.length; _i3++) {\n var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i3], 2),\n _key2 = _Object$entries3$_i[0],\n _value2 = _Object$entries3$_i[1];\n\n if (subDict._map[_key2] === undefined) {\n subDict._map[_key2] = _value2;\n }\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n if (subDict.size > 0) {\n mergedDict._map[name] = subDict;\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n properties.clear();\n return mergedDict.size > 0 ? mergedDict : Dict.empty;\n };\n\n return Dict;\n }();\n\n exports.Dict = Dict;\n\n var 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\n exports.Ref = Ref;\n\n var RefSet =\n /*#__PURE__*/\n function () {\n function RefSet() {\n _classCallCheck(this, RefSet);\n\n this._set = new Set();\n }\n\n _createClass(RefSet, [{\n key: \"has\",\n value: function has(ref) {\n return this._set.has(ref.toString());\n }\n }, {\n key: \"put\",\n value: function put(ref) {\n this._set.add(ref.toString());\n }\n }, {\n key: \"remove\",\n value: function remove(ref) {\n this._set[\"delete\"](ref.toString());\n }\n }]);\n\n return RefSet;\n }();\n\n exports.RefSet = RefSet;\n\n var RefSetCache =\n /*#__PURE__*/\n function () {\n function RefSetCache() {\n _classCallCheck(this, RefSetCache);\n\n this._map = new Map();\n }\n\n _createClass(RefSetCache, [{\n key: \"get\",\n value: function get(ref) {\n return this._map.get(ref.toString());\n }\n }, {\n key: \"has\",\n value: function has(ref) {\n return this._map.has(ref.toString());\n }\n }, {\n key: \"put\",\n value: function put(ref, obj) {\n this._map.set(ref.toString(), obj);\n }\n }, {\n key: \"putAlias\",\n value: function putAlias(ref, aliasRef) {\n this._map.set(ref.toString(), this.get(aliasRef));\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback) {\n var _iterator5 = _createForOfIteratorHelper(this._map.values()),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var value = _step5.value;\n callback(value);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._map.clear();\n }\n }, {\n key: \"size\",\n get: function get() {\n return this._map.size;\n }\n }]);\n\n return RefSetCache;\n }();\n\n exports.RefSetCache = RefSetCache;\n\n function isEOF(v) {\n return v === EOF;\n }\n\n function isName(v, name) {\n return v instanceof Name && (name === undefined || v.name === name);\n }\n\n function isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n }\n\n function isDict(v, type) {\n return v instanceof Dict && (type === undefined || isName(v.get(\"Type\"), type));\n }\n\n function isRef(v) {\n return v instanceof Ref;\n }\n\n function isRefsEqual(v1, v2) {\n return v1.num === v2.num && v1.gen === v2.gen;\n }\n\n function isStream(v) {\n return _typeof(v) === \"object\" && v !== null && v.getBytes !== undefined;\n }\n\n function clearPrimitiveCaches() {\n Cmd._clearCache();\n\n Name._clearCache();\n\n Ref._clearCache();\n }\n /***/\n\n },\n /* 203 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n var _chunked_stream = __w_pdfjs_require__(204);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _document = __w_pdfjs_require__(206);\n\n var _stream = __w_pdfjs_require__(209);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var BasePdfManager =\n /*#__PURE__*/\n function () {\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 var manuallyTriggered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return this.pdfDocument.cleanup(manuallyTriggered);\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(reason) {\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\n var LocalPdfManager =\n /*#__PURE__*/\n function (_BasePdfManager) {\n _inherits(LocalPdfManager, _BasePdfManager);\n\n var _super = _createSuper(LocalPdfManager);\n\n function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {\n var _this;\n\n _classCallCheck(this, LocalPdfManager);\n\n _this = _super.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(reason) {}\n }]);\n\n return LocalPdfManager;\n }(BasePdfManager);\n\n exports.LocalPdfManager = LocalPdfManager;\n\n var NetworkPdfManager =\n /*#__PURE__*/\n function (_BasePdfManager2) {\n _inherits(NetworkPdfManager, _BasePdfManager2);\n\n var _super2 = _createSuper(NetworkPdfManager);\n\n function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n var _this2;\n\n _classCallCheck(this, NetworkPdfManager);\n\n _this2 = _super2.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(reason) {\n this.streamManager.abort(reason);\n }\n }]);\n\n return NetworkPdfManager;\n }(BasePdfManager);\n\n exports.NetworkPdfManager = NetworkPdfManager;\n /***/\n },\n /* 204 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ChunkedStreamManager = exports.ChunkedStream = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var ChunkedStream =\n /*#__PURE__*/\n function () {\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 = new Set();\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.has(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 this._loadedChunks.add(curChunk);\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 this._loadedChunks.add(curChunk);\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.has(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.has(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.has(chunk)) {\n return chunk;\n }\n }\n\n return null;\n }\n }, {\n key: \"hasChunk\",\n value: function hasChunk(chunk) {\n return this._loadedChunks.has(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 if (pos >= this.progressiveDataLength) {\n this.ensureByte(pos);\n }\n\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 if (strEnd > this.progressiveDataLength) {\n this.ensureRange(pos, strEnd);\n }\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 if (end > this.progressiveDataLength) {\n this.ensureRange(pos, end);\n }\n\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\n if (peekedByte !== -1) {\n this.pos--;\n }\n\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 if (begin < 0) {\n begin = 0;\n }\n\n if (end > this.end) {\n end = this.end;\n }\n\n if (end > this.progressiveDataLength) {\n this.ensureRange(begin, end);\n }\n\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 if (start + length > this.progressiveDataLength) {\n this.ensureRange(start, start + length);\n }\n } else {\n if (start >= this.progressiveDataLength) {\n this.ensureByte(start);\n }\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.has(chunk)) {\n missingChunks.push(chunk);\n }\n }\n\n return missingChunks;\n };\n\n ChunkedStreamSubstream.prototype.allChunksLoaded = function () {\n if (this.numChunksLoaded === this.numChunks) {\n return true;\n }\n\n return this.getMissingChunks().length === 0;\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: \"numChunksLoaded\",\n get: function get() {\n return this._loadedChunks.size;\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\n exports.ChunkedStream = ChunkedStream;\n\n var ChunkedStreamManager =\n /*#__PURE__*/\n function () {\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 = new Map();\n this._requestsByChunk = new Map();\n this._promisesByRequest = new Map();\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 _this2 = this;\n\n var requestId = this.currRequestId++;\n var chunksNeeded = new Set();\n\n this._chunksNeededByRequest.set(requestId, chunksNeeded);\n\n var _iterator = _createForOfIteratorHelper(chunks),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var chunk = _step.value;\n\n if (!this.stream.hasChunk(chunk)) {\n chunksNeeded.add(chunk);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (chunksNeeded.size === 0) {\n return Promise.resolve();\n }\n\n var capability = (0, _util.createPromiseCapability)();\n\n this._promisesByRequest.set(requestId, capability);\n\n var chunksToRequest = [];\n\n var _iterator2 = _createForOfIteratorHelper(chunksNeeded),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _chunk = _step2.value;\n\n var requestIds = this._requestsByChunk.get(_chunk);\n\n if (!requestIds) {\n requestIds = [];\n\n this._requestsByChunk.set(_chunk, requestIds);\n\n chunksToRequest.push(_chunk);\n }\n\n requestIds.push(requestId);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n if (chunksToRequest.length > 0) {\n var groupedChunksToRequest = this.groupChunks(chunksToRequest);\n\n var _iterator3 = _createForOfIteratorHelper(groupedChunksToRequest),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var groupedChunk = _step3.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 _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n\n return capability.promise[\"catch\"](function (reason) {\n if (_this2.aborted) {\n return;\n }\n\n throw reason;\n });\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\n var _iterator4 = _createForOfIteratorHelper(ranges),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var range = _step4.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 _iterator4.e(err);\n } finally {\n _iterator4.f();\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 curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n var requestIds = this._requestsByChunk.get(curChunk);\n\n if (!requestIds) {\n continue;\n }\n\n this._requestsByChunk[\"delete\"](curChunk);\n\n var _iterator5 = _createForOfIteratorHelper(requestIds),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var requestId = _step5.value;\n\n var chunksNeeded = this._chunksNeededByRequest.get(requestId);\n\n if (chunksNeeded.has(curChunk)) {\n chunksNeeded[\"delete\"](curChunk);\n }\n\n if (chunksNeeded.size > 0) {\n continue;\n }\n\n loadedRequests.push(requestId);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n\n if (!this.disableAutoFetch && this._requestsByChunk.size === 0) {\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\n var capability = this._promisesByRequest.get(_requestId);\n\n this._promisesByRequest[\"delete\"](_requestId);\n\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(reason) {\n this.aborted = true;\n\n if (this.pdfNetworkStream) {\n this.pdfNetworkStream.cancelAllRequests(reason);\n }\n\n var _iterator6 = _createForOfIteratorHelper(this._promisesByRequest.values()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var capability = _step6.value;\n capability.reject(reason);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n }]);\n\n return ChunkedStreamManager;\n }();\n\n exports.ChunkedStreamManager = ChunkedStreamManager;\n /***/\n },\n /* 205 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getLookupTableFactory = getLookupTableFactory;\n exports.getInheritableProperty = getInheritableProperty;\n exports.toRomanNumerals = toRomanNumerals;\n exports.log2 = log2;\n exports.readInt8 = readInt8;\n exports.readUint16 = readUint16;\n exports.readUint32 = readUint32;\n exports.isWhiteSpace = isWhiteSpace;\n exports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\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 function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function 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\n var MissingDataException =\n /*#__PURE__*/\n function (_BaseException) {\n _inherits(MissingDataException, _BaseException);\n\n var _super = _createSuper(MissingDataException);\n\n function MissingDataException(begin, end) {\n var _this;\n\n _classCallCheck(this, MissingDataException);\n\n _this = _super.call(this, \"Missing data [\".concat(begin, \", \").concat(end, \")\"));\n _this.begin = begin;\n _this.end = end;\n return _this;\n }\n\n return MissingDataException;\n }(_util.BaseException);\n\n exports.MissingDataException = MissingDataException;\n\n var XRefEntryException =\n /*#__PURE__*/\n function (_BaseException2) {\n _inherits(XRefEntryException, _BaseException2);\n\n var _super2 = _createSuper(XRefEntryException);\n\n function XRefEntryException() {\n _classCallCheck(this, XRefEntryException);\n\n return _super2.apply(this, arguments);\n }\n\n return XRefEntryException;\n }(_util.BaseException);\n\n exports.XRefEntryException = XRefEntryException;\n\n var XRefParseException =\n /*#__PURE__*/\n function (_BaseException3) {\n _inherits(XRefParseException, _BaseException3);\n\n var _super3 = _createSuper(XRefParseException);\n\n function XRefParseException() {\n _classCallCheck(this, XRefParseException);\n\n return _super3.apply(this, arguments);\n }\n\n return XRefParseException;\n }(_util.BaseException);\n\n exports.XRefParseException = XRefParseException;\n\n function 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\n var 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\n function 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 romanBuf = [];\n var pos;\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 function log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n }\n\n function readInt8(data, offset) {\n return data[offset] << 24 >> 24;\n }\n\n function readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n\n function readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n }\n\n function isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n }\n /***/\n\n },\n /* 206 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFDocument = exports.Page = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n var _obj = __w_pdfjs_require__(207);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _stream = __w_pdfjs_require__(209);\n\n var _annotation = __w_pdfjs_require__(222);\n\n var _crypto = __w_pdfjs_require__(219);\n\n var _parser = __w_pdfjs_require__(208);\n\n var _operator_list = __w_pdfjs_require__(223);\n\n var _evaluator = __w_pdfjs_require__(225);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e2) {\n throw _e2;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e3) {\n didErr = true;\n err = _e3;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var DEFAULT_USER_UNIT = 1.0;\n var LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\n function isAnnotationRenderable(annotation, intent) {\n return intent === \"display\" && annotation.viewable || intent === \"print\" && annotation.printable;\n }\n\n var Page =\n /*#__PURE__*/\n function () {\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 globalIdFactory = _ref.globalIdFactory,\n fontCache = _ref.fontCache,\n builtInCMapCache = _ref.builtInCMapCache,\n globalImageCache = _ref.globalImageCache;\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.globalImageCache = globalImageCache;\n this.evaluatorOptions = pdfManager.evaluatorOptions;\n this.resourcesPromise = null;\n var idCounters = {\n obj: 0\n };\n\n this._localIdFactory =\n /*#__PURE__*/\n function (_globalIdFactory) {\n _inherits(_class, _globalIdFactory);\n\n var _super = _createSuper(_class);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(_class, null, [{\n key: \"createObjId\",\n value: function createObjId() {\n return \"p\".concat(pageIndex, \"_\").concat(++idCounters.obj);\n }\n }]);\n\n return _class;\n }(globalIdFactory);\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({\n xref: this.xref,\n dictArray: value\n });\n }\n }, {\n key: \"_getBoundingBox\",\n value: function _getBoundingBox(name) {\n var box = this._getInheritableProperty(name, true);\n\n if (Array.isArray(box) && box.length === 4) {\n if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n return box;\n }\n\n (0, _util.warn)(\"Empty /\".concat(name, \" entry.\"));\n }\n\n return null;\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\n var _iterator = _createForOfIteratorHelper(content),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var subStream = _step.value;\n streams.push(xref.fetchIfRef(subStream));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n stream = new _stream.StreamsSequenceStream(streams);\n } else if ((0, _primitives.isStream)(content)) {\n stream = content;\n } else {\n stream = new _stream.NullStream();\n }\n\n return stream;\n }\n }, {\n key: \"save\",\n value: function save(handler, task, annotationStorage) {\n var partialEvaluator = new _evaluator.PartialEvaluator({\n xref: this.xref,\n handler: handler,\n pageIndex: this.pageIndex,\n idFactory: this._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n globalImageCache: this.globalImageCache,\n options: this.evaluatorOptions\n });\n return this._parsedAnnotations.then(function (annotations) {\n var newRefsPromises = [];\n\n var _iterator2 = _createForOfIteratorHelper(annotations),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var annotation = _step2.value;\n\n if (!isAnnotationRenderable(annotation, \"print\")) {\n continue;\n }\n\n newRefsPromises.push(annotation.save(partialEvaluator, task, annotationStorage)[\"catch\"](function (reason) {\n (0, _util.warn)(\"save - ignoring annotation data during \" + \"\\\"\".concat(task.name, \"\\\" task: \\\"\").concat(reason, \"\\\".\"));\n return null;\n }));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return Promise.all(newRefsPromises);\n });\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 sink = _ref2.sink,\n task = _ref2.task,\n intent = _ref2.intent,\n renderInteractiveForms = _ref2.renderInteractiveForms,\n annotationStorage = _ref2.annotationStorage;\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._localIdFactory,\n fontCache: this.fontCache,\n builtInCMapCache: this.builtInCMapCache,\n globalImageCache: this.globalImageCache,\n options: this.evaluatorOptions\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, sink);\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 {\n length: pageOpList.totalLength\n };\n }\n\n var opListPromises = [];\n\n var _iterator3 = _createForOfIteratorHelper(annotations),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var annotation = _step3.value;\n\n if (isAnnotationRenderable(annotation, intent)) {\n opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms, annotationStorage)[\"catch\"](function (reason) {\n (0, _util.warn)(\"getOperatorList - ignoring annotation data during \" + \"\\\"\".concat(task.name, \"\\\" task: \\\"\").concat(reason, \"\\\".\"));\n return null;\n }));\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n return Promise.all(opListPromises).then(function (opLists) {\n pageOpList.addOp(_util.OPS.beginAnnotations, []);\n\n var _iterator4 = _createForOfIteratorHelper(opLists),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var opList = _step4.value;\n pageOpList.addOpList(opList);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n pageOpList.addOp(_util.OPS.endAnnotations, []);\n pageOpList.flush(true);\n return {\n length: pageOpList.totalLength\n };\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._localIdFactory,\n fontCache: _this3.fontCache,\n builtInCMapCache: _this3.builtInCMapCache,\n globalImageCache: _this3.globalImageCache,\n options: _this3.evaluatorOptions\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 return (0, _util.shadow)(this, \"mediaBox\", this._getBoundingBox(\"MediaBox\") || LETTER_SIZE_MEDIABOX);\n }\n }, {\n key: \"cropBox\",\n get: function get() {\n return (0, _util.shadow)(this, \"cropBox\", this._getBoundingBox(\"CropBox\") || this.mediaBox);\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 cropBox = this.cropBox,\n mediaBox = this.mediaBox;\n var view;\n\n if (cropBox === mediaBox || (0, _util.isArrayEqual)(cropBox, mediaBox)) {\n view = mediaBox;\n } else {\n var box = _util.Util.intersect(cropBox, mediaBox);\n\n if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n view = box;\n } else {\n (0, _util.warn)(\"Empty /CropBox and /MediaBox intersection.\");\n }\n }\n\n return (0, _util.shadow)(this, \"view\", view || 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 annotationPromises = [];\n\n var _iterator5 = _createForOfIteratorHelper(_this4.annotations),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var annotationRef = _step5.value;\n annotationPromises.push(_annotation.AnnotationFactory.create(_this4.xref, annotationRef, _this4.pdfManager, _this4._localIdFactory)[\"catch\"](function (reason) {\n (0, _util.warn)(\"_parsedAnnotations: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n return Promise.all(annotationPromises).then(function (annotations) {\n return annotations.filter(function (annotation) {\n return !!annotation;\n });\n });\n });\n return (0, _util.shadow)(this, \"_parsedAnnotations\", parsedAnnotations);\n }\n }]);\n\n return Page;\n }();\n\n exports.Page = Page;\n var PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);\n var STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);\n var ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);\n var FINGERPRINT_FIRST_BYTES = 1024;\n var EMPTY_FINGERPRINT = \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";\n var PDF_HEADER_VERSION_REGEXP = /^[1-9]\\.[0-9]$/;\n\n function find(stream, signature) {\n var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1024;\n var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var signatureLength = signature.length;\n var scanBytes = stream.peekBytes(limit);\n var scanLength = scanBytes.length - signatureLength;\n\n if (scanLength <= 0) {\n return false;\n }\n\n if (backwards) {\n var signatureEnd = signatureLength - 1;\n var pos = scanBytes.length - 1;\n\n while (pos >= signatureEnd) {\n var j = 0;\n\n while (j < signatureLength && scanBytes[pos - j] === signature[signatureEnd - j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n stream.pos += pos - signatureEnd;\n return true;\n }\n\n pos--;\n }\n } else {\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 true;\n }\n\n _pos++;\n }\n }\n\n return false;\n }\n\n var PDFDocument =\n /*#__PURE__*/\n function () {\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 _stream.Stream(arg);\n } else {\n throw new Error(\"PDFDocument: Unknown argument type\");\n }\n\n if (stream.length <= 0) {\n throw new _util.InvalidPDFException(\"The PDF file is empty, i.e. its size is zero bytes.\");\n }\n\n this.pdfManager = pdfManager;\n this.stream = stream;\n this.xref = new _obj.XRef(stream, pdfManager);\n this._pagePromises = [];\n this._version = null;\n var idCounters = {\n font: 0\n };\n\n this._globalIdFactory =\n /*#__PURE__*/\n function () {\n function _class2() {\n _classCallCheck(this, _class2);\n }\n\n _createClass(_class2, null, [{\n key: \"getDocId\",\n value: function getDocId() {\n return \"g_\".concat(pdfManager.docId);\n }\n }, {\n key: \"createFontId\",\n value: function createFontId() {\n return \"f\".concat(++idCounters.font);\n }\n }, {\n key: \"createObjId\",\n value: function createObjId() {\n (0, _util.unreachable)(\"Abstract method `createObjId` called.\");\n }\n }]);\n\n return _class2;\n }();\n }\n\n _createClass(PDFDocument, [{\n key: \"parse\",\n value: function parse(recoveryMode) {\n this.xref.parse(recoveryMode);\n this.catalog = new _obj.Catalog(this.pdfManager, this.xref);\n\n if (this.catalog.version) {\n this._version = this.catalog.version;\n }\n }\n }, {\n key: \"checkHeader\",\n value: function checkHeader() {\n var stream = this.stream;\n stream.reset();\n\n if (!find(stream, PDF_HEADER_SIGNATURE)) {\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._version) {\n this._version = version.substring(5);\n }\n }\n }, {\n key: \"parseStartXRef\",\n value: function parseStartXRef() {\n this.xref.setStartXRef(this.startXRef);\n }\n }, {\n key: \"_hasOnlyDocumentSignatures\",\n value: function _hasOnlyDocumentSignatures(fields) {\n var _this5 = this;\n\n var recursionDepth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var RECURSION_LIMIT = 10;\n return fields.every(function (field) {\n field = _this5.xref.fetchIfRef(field);\n\n if (field.has(\"Kids\")) {\n if (++recursionDepth > RECURSION_LIMIT) {\n (0, _util.warn)(\"_hasOnlyDocumentSignatures: maximum recursion depth reached\");\n return false;\n }\n\n return _this5._hasOnlyDocumentSignatures(field.get(\"Kids\"), recursionDepth);\n }\n\n var isSignature = (0, _primitives.isName)(field.get(\"FT\"), \"Sig\");\n var rectangle = field.get(\"Rect\");\n var isInvisible = Array.isArray(rectangle) && rectangle.every(function (value) {\n return value === 0;\n });\n return isSignature && isInvisible;\n });\n }\n }, {\n key: \"_getLinearizationPage\",\n value: function _getLinearizationPage(pageIndex) {\n var catalog = this.catalog,\n linearization = this.linearization;\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 _this6 = 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: _this6.pdfManager,\n xref: _this6.xref,\n pageIndex: pageIndex,\n pageDict: pageDict,\n ref: ref,\n globalIdFactory: _this6._globalIdFactory,\n fontCache: catalog.fontCache,\n builtInCMapCache: catalog.builtInCMapCache,\n globalImageCache: catalog.globalImageCache\n });\n });\n }\n }, {\n key: \"checkFirstPage\",\n value: function checkFirstPage() {\n var _this7 = this;\n\n return this.getPage(0)[\"catch\"](\n /*#__PURE__*/\n function () {\n var _ref12 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(reason) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(reason instanceof _core_utils.XRefEntryException)) {\n _context.next = 5;\n break;\n }\n\n _this7._pagePromises.length = 0;\n _context.next = 4;\n return _this7.cleanup();\n\n case 4:\n throw new _core_utils.XRefParseException();\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref12.apply(this, arguments);\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 () {\n var _cleanup = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n var manuallyTriggered,\n _args2 = arguments;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n manuallyTriggered = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;\n return _context2.abrupt(\"return\", this.catalog ? this.catalog.cleanup(manuallyTriggered) : (0, _primitives.clearPrimitiveCaches)());\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function cleanup() {\n return _cleanup.apply(this, arguments);\n }\n\n return 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_SIGNATURE)) {\n startXRef = stream.pos + 6 - stream.start;\n }\n } else {\n var step = 1024;\n var startXRefLength = STARTXREF_SIGNATURE.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_SIGNATURE, step, true);\n }\n\n if (found) {\n stream.skip(9);\n var ch;\n\n do {\n ch = stream.getByte();\n } while ((0, _core_utils.isWhiteSpace)(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: \"formInfo\",\n get: function get() {\n var formInfo = {\n hasAcroForm: false,\n hasXfa: false\n };\n var acroForm = this.catalog.acroForm;\n\n if (!acroForm) {\n return (0, _util.shadow)(this, \"formInfo\", formInfo);\n }\n\n try {\n var xfa = acroForm.get(\"XFA\");\n var hasXfa = Array.isArray(xfa) && xfa.length > 0 || (0, _primitives.isStream)(xfa) && !xfa.isEmpty;\n formInfo.hasXfa = hasXfa;\n var fields = acroForm.get(\"Fields\");\n var hasFields = Array.isArray(fields) && fields.length > 0;\n var sigFlags = acroForm.get(\"SigFlags\");\n\n var hasOnlyDocumentSignatures = !!(sigFlags & 0x1) && this._hasOnlyDocumentSignatures(fields);\n\n formInfo.hasAcroForm = hasFields && !hasOnlyDocumentSignatures;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch form information.\");\n }\n\n return (0, _util.shadow)(this, \"formInfo\", formInfo);\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 version = this._version;\n\n if (typeof version !== \"string\" || !PDF_HEADER_VERSION_REGEXP.test(version)) {\n (0, _util.warn)(\"Invalid PDF header version number: \".concat(version));\n version = null;\n }\n\n var docInfo = {\n PDFFormatVersion: version,\n IsLinearized: !!this.linearization,\n IsAcroFormPresent: this.formInfo.hasAcroForm,\n IsXFAPresent: this.formInfo.hasXfa,\n IsCollectionPresent: !!this.catalog.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 _iterator6 = _createForOfIteratorHelper(infoDict.getKeys()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var key = _step6.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 _iterator6.e(err);\n } finally {\n _iterator6.f();\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 hash = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n }\n\n var fingerprintBuf = [];\n\n for (var i = 0, ii = hash.length; i < ii; i++) {\n var hex = hash[i].toString(16);\n fingerprintBuf.push(hex.padStart(2, \"0\"));\n }\n\n return (0, _util.shadow)(this, \"fingerprint\", fingerprintBuf.join(\"\"));\n }\n }]);\n\n return PDFDocument;\n }();\n\n exports.PDFDocument = PDFDocument;\n /***/\n },\n /* 207 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _parser = __w_pdfjs_require__(208);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _crypto = __w_pdfjs_require__(219);\n\n var _colorspace = __w_pdfjs_require__(220);\n\n var _image_utils = __w_pdfjs_require__(221);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e2) {\n throw _e2;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e3) {\n didErr = true;\n err = _e3;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function fetchDestination(dest) {\n return (0, _primitives.isDict)(dest) ? dest.get(\"D\") : dest;\n }\n\n var Catalog =\n /*#__PURE__*/\n function () {\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.globalImageCache = new _image_utils.GlobalImageCache();\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: \"_readOptionalContentConfig\",\n value: function _readOptionalContentConfig(config, contentGroupRefs) {\n function parseOnOff(refs) {\n var onParsed = [];\n\n if (Array.isArray(refs)) {\n var _iterator = _createForOfIteratorHelper(refs),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var value = _step.value;\n\n if (!(0, _primitives.isRef)(value)) {\n continue;\n }\n\n if (contentGroupRefs.includes(value)) {\n onParsed.push(value.toString());\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return onParsed;\n }\n\n function parseOrder(refs) {\n var nestedLevels = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!Array.isArray(refs)) {\n return null;\n }\n\n var order = [];\n\n var _iterator2 = _createForOfIteratorHelper(refs),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var value = _step2.value;\n\n if ((0, _primitives.isRef)(value) && contentGroupRefs.includes(value)) {\n parsedOrderRefs.put(value);\n order.push(value.toString());\n continue;\n }\n\n var nestedOrder = parseNestedOrder(value, nestedLevels);\n\n if (nestedOrder) {\n order.push(nestedOrder);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n if (nestedLevels > 0) {\n return order;\n }\n\n var hiddenGroups = [];\n\n var _iterator3 = _createForOfIteratorHelper(contentGroupRefs),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var groupRef = _step3.value;\n\n if (parsedOrderRefs.has(groupRef)) {\n continue;\n }\n\n hiddenGroups.push(groupRef.toString());\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n if (hiddenGroups.length) {\n order.push({\n name: null,\n order: hiddenGroups\n });\n }\n\n return order;\n }\n\n function parseNestedOrder(ref, nestedLevels) {\n if (++nestedLevels > MAX_NESTED_LEVELS) {\n (0, _util.warn)(\"parseNestedOrder - reached MAX_NESTED_LEVELS.\");\n return null;\n }\n\n var value = xref.fetchIfRef(ref);\n\n if (!Array.isArray(value)) {\n return null;\n }\n\n var nestedName = xref.fetchIfRef(value[0]);\n\n if (typeof nestedName !== \"string\") {\n return null;\n }\n\n var nestedOrder = parseOrder(value.slice(1), nestedLevels);\n\n if (!nestedOrder || !nestedOrder.length) {\n return null;\n }\n\n return {\n name: (0, _util.stringToPDFString)(nestedName),\n order: nestedOrder\n };\n }\n\n var xref = this.xref,\n parsedOrderRefs = new _primitives.RefSet(),\n MAX_NESTED_LEVELS = 10;\n return {\n name: (0, _util.isString)(config.get(\"Name\")) ? (0, _util.stringToPDFString)(config.get(\"Name\")) : null,\n creator: (0, _util.isString)(config.get(\"Creator\")) ? (0, _util.stringToPDFString)(config.get(\"Creator\")) : null,\n baseState: (0, _primitives.isName)(config.get(\"BaseState\")) ? config.get(\"BaseState\").name : null,\n on: parseOnOff(config.get(\"ON\")),\n off: parseOnOff(config.get(\"OFF\")),\n order: parseOrder(config.get(\"Order\")),\n groups: null\n };\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 _iterator4 = _createForOfIteratorHelper(translatedFonts),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var translatedFont = _step4.value;\n\n if (translatedFont.loadedName === id) {\n translatedFont.fallback(handler);\n return;\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var _this = this;\n\n var manuallyTriggered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n (0, _primitives.clearPrimitiveCaches)();\n this.globalImageCache.clear(manuallyTriggered);\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 var _iterator5 = _createForOfIteratorHelper(translatedFonts),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var dict = _step5.value.dict;\n delete dict.translated;\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\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 visitedNodes = new _primitives.RefSet();\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 if (visitedNodes.has(currentNode)) {\n capability.reject(new _util.FormatError(\"Pages tree contains circular reference.\"));\n return {\n v: void 0\n };\n }\n\n visitedNodes.put(currentNode);\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 if (_ret === \"continue\") continue;\n if (_typeof(_ret) === \"object\") return _ret.v;\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 (obj) {\n if (!(0, _primitives.isDict)(obj)) {\n throw new _util.FormatError(\"Kid node must be a dictionary.\");\n }\n\n if (obj.has(\"Count\")) {\n total += obj.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: \"version\",\n get: function get() {\n var version = this._catDict.get(\"Version\");\n\n if (!(0, _primitives.isName)(version)) {\n return (0, _util.shadow)(this, \"version\", null);\n }\n\n return (0, _util.shadow)(this, \"version\", version.name);\n }\n }, {\n key: \"collection\",\n get: function get() {\n var collection = null;\n\n try {\n var obj = this._catDict.get(\"Collection\");\n\n if ((0, _primitives.isDict)(obj) && obj.size > 0) {\n collection = obj;\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.info)(\"Cannot fetch Collection entry; assuming no collection is present.\");\n }\n\n return (0, _util.shadow)(this, \"collection\", collection);\n }\n }, {\n key: \"acroForm\",\n get: function get() {\n var acroForm = null;\n\n try {\n var obj = this._catDict.get(\"AcroForm\");\n\n if ((0, _primitives.isDict)(obj) && obj.size > 0) {\n acroForm = obj;\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 forms are present.\");\n }\n\n return (0, _util.shadow)(this, \"acroForm\", acroForm);\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: \"optionalContentConfig\",\n get: function get() {\n var config = null;\n\n try {\n var properties = this._catDict.get(\"OCProperties\");\n\n if (!properties) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n\n var defaultConfig = properties.get(\"D\");\n\n if (!defaultConfig) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n\n var groupsData = properties.get(\"OCGs\");\n\n if (!Array.isArray(groupsData)) {\n return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n }\n\n var groups = [];\n var groupRefs = [];\n\n var _iterator6 = _createForOfIteratorHelper(groupsData),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var groupRef = _step6.value;\n\n if (!(0, _primitives.isRef)(groupRef)) {\n continue;\n }\n\n groupRefs.push(groupRef);\n var group = this.xref.fetchIfRef(groupRef);\n groups.push({\n id: groupRef.toString(),\n name: (0, _util.isString)(group.get(\"Name\")) ? (0, _util.stringToPDFString)(group.get(\"Name\")) : null,\n intent: (0, _util.isString)(group.get(\"Intent\")) ? (0, _util.stringToPDFString)(group.get(\"Intent\")) : null\n });\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n config = this._readOptionalContentConfig(defaultConfig, groupRefs);\n config.groups = groups;\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Unable to read optional content config: \".concat(ex));\n }\n\n return (0, _util.shadow)(this, \"optionalContentConfig\", config);\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\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\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\n var obj = this._catDict.get(\"ViewerPreferences\");\n\n var prefs = 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 if (typeof value !== \"boolean\") {\n throw new _util.FormatError(\"viewerPreferences - expected a boolean value for: \".concat(key));\n }\n\n prefValue = value;\n }\n\n if (prefValue !== undefined) {\n if (!prefs) {\n prefs = Object.create(null);\n }\n\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: \"openAction\",\n get: function get() {\n var obj = this._catDict.get(\"OpenAction\");\n\n var openAction = 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 action: null\n };\n Catalog.parseDestDictionary({\n destDict: destDict,\n resultObj: resultObj\n });\n\n if (Array.isArray(resultObj.dest)) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.dest = resultObj.dest;\n } else if (resultObj.action) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.action = resultObj.action;\n }\n } else if (Array.isArray(obj)) {\n if (!openAction) {\n openAction = Object.create(null);\n }\n\n openAction.dest = obj;\n }\n\n return (0, _util.shadow)(this, \"openAction\", openAction);\n }\n }, {\n key: \"attachments\",\n get: function get() {\n var obj = this._catDict.get(\"Names\");\n\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\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 openAction = this._catDict.get(\"OpenAction\");\n\n if ((0, _primitives.isDict)(openAction) && (0, _primitives.isName)(openAction.get(\"S\"), \"JavaScript\")) {\n appendIfJavaScriptDict(openAction);\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\n exports.Catalog = Catalog;\n\n var 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._cacheMap = new Map();\n this.stats = {\n streamTypes: Object.create(null),\n fontTypes: Object.create(null)\n };\n this._newRefNum = null;\n }\n\n XRef.prototype = {\n getNewRef: function XRef_getNewRef() {\n if (this._newRefNum === null) {\n this._newRefNum = this.entries.length;\n }\n\n return _primitives.Ref.get(this._newRefNum++, 0);\n },\n resetNewRef: function XRef_resetNewRef() {\n this._newRefNum = null;\n },\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 (!this.entries[num] || this.entries[num].gen === gen) {\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 (obj instanceof _primitives.Ref) {\n return this.fetch(obj, suppressEncryption);\n }\n\n return obj;\n },\n fetch: function XRef_fetch(ref, suppressEncryption) {\n if (!(ref instanceof _primitives.Ref)) {\n throw new Error(\"ref object is not a reference\");\n }\n\n var num = ref.num;\n\n var cacheEntry = this._cacheMap.get(num);\n\n if (cacheEntry !== undefined) {\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 this._cacheMap.set(num, xrefEntry);\n\n return xrefEntry;\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 (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._cacheMap.set(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 nums = new Array(n);\n\n for (var i = 0; i < n; ++i) {\n var 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 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 nums[i] = num;\n }\n\n var entries = new Array(n);\n\n for (var _i2 = 0; _i2 < n; ++_i2) {\n var obj = parser.getObj();\n entries[_i2] = obj;\n\n if (parser.buf1 instanceof _primitives.Cmd && parser.buf1.cmd === \"endobj\") {\n parser.shift();\n }\n\n if ((0, _primitives.isStream)(obj)) {\n continue;\n }\n\n var _num = nums[_i2],\n entry = this.entries[_num];\n\n if (entry && entry.offset === tableOffset && entry.gen === _i2) {\n this._cacheMap.set(_num, obj);\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 fetchIfRefAsync(obj, suppressEncryption) {\n var _this3 = this;\n\n return _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(obj instanceof _primitives.Ref)) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", _this3.fetchAsync(obj, suppressEncryption));\n\n case 2:\n return _context.abrupt(\"return\", obj);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n fetchAsync: function fetchAsync(ref, suppressEncryption) {\n var _this4 = this;\n\n return _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2() {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n return _context2.abrupt(\"return\", _this4.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 _this4.pdfManager.requestRange(_context2.t0.begin, _context2.t0.end);\n\n case 10:\n return _context2.abrupt(\"return\", _this4.fetchAsync(ref, suppressEncryption));\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[0, 4]]);\n }))();\n },\n getCatalogObj: function XRef_getCatalogObj() {\n return this.root;\n }\n };\n return XRef;\n }();\n\n exports.XRef = XRef;\n\n var NameOrNumberTree =\n /*#__PURE__*/\n function () {\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 _i3 = 0, _ii = entries.length; _i3 < _ii; _i3 += 2) {\n dict[xref.fetchIfRef(entries[_i3])] = xref.fetchIfRef(entries[_i3 + 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\n var NameTree =\n /*#__PURE__*/\n function (_NameOrNumberTree) {\n _inherits(NameTree, _NameOrNumberTree);\n\n var _super = _createSuper(NameTree);\n\n function NameTree(root, xref) {\n _classCallCheck(this, NameTree);\n\n return _super.call(this, root, xref, \"Names\");\n }\n\n return NameTree;\n }(NameOrNumberTree);\n\n var NumberTree =\n /*#__PURE__*/\n function (_NameOrNumberTree2) {\n _inherits(NumberTree, _NameOrNumberTree2);\n\n var _super2 = _createSuper(NumberTree);\n\n function NumberTree(root, xref) {\n _classCallCheck(this, NumberTree);\n\n return _super2.call(this, root, xref, \"Nums\");\n }\n\n return NumberTree;\n }(NameOrNumberTree);\n\n var 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\n exports.FileSpec = FileSpec;\n\n var ObjectLoader = function () {\n function mayHaveChildren(value) {\n return value instanceof _primitives.Ref || value instanceof _primitives.Dict || Array.isArray(value) || (0, _primitives.isStream)(value);\n }\n\n function addChildren(node, nodesToVisit) {\n if (node instanceof _primitives.Dict) {\n node = node.getRawValues();\n } else if ((0, _primitives.isStream)(node)) {\n node = node.dict.getRawValues();\n } else if (!Array.isArray(node)) {\n return;\n }\n\n var _iterator7 = _createForOfIteratorHelper(node),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var rawValue = _step7.value;\n\n if (mayHaveChildren(rawValue)) {\n nodesToVisit.push(rawValue);\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\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 }\n\n ObjectLoader.prototype = {\n load: function load() {\n var _this5 = this;\n\n return _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee3() {\n var keys, dict, nodesToVisit, i, ii, rawValue;\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(!_this5.xref.stream.allChunksLoaded || _this5.xref.stream.allChunksLoaded())) {\n _context3.next = 2;\n break;\n }\n\n return _context3.abrupt(\"return\", undefined);\n\n case 2:\n keys = _this5.keys, dict = _this5.dict;\n _this5.refSet = new _primitives.RefSet();\n nodesToVisit = [];\n\n for (i = 0, ii = keys.length; i < ii; i++) {\n rawValue = dict.getRaw(keys[i]);\n\n if (rawValue !== undefined) {\n nodesToVisit.push(rawValue);\n }\n }\n\n return _context3.abrupt(\"return\", _this5._walk(nodesToVisit));\n\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n _walk: function _walk(nodesToVisit) {\n var _this6 = this;\n\n return _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee4() {\n var nodesToRevisit, pendingRequests, currentNode, baseStreams, foundMissingData, i, ii, stream, _i4, _ii2, node;\n\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n nodesToRevisit = [];\n pendingRequests = [];\n\n case 2:\n if (!nodesToVisit.length) {\n _context4.next = 22;\n break;\n }\n\n currentNode = nodesToVisit.pop();\n\n if (!(currentNode instanceof _primitives.Ref)) {\n _context4.next = 18;\n break;\n }\n\n if (!_this6.refSet.has(currentNode)) {\n _context4.next = 7;\n break;\n }\n\n return _context4.abrupt(\"continue\", 2);\n\n case 7:\n _context4.prev = 7;\n\n _this6.refSet.put(currentNode);\n\n currentNode = _this6.xref.fetch(currentNode);\n _context4.next = 18;\n break;\n\n case 12:\n _context4.prev = 12;\n _context4.t0 = _context4[\"catch\"](7);\n\n if (_context4.t0 instanceof _core_utils.MissingDataException) {\n _context4.next = 16;\n break;\n }\n\n throw _context4.t0;\n\n case 16:\n nodesToRevisit.push(currentNode);\n pendingRequests.push({\n begin: _context4.t0.begin,\n end: _context4.t0.end\n });\n\n case 18:\n if (currentNode && currentNode.getBaseStreams) {\n baseStreams = currentNode.getBaseStreams();\n foundMissingData = false;\n\n for (i = 0, ii = baseStreams.length; i < ii; i++) {\n stream = baseStreams[i];\n\n if (stream.allChunksLoaded && !stream.allChunksLoaded()) {\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 _context4.next = 2;\n break;\n\n case 22:\n if (!pendingRequests.length) {\n _context4.next = 27;\n break;\n }\n\n _context4.next = 25;\n return _this6.xref.stream.manager.requestRanges(pendingRequests);\n\n case 25:\n for (_i4 = 0, _ii2 = nodesToRevisit.length; _i4 < _ii2; _i4++) {\n node = nodesToRevisit[_i4];\n\n if (node instanceof _primitives.Ref) {\n _this6.refSet.remove(node);\n }\n }\n\n return _context4.abrupt(\"return\", _this6._walk(nodesToRevisit));\n\n case 27:\n _this6.refSet = null;\n return _context4.abrupt(\"return\", undefined);\n\n case 29:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[7, 12]]);\n }))();\n }\n };\n return ObjectLoader;\n }();\n\n exports.ObjectLoader = ObjectLoader;\n /***/\n },\n /* 208 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Parser = exports.Linearization = exports.Lexer = void 0;\n\n var _stream = __w_pdfjs_require__(209);\n\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _ccitt_stream = __w_pdfjs_require__(210);\n\n var _jbig2_stream = __w_pdfjs_require__(212);\n\n var _jpeg_stream = __w_pdfjs_require__(215);\n\n var _jpx_stream = __w_pdfjs_require__(217);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var MAX_LENGTH_TO_CACHE = 1000;\n var MAX_ADLER32_LENGTH = 5552;\n\n function 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\n var Parser =\n /*#__PURE__*/\n function () {\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 (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === \"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() {\n var cipherTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\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 if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, \"R\")) {\n var ref = _primitives.Ref.get(buf1, this.buf1);\n\n this.shift();\n this.shift();\n return ref;\n }\n\n return buf1;\n }\n\n if (typeof buf1 === \"string\") {\n if (cipherTransform) {\n return cipherTransform.decryptString(buf1);\n }\n\n return buf1;\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 NUL = 0x0;\n var lexer = this.lexer,\n startPos = stream.pos,\n n = 10;\n var 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, \"findDefaultInlineStreamEnd - invalid state.\");\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 continue;\n }\n\n if (lexer.knownCommands) {\n var nextObj = lexer.peekObj();\n\n if (nextObj instanceof _primitives.Cmd && !lexer.knownCommands[nextObj.cmd]) {\n state = 0;\n }\n } else {\n (0, _util.warn)(\"findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.\");\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, _core_utils.isWhiteSpace)(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 var foundEOI = false,\n b,\n markerLength;\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 var 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 var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === TILDE) {\n var tildePos = stream.pos;\n ch = stream.peekByte();\n\n while ((0, _core_utils.isWhiteSpace)(ch)) {\n stream.skip();\n ch = stream.peekByte();\n }\n\n if (ch === GT) {\n stream.skip();\n break;\n }\n\n if (stream.pos > tildePos) {\n var maybeEI = stream.peekBytes(2);\n\n if (maybeEI[0] === 0x45 && maybeEI[1] === 0x49) {\n break;\n }\n }\n }\n }\n\n var 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 var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === GT) {\n break;\n }\n }\n\n var 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, _core_utils.isWhiteSpace)(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.RLX] = 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\n exports.Parser = Parser;\n var specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n function toHexDigit(ch) {\n if (ch >= 0x30 && ch <= 0x39) {\n return ch & 0x0f;\n }\n\n if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n return (ch & 0x0f) + 9;\n }\n\n return -1;\n }\n\n var Lexer =\n /*#__PURE__*/\n function () {\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._hexStringNumWarn = 0;\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, _core_utils.isWhiteSpace)(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 (ch >= 0x30 && 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: \"_hexStringWarn\",\n value: function _hexStringWarn(ch) {\n var MAX_HEX_STRING_NUM_WARN = 5;\n\n if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {\n (0, _util.warn)(\"getHexString - ignoring additional invalid characters.\");\n return;\n }\n\n if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {\n return;\n }\n\n (0, _util.warn)(\"getHexString - ignoring invalid character: \".concat(ch));\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 this._hexStringNumWarn = 0;\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 this._hexStringWarn(ch);\n\n ch = this.nextChar();\n continue;\n }\n } else {\n secondDigit = toHexDigit(ch);\n\n if (secondDigit === -1) {\n this._hexStringWarn(ch);\n\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: \"peekObj\",\n value: function peekObj() {\n var streamPos = this.stream.pos,\n currentChar = this.currentChar,\n beginInlineImagePos = this.beginInlineImagePos;\n var nextObj;\n\n try {\n nextObj = this.getObj();\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"peekObj: \".concat(ex));\n }\n\n this.stream.pos = streamPos;\n this.currentChar = currentChar;\n this.beginInlineImagePos = beginInlineImagePos;\n return nextObj;\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\n exports.Lexer = Lexer;\n\n var Linearization =\n /*#__PURE__*/\n function () {\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\n exports.Linearization = Linearization;\n /***/\n },\n /* 209 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.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\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n var 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\n if (peekedByte !== -1) {\n this.pos--;\n }\n\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 getByteRange: function getByteRange(begin, end) {\n if (begin < 0) {\n begin = 0;\n }\n\n if (end > this.end) {\n end = this.end;\n }\n\n return this.bytes.subarray(begin, end);\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\n exports.Stream = Stream;\n\n var 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\n exports.StringStream = StringStream;\n\n var 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\n if (peekedByte !== -1) {\n this.pos--;\n }\n\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 getByteRange: function getByteRange(begin, end) {\n (0, _util.unreachable)(\"Should not call DecodeStream.getByteRange\");\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\n exports.DecodeStream = DecodeStream;\n\n var 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\n exports.StreamsSequenceStream = StreamsSequenceStream;\n\n var 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 end = bufferLength + blockLen;\n buffer = this.ensureBuffer(end);\n this.bufferLength = end;\n\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n } else {\n var block = str.getBytes(blockLen);\n buffer.set(block, bufferLength);\n\n if (block.length < blockLen) {\n this.eof = true;\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\n exports.FlateStream = FlateStream;\n\n var 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\n exports.PredictorStream = PredictorStream;\n\n var 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\n exports.DecryptStream = DecryptStream;\n\n var 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, _core_utils.isWhiteSpace)(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, _core_utils.isWhiteSpace)(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\n exports.Ascii85Stream = Ascii85Stream;\n\n var 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\n exports.AsciiHexStream = AsciiHexStream;\n\n var 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\n exports.RunLengthStream = RunLengthStream;\n\n var 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\n exports.LZWStream = LZWStream;\n\n var 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\n exports.NullStream = NullStream;\n /***/\n },\n /* 210 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CCITTFaxStream = void 0;\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _ccitt = __w_pdfjs_require__(211);\n\n var _stream = __w_pdfjs_require__(209);\n\n var 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\n exports.CCITTFaxStream = CCITTFaxStream;\n /***/\n },\n /* 211 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CCITTFaxDecoder = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var 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\n exports.CCITTFaxDecoder = CCITTFaxDecoder;\n /***/\n },\n /* 212 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Jbig2Stream = void 0;\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _stream = __w_pdfjs_require__(209);\n\n var _jbig = __w_pdfjs_require__(213);\n\n var _util = __w_pdfjs_require__(5);\n\n var 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\n exports.Jbig2Stream = Jbig2Stream;\n /***/\n },\n /* 213 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Jbig2Image = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _arithmetic_decoder = __w_pdfjs_require__(214);\n\n var _ccitt = __w_pdfjs_require__(211);\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\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 function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n var Jbig2Error =\n /*#__PURE__*/\n function (_BaseException) {\n _inherits(Jbig2Error, _BaseException);\n\n var _super = _createSuper(Jbig2Error);\n\n function Jbig2Error(msg) {\n _classCallCheck(this, Jbig2Error);\n\n return _super.call(this, \"JBIG2 error: \".concat(msg));\n }\n\n return Jbig2Error;\n }(_util.BaseException);\n\n var 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\n if (sign === 0) {\n return value;\n } else if (value > 0) {\n return -value;\n }\n\n return 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, _core_utils.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\n for (var i = 0; i <= maxPatternIndex; i++) {\n var patternBitmap = [];\n var xMin = patternWidth * i;\n var xMax = xMin + patternWidth;\n\n for (var y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n\n patterns.push(patternBitmap);\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, _core_utils.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 var mmrInput, 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, _core_utils.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, _core_utils.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 = 4;\n\n if (segmentHeader.number <= 256) {\n referredToSegmentNumberSize = 1;\n } else if (segmentHeader.number <= 65536) {\n referredToSegmentNumberSize = 2;\n }\n\n var referredTo = [];\n var i, ii;\n\n for (i = 0; i < referredToCount; i++) {\n var number = void 0;\n\n if (referredToSegmentNumberSize === 1) {\n number = data[position];\n } else if (referredToSegmentNumberSize === 2) {\n number = (0, _core_utils.readUint16)(data, position);\n } else {\n number = (0, _core_utils.readUint32)(data, position);\n }\n\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, _core_utils.readUint32)(data, position);\n position += 4;\n }\n\n segmentHeader.length = (0, _core_utils.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, _core_utils.readUint32)(data, start),\n height: (0, _core_utils.readUint32)(data, start + 4),\n x: (0, _core_utils.readUint32)(data, start + 8),\n y: (0, _core_utils.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, _core_utils.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, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.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, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n dictionary.refinementAt = at;\n }\n\n dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = (0, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.readInt8)(data, position + 1)\n });\n position += 2;\n }\n\n textRegion.refinementAt = at;\n }\n\n textRegion.numberOfSymbolInstances = (0, _core_utils.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, _core_utils.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, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);\n position += 2;\n halftoneRegion.gridVectorY = (0, _core_utils.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, _core_utils.readInt8)(data, position),\n y: (0, _core_utils.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, _core_utils.readUint32)(data, position),\n height: (0, _core_utils.readUint32)(data, position + 4),\n resolutionX: (0, _core_utils.readUint32)(data, position + 8),\n resolutionY: (0, _core_utils.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, _core_utils.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 end = data.length;\n var position = 0;\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, _core_utils.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, _core_utils.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\n for (var i = 0, ii = lines.length; i < ii; i++) {\n var 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 var prefixLengthMax = 0;\n\n for (var 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 (var _i2 = 0; _i2 < linesLength; _i2++) {\n histogram[lines[_i2].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, _core_utils.readUint32)(data, start + 1) & 0xffffffff;\n var highestValue = (0, _core_utils.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 for (var i = 0, ii = lines.length; i < ii; 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\n for (var i = 0, ii = referredTo.length; i < ii; i++) {\n var 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\n for (var i = 0; i <= 34; i++) {\n var 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 (var _i3 = 0; _i3 < numberOfSymbols;) {\n var _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 (_i3 === 0) {\n throw new Jbig2Error(\"no previous value in symbol ID table\");\n }\n\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[_i3 - 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([_i3, repeatedLength, 0, 0]));\n _i3++;\n }\n } else {\n codes.push(new HuffmanLine([_i3, _codeLength, 0, 0]));\n _i3++;\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\n for (var y = 0; y < height; y++) {\n var row = new Uint8Array(width);\n bitmap.push(row);\n\n for (var 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 var currentByte,\n eof = false;\n\n for (var y = 0; y < height; y++) {\n var row = new Uint8Array(width);\n bitmap.push(row);\n var shift = -1;\n\n for (var 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\n exports.Jbig2Image = Jbig2Image;\n /***/\n },\n /* 214 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ArithmeticDecoder = void 0;\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var 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\n var ArithmeticDecoder =\n /*#__PURE__*/\n function () {\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\n exports.ArithmeticDecoder = ArithmeticDecoder;\n /***/\n },\n /* 215 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.JpegStream = void 0;\n\n var _stream = __w_pdfjs_require__(209);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _jpg = __w_pdfjs_require__(216);\n\n var _util = __w_pdfjs_require__(5);\n\n var 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 return JpegStream;\n }();\n\n exports.JpegStream = JpegStream;\n /***/\n },\n /* 216 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.JpegImage = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\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 function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n var JpegError =\n /*#__PURE__*/\n function (_BaseException) {\n _inherits(JpegError, _BaseException);\n\n var _super = _createSuper(JpegError);\n\n function JpegError(msg) {\n _classCallCheck(this, JpegError);\n\n return _super.call(this, \"JPEG error: \".concat(msg));\n }\n\n return JpegError;\n }(_util.BaseException);\n\n var DNLMarkerError =\n /*#__PURE__*/\n function (_BaseException2) {\n _inherits(DNLMarkerError, _BaseException2);\n\n var _super2 = _createSuper(DNLMarkerError);\n\n function DNLMarkerError(message, scanLines) {\n var _this;\n\n _classCallCheck(this, DNLMarkerError);\n\n _this = _super2.call(this, message);\n _this.scanLines = scanLines;\n return _this;\n }\n\n return DNLMarkerError;\n }(_util.BaseException);\n\n var EOIMarkerError =\n /*#__PURE__*/\n function (_BaseException3) {\n _inherits(EOIMarkerError, _BaseException3);\n\n var _super3 = _createSuper(EOIMarkerError);\n\n function EOIMarkerError() {\n _classCallCheck(this, EOIMarkerError);\n\n return _super3.apply(this, arguments);\n }\n\n return EOIMarkerError;\n }(_util.BaseException);\n\n var 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 var 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 = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 if (parseDNLMarker) {\n var maybeScanLines = blockRow * (frame.precision === 8 ? 8 : 0);\n\n if (maybeScanLines > 0 && Math.round(frame.scanLines / maybeScanLines) >= 10) {\n throw new DNLMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data, \" + \"possibly caused by incorrect `scanLines` parameter\", maybeScanLines);\n }\n }\n\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 switch (_typeof(node)) {\n case \"number\":\n return node;\n\n case \"object\":\n continue;\n }\n\n throw new JpegError(\"invalid huffman sequence\");\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, blockOffset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[blockOffset] = 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[blockOffset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, blockOffset) {\n var t = decodeHuffman(component.huffmanTableDC);\n var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[blockOffset] = component.pred += diff;\n }\n\n function decodeDCSuccessive(component, blockOffset) {\n component.blockData[blockOffset] |= readBit() << successive;\n }\n\n var eobrun = 0;\n\n function decodeACFirst(component, blockOffset) {\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[blockOffset + z] = receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n var successiveACState = 0,\n successiveACNextValue;\n\n function decodeACSuccessive(component, blockOffset) {\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 = blockOffset + 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 var blockRow = 0;\n\n function decodeMcu(component, decode, mcu, row, col) {\n var mcuRow = mcu / mcusPerLine | 0;\n var mcuCol = mcu % mcusPerLine;\n blockRow = mcuRow * component.v + row;\n var blockCol = mcuCol * component.h + col;\n var blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n\n function decodeBlock(component, decode, mcu) {\n blockRow = mcu / component.blocksPerLine | 0;\n var blockCol = mcu % component.blocksPerLine;\n var blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\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 if (mcuToRead > 0) {\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\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n\n if (!fileMarker) {\n break;\n }\n\n if (fileMarker.invalid) {\n var partialMsg = mcuToRead > 0 ? \"unexpected\" : \"excessive\";\n (0, _util.warn)(\"decodeScan - \".concat(partialMsg, \" MCU data, current marker is: \").concat(fileMarker.invalid));\n offset = fileMarker.offset;\n }\n\n if (fileMarker.marker >= 0xffd0 && fileMarker.marker <= 0xffd7) {\n offset += 2;\n } else {\n break;\n }\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\n if (t < -2040) {\n t = 0;\n } else if (t >= 2024) {\n t = 255;\n } else {\n t = t + 2056 >> 4;\n }\n\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\n if (p0 < 16) {\n p0 = 0;\n } else if (p0 >= 4080) {\n p0 = 255;\n } else {\n p0 >>= 4;\n }\n\n if (p1 < 16) {\n p1 = 0;\n } else if (p1 >= 4080) {\n p1 = 255;\n } else {\n p1 >>= 4;\n }\n\n if (p2 < 16) {\n p2 = 0;\n } else if (p2 >= 4080) {\n p2 = 255;\n } else {\n p2 >>= 4;\n }\n\n if (p3 < 16) {\n p3 = 0;\n } else if (p3 >= 4080) {\n p3 = 255;\n } else {\n p3 >>= 4;\n }\n\n if (p4 < 16) {\n p4 = 0;\n } else if (p4 >= 4080) {\n p4 = 255;\n } else {\n p4 >>= 4;\n }\n\n if (p5 < 16) {\n p5 = 0;\n } else if (p5 >= 4080) {\n p5 = 255;\n } else {\n p5 >>= 4;\n }\n\n if (p6 < 16) {\n p6 = 0;\n } else if (p6 >= 4080) {\n p6 = 255;\n } else {\n p6 >>= 4;\n }\n\n if (p7 < 16) {\n p7 = 0;\n } else if (p7 >= 4080) {\n p7 = 255;\n } else {\n p7 >>= 4;\n }\n\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 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 = (0, _core_utils.readUint16)(data, 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 = (0, _core_utils.readUint16)(data, newPos);\n\n while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n if (++newPos >= maxPos) {\n return null;\n }\n\n newMarker = (0, _core_utils.readUint16)(data, 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 readDataBlock() {\n var length = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n\n if (fileMarker !== 0xffd8) {\n throw new JpegError(\"SOI not found\");\n }\n\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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] = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 offset += 2;\n frame = {};\n frame.extended = fileMarker === 0xffc1;\n frame.progressive = fileMarker === 0xffc2;\n frame.precision = data[offset++];\n var sofScanLines = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 offset += 2;\n resetInterval = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\n break;\n\n case 0xffda:\n var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n offset += 2;\n var selectorsCount = data[offset++];\n var components = [],\n component;\n\n for (i = 0; i < selectorsCount; i++) {\n var index = data[offset++];\n var componentIndex = frame.componentIds[index];\n component = frame.components[componentIndex];\n component.index = index;\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 var nextFileMarker = findNextFileMarker(data, offset - 2, offset - 3);\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 if (offset >= data.length - 1) {\n (0, _util.warn)(\"JpegImage.parse - reached the end of the image data \" + \"without finding an EOI marker (0xFFD9).\");\n break markerLoop;\n }\n\n throw new JpegError(\"JpegImage.parse - unknown marker: \" + fileMarker.toString(16));\n }\n\n fileMarker = (0, _core_utils.readUint16)(data, offset);\n offset += 2;\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 index: component.index,\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 var lastComponentScaleX;\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 if (componentScaleX !== lastComponentScaleX) {\n for (x = 0; x < width; x++) {\n j = 0 | x * componentScaleX;\n xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n }\n\n lastComponentScaleX = componentScaleX;\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 } else if (this.components[0].index === 0x52 && this.components[1].index === 0x47 && this.components[2].index === 0x42) {\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\n for (var i = 0, length = data.length; i < length; i += 4) {\n c = data[i];\n m = data[i + 1];\n y = data[i + 2];\n k = data[i + 3];\n data[offset++] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m - 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * (-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * k + 0.7430659151342254);\n data[offset++] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 * y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.00031891311758832814 * k + 0.7364883807733168);\n data[offset++] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 * m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * (5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k + 0.7063770186160144);\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\n exports.JpegImage = JpegImage;\n /***/\n },\n /* 217 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.JpxStream = void 0;\n\n var _stream = __w_pdfjs_require__(209);\n\n var _jpx = __w_pdfjs_require__(218);\n\n var _util = __w_pdfjs_require__(5);\n\n var 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\n exports.JpxStream = JpxStream;\n /***/\n },\n /* 218 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.JpxImage = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _arithmetic_decoder = __w_pdfjs_require__(214);\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\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 function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n var JpxError =\n /*#__PURE__*/\n function (_BaseException) {\n _inherits(JpxError, _BaseException);\n\n var _super = _createSuper(JpxError);\n\n function JpxError(msg) {\n _classCallCheck(this, JpxError);\n\n return _super.call(this, \"JPX error: \".concat(msg));\n }\n\n return JpxError;\n }(_util.BaseException);\n\n var 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, _core_utils.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, _core_utils.readUint32)(data, position);\n var tbox = (0, _core_utils.readUint32)(data, position + 4);\n position += headerSize;\n\n if (lbox === 1) {\n lbox = (0, _core_utils.readUint32)(data, position) * 4294967296 + (0, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.readUint16)(data, position);\n var siz = {};\n siz.Xsiz = (0, _core_utils.readUint32)(data, position + 4);\n siz.Ysiz = (0, _core_utils.readUint32)(data, position + 8);\n siz.XOsiz = (0, _core_utils.readUint32)(data, position + 12);\n siz.YOsiz = (0, _core_utils.readUint32)(data, position + 16);\n siz.XTsiz = (0, _core_utils.readUint32)(data, position + 20);\n siz.YTsiz = (0, _core_utils.readUint32)(data, position + 24);\n siz.XTOsiz = (0, _core_utils.readUint32)(data, position + 28);\n siz.YTOsiz = (0, _core_utils.readUint32)(data, position + 32);\n var componentsCount = (0, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.readUint16)(data, position);\n tile = {};\n tile.index = (0, _core_utils.readUint16)(data, position + 2);\n tile.length = (0, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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, _core_utils.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 var contextLabelTable;\n\n if (subband === \"HH\") {\n contextLabelTable = HHContextLabel;\n } else if (subband === \"HL\") {\n contextLabelTable = HLContextLabel;\n } else {\n contextLabelTable = LLAndLHContextsLabel;\n }\n\n this.contextLabelTable = contextLabelTable;\n var coefficientCount = width * height;\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n var coefficentsMagnitude;\n\n if (mb > 14) {\n coefficentsMagnitude = new Uint32Array(coefficientCount);\n } else if (mb > 6) {\n coefficentsMagnitude = new Uint16Array(coefficientCount);\n } else {\n coefficentsMagnitude = new Uint8Array(coefficientCount);\n }\n\n this.coefficentsMagnitude = coefficentsMagnitude;\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\n exports.JpxImage = JpxImage;\n /***/\n },\n /* 219 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _stream = __w_pdfjs_require__(209);\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var 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 ARCFourCipher.prototype.encrypt = ARCFourCipher.prototype.encryptBlock;\n return ARCFourCipher;\n }();\n\n exports.ARCFourCipher = ARCFourCipher;\n\n var 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\n exports.calculateMD5 = calculateMD5;\n\n var 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\n var 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\n exports.calculateSHA256 = calculateSHA256;\n\n var 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\n exports.calculateSHA512 = calculateSHA512;\n\n var calculateSHA384 = function calculateSHA384Closure() {\n function hash(data, offset, length) {\n return calculateSHA512(data, offset, length, true);\n }\n\n return hash;\n }();\n\n exports.calculateSHA384 = calculateSHA384;\n\n var NullCipher = function NullCipherClosure() {\n function NullCipher() {}\n\n NullCipher.prototype = {\n decryptBlock: function NullCipher_decryptBlock(data) {\n return data;\n },\n encrypt: function NullCipher_encrypt(data) {\n return data;\n }\n };\n return NullCipher;\n }();\n\n var AESBaseCipher =\n /*#__PURE__*/\n function () {\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 var 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 var 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\n var AES128Cipher =\n /*#__PURE__*/\n function (_AESBaseCipher) {\n _inherits(AES128Cipher, _AESBaseCipher);\n\n var _super = _createSuper(AES128Cipher);\n\n function AES128Cipher(key) {\n var _this;\n\n _classCallCheck(this, AES128Cipher);\n\n _this = _super.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\n exports.AES128Cipher = AES128Cipher;\n\n var AES256Cipher =\n /*#__PURE__*/\n function (_AESBaseCipher2) {\n _inherits(AES256Cipher, _AESBaseCipher2);\n\n var _super2 = _createSuper(AES256Cipher);\n\n function AES256Cipher(key) {\n var _this2;\n\n _classCallCheck(this, AES256Cipher);\n\n _this2 = _super2.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\n exports.AES256Cipher = AES256Cipher;\n\n var 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\n exports.PDF17 = PDF17;\n\n var 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\n exports.PDF20 = PDF20;\n\n var 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 encryptString: function CipherTransform_encryptString(s) {\n var cipher = new this.StringCipherConstructor();\n\n if (cipher instanceof AESBaseCipher) {\n var strLen = s.length;\n var pad = 16 - strLen % 16;\n\n if (pad !== 16) {\n s = s.padEnd(16 * Math.ceil(strLen / 16), String.fromCharCode(pad));\n }\n\n var iv = new Uint8Array(16);\n\n if (typeof crypto !== \"undefined\") {\n crypto.getRandomValues(iv);\n } else {\n for (var i = 0; i < 16; i++) {\n iv[i] = Math.floor(256 * Math.random());\n }\n }\n\n var _data = (0, _util.stringToBytes)(s);\n\n _data = cipher.encrypt(_data, iv);\n var buf = new Uint8Array(16 + _data.length);\n buf.set(iv);\n buf.set(_data, 16);\n return (0, _util.bytesToString)(buf);\n }\n\n var data = (0, _util.stringToBytes)(s);\n data = cipher.encrypt(data);\n return (0, _util.bytesToString)(data);\n }\n };\n return CipherTransform;\n }();\n\n var 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\n exports.CipherTransformFactory = CipherTransformFactory;\n /***/\n },\n /* 220 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ColorSpace = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function 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\n var ColorSpace =\n /*#__PURE__*/\n function () {\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: \"_cache\",\n value: function _cache(cacheKey, xref, localColorSpaceCache, parsedColorSpace) {\n if (!localColorSpaceCache) {\n throw new Error('ColorSpace._cache - expected \"localColorSpaceCache\" argument.');\n }\n\n if (!parsedColorSpace) {\n throw new Error('ColorSpace._cache - expected \"parsedColorSpace\" argument.');\n }\n\n var csName, csRef;\n\n if (cacheKey instanceof _primitives.Ref) {\n csRef = cacheKey;\n cacheKey = xref.fetch(cacheKey);\n }\n\n if (cacheKey instanceof _primitives.Name) {\n csName = cacheKey.name;\n }\n\n if (csName || csRef) {\n localColorSpaceCache.set(csName, csRef, parsedColorSpace);\n }\n }\n }, {\n key: \"getCached\",\n value: function getCached(cacheKey, xref, localColorSpaceCache) {\n if (!localColorSpaceCache) {\n throw new Error('ColorSpace.getCached - expected \"localColorSpaceCache\" argument.');\n }\n\n if (cacheKey instanceof _primitives.Ref) {\n var localColorSpace = localColorSpaceCache.getByRef(cacheKey);\n\n if (localColorSpace) {\n return localColorSpace;\n }\n\n try {\n cacheKey = xref.fetch(cacheKey);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n }\n }\n\n if (cacheKey instanceof _primitives.Name) {\n var _localColorSpace = localColorSpaceCache.getByName(cacheKey.name);\n\n if (_localColorSpace) {\n return _localColorSpace;\n }\n }\n\n return null;\n }\n }, {\n key: \"parseAsync\",\n value: function () {\n var _parseAsync = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(_ref) {\n var cs, xref, _ref$resources, resources, pdfFunctionFactory, localColorSpaceCache, parsedColorSpace;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cs = _ref.cs, xref = _ref.xref, _ref$resources = _ref.resources, resources = _ref$resources === void 0 ? null : _ref$resources, pdfFunctionFactory = _ref.pdfFunctionFactory, localColorSpaceCache = _ref.localColorSpaceCache;\n parsedColorSpace = this._parse(cs, xref, resources, pdfFunctionFactory);\n\n this._cache(cs, xref, localColorSpaceCache, parsedColorSpace);\n\n return _context.abrupt(\"return\", parsedColorSpace);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function parseAsync(_x) {\n return _parseAsync.apply(this, arguments);\n }\n\n return parseAsync;\n }()\n }, {\n key: \"parse\",\n value: function parse(_ref2) {\n var cs = _ref2.cs,\n xref = _ref2.xref,\n _ref2$resources = _ref2.resources,\n resources = _ref2$resources === void 0 ? null : _ref2$resources,\n pdfFunctionFactory = _ref2.pdfFunctionFactory,\n localColorSpaceCache = _ref2.localColorSpaceCache;\n var cachedColorSpace = this.getCached(cs, xref, localColorSpaceCache);\n\n if (cachedColorSpace) {\n return cachedColorSpace;\n }\n\n var parsedColorSpace = this._parse(cs, xref, resources, pdfFunctionFactory);\n\n this._cache(cs, xref, localColorSpaceCache, parsedColorSpace);\n\n return parsedColorSpace;\n }\n }, {\n key: \"_parse\",\n value: function _parse(cs, xref) {\n var resources = 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 this.singletons.gray;\n\n case \"DeviceRGB\":\n case \"RGB\":\n return this.singletons.rgb;\n\n case \"DeviceCMYK\":\n case \"CMYK\":\n return this.singletons.cmyk;\n\n case \"Pattern\":\n return new PatternCS(null);\n\n default:\n if ((0, _primitives.isDict)(resources)) {\n var colorSpaces = resources.get(\"ColorSpace\");\n\n if ((0, _primitives.isDict)(colorSpaces)) {\n var resourcesCS = colorSpaces.get(cs.name);\n\n if (resourcesCS) {\n if ((0, _primitives.isName)(resourcesCS)) {\n return this._parse(resourcesCS, xref, resources, pdfFunctionFactory);\n }\n\n cs = resourcesCS;\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 params, numComps, baseCS, whitePoint, blackPoint, gamma;\n\n switch (mode) {\n case \"DeviceGray\":\n case \"G\":\n return this.singletons.gray;\n\n case \"DeviceRGB\":\n case \"RGB\":\n return this.singletons.rgb;\n\n case \"DeviceCMYK\":\n case \"CMYK\":\n return this.singletons.cmyk;\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 new 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 new 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 var alt = dict.get(\"Alternate\");\n\n if (alt) {\n var altCS = this._parse(alt, xref, resources, pdfFunctionFactory);\n\n if (altCS.numComps === numComps) {\n return altCS;\n }\n\n (0, _util.warn)(\"ICCBased color space: Ignoring incorrect /Alternate entry.\");\n }\n\n if (numComps === 1) {\n return this.singletons.gray;\n } else if (numComps === 3) {\n return this.singletons.rgb;\n } else if (numComps === 4) {\n return this.singletons.cmyk;\n }\n\n break;\n\n case \"Pattern\":\n baseCS = cs[1] || null;\n\n if (baseCS) {\n baseCS = this._parse(baseCS, xref, resources, pdfFunctionFactory);\n }\n\n return new PatternCS(baseCS);\n\n case \"Indexed\":\n case \"I\":\n baseCS = this._parse(cs[1], xref, resources, pdfFunctionFactory);\n var hiVal = xref.fetchIfRef(cs[2]) + 1;\n var lookup = xref.fetchIfRef(cs[3]);\n return new IndexedCS(baseCS, 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 baseCS = this._parse(cs[2], xref, resources, pdfFunctionFactory);\n var tintFn = pdfFunctionFactory.create(cs[3]);\n return new AlternateCS(numComps, baseCS, 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 new LabCS(whitePoint, blackPoint, range);\n\n default:\n throw new _util.FormatError(\"Unimplemented ColorSpace object: \".concat(mode));\n }\n }\n\n throw new _util.FormatError(\"Unrecognized ColorSpace 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\n exports.ColorSpace = ColorSpace;\n\n var AlternateCS =\n /*#__PURE__*/\n function (_ColorSpace) {\n _inherits(AlternateCS, _ColorSpace);\n\n var _super = _createSuper(AlternateCS);\n\n function AlternateCS(numComps, base, tintFn) {\n var _this;\n\n _classCallCheck(this, AlternateCS);\n\n _this = _super.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\n var PatternCS =\n /*#__PURE__*/\n function (_ColorSpace2) {\n _inherits(PatternCS, _ColorSpace2);\n\n var _super2 = _createSuper(PatternCS);\n\n function PatternCS(baseCS) {\n var _this2;\n\n _classCallCheck(this, PatternCS);\n\n _this2 = _super2.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\n var IndexedCS =\n /*#__PURE__*/\n function (_ColorSpace3) {\n _inherits(IndexedCS, _ColorSpace3);\n\n var _super3 = _createSuper(IndexedCS);\n\n function IndexedCS(base, highVal, lookup) {\n var _this3;\n\n _classCallCheck(this, IndexedCS);\n\n _this3 = _super3.call(this, \"Indexed\", 1);\n _this3.base = base;\n _this3.highVal = highVal;\n var length = base.numComps * highVal;\n _this3.lookup = new Uint8Array(length);\n\n if ((0, _primitives.isStream)(lookup)) {\n var bytes = lookup.getBytes(length);\n\n _this3.lookup.set(bytes);\n } else if (typeof lookup === \"string\") {\n for (var i = 0; i < length; ++i) {\n _this3.lookup[i] = lookup.charCodeAt(i) & 0xff;\n }\n } else {\n throw new _util.FormatError(\"IndexedCS - 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\n var DeviceGrayCS =\n /*#__PURE__*/\n function (_ColorSpace4) {\n _inherits(DeviceGrayCS, _ColorSpace4);\n\n var _super4 = _createSuper(DeviceGrayCS);\n\n function DeviceGrayCS() {\n _classCallCheck(this, DeviceGrayCS);\n\n return _super4.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\n var DeviceRgbCS =\n /*#__PURE__*/\n function (_ColorSpace5) {\n _inherits(DeviceRgbCS, _ColorSpace5);\n\n var _super5 = _createSuper(DeviceRgbCS);\n\n function DeviceRgbCS() {\n _classCallCheck(this, DeviceRgbCS);\n\n return _super5.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\n var 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 var _super6 = _createSuper(DeviceCmykCS);\n\n function DeviceCmykCS() {\n _classCallCheck(this, DeviceCmykCS);\n\n return _super6.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\n var 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 var _super7 = _createSuper(CalGrayCS);\n\n function CalGrayCS(whitePoint, blackPoint, gamma) {\n var _this4;\n\n _classCallCheck(this, CalGrayCS);\n\n _this4 = _super7.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\n var 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 if (color >= 0.99554525) {\n return 1;\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 = A === 1 ? 1 : Math.pow(A, cs.GR);\n var BGG = B === 1 ? 1 : Math.pow(B, cs.GG);\n var CGB = C === 1 ? 1 : 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 var _super8 = _createSuper(CalRGBCS);\n\n function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {\n var _this5;\n\n _classCallCheck(this, CalRGBCS);\n\n _this5 = _super8.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\n var 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 if (as > cs.amax) {\n as = cs.amax;\n } else if (as < cs.amin) {\n as = cs.amin;\n }\n\n if (bs > cs.bmax) {\n bs = cs.bmax;\n } else if (bs < cs.bmin) {\n bs = cs.bmin;\n }\n\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.617 + Z * -0.4906;\n g = X * -0.9785 + Y * 1.916 + Z * 0.0333;\n b = X * 0.072 + Y * -0.229 + 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.204 + Z * 1.057;\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 var _super9 = _createSuper(LabCS);\n\n function LabCS(whitePoint, blackPoint, range) {\n var _this6;\n\n _classCallCheck(this, LabCS);\n\n _this6 = _super9.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 },\n /* 221 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.GlobalImageCache = exports.LocalGStateCache = exports.LocalFunctionCache = exports.LocalColorSpaceCache = exports.LocalImageCache = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var BaseLocalCache =\n /*#__PURE__*/\n function () {\n function BaseLocalCache(options) {\n _classCallCheck(this, BaseLocalCache);\n\n if (this.constructor === BaseLocalCache) {\n (0, _util.unreachable)(\"Cannot initialize BaseLocalCache.\");\n }\n\n if (!options || !options.onlyRefs) {\n this._nameRefMap = new Map();\n this._imageMap = new Map();\n }\n\n this._imageCache = new _primitives.RefSetCache();\n }\n\n _createClass(BaseLocalCache, [{\n key: \"getByName\",\n value: function getByName(name) {\n var ref = this._nameRefMap.get(name);\n\n if (ref) {\n return this.getByRef(ref);\n }\n\n return this._imageMap.get(name) || null;\n }\n }, {\n key: \"getByRef\",\n value: function getByRef(ref) {\n return this._imageCache.get(ref) || null;\n }\n }, {\n key: \"set\",\n value: function set(name, ref, data) {\n (0, _util.unreachable)(\"Abstract method `set` called.\");\n }\n }]);\n\n return BaseLocalCache;\n }();\n\n var LocalImageCache =\n /*#__PURE__*/\n function (_BaseLocalCache) {\n _inherits(LocalImageCache, _BaseLocalCache);\n\n var _super = _createSuper(LocalImageCache);\n\n function LocalImageCache() {\n _classCallCheck(this, LocalImageCache);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(LocalImageCache, [{\n key: \"set\",\n value: function set(name) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!name) {\n throw new Error('LocalImageCache.set - expected \"name\" argument.');\n }\n\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n\n this._nameRefMap.set(name, ref);\n\n this._imageCache.put(ref, data);\n\n return;\n }\n\n if (this._imageMap.has(name)) {\n return;\n }\n\n this._imageMap.set(name, data);\n }\n }]);\n\n return LocalImageCache;\n }(BaseLocalCache);\n\n exports.LocalImageCache = LocalImageCache;\n\n var LocalColorSpaceCache =\n /*#__PURE__*/\n function (_BaseLocalCache2) {\n _inherits(LocalColorSpaceCache, _BaseLocalCache2);\n\n var _super2 = _createSuper(LocalColorSpaceCache);\n\n function LocalColorSpaceCache() {\n _classCallCheck(this, LocalColorSpaceCache);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(LocalColorSpaceCache, [{\n key: \"set\",\n value: function set() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!name && !ref) {\n throw new Error('LocalColorSpaceCache.set - expected \"name\" and/or \"ref\" argument.');\n }\n\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n\n if (name) {\n this._nameRefMap.set(name, ref);\n }\n\n this._imageCache.put(ref, data);\n\n return;\n }\n\n if (this._imageMap.has(name)) {\n return;\n }\n\n this._imageMap.set(name, data);\n }\n }]);\n\n return LocalColorSpaceCache;\n }(BaseLocalCache);\n\n exports.LocalColorSpaceCache = LocalColorSpaceCache;\n\n var LocalFunctionCache =\n /*#__PURE__*/\n function (_BaseLocalCache3) {\n _inherits(LocalFunctionCache, _BaseLocalCache3);\n\n var _super3 = _createSuper(LocalFunctionCache);\n\n function LocalFunctionCache(options) {\n _classCallCheck(this, LocalFunctionCache);\n\n return _super3.call(this, {\n onlyRefs: true\n });\n }\n\n _createClass(LocalFunctionCache, [{\n key: \"getByName\",\n value: function getByName(name) {\n (0, _util.unreachable)(\"Should not call `getByName` method.\");\n }\n }, {\n key: \"set\",\n value: function set() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var ref = arguments.length > 1 ? arguments[1] : undefined;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!ref) {\n throw new Error('LocalFunctionCache.set - expected \"ref\" argument.');\n }\n\n if (this._imageCache.has(ref)) {\n return;\n }\n\n this._imageCache.put(ref, data);\n }\n }]);\n\n return LocalFunctionCache;\n }(BaseLocalCache);\n\n exports.LocalFunctionCache = LocalFunctionCache;\n\n var LocalGStateCache =\n /*#__PURE__*/\n function (_BaseLocalCache4) {\n _inherits(LocalGStateCache, _BaseLocalCache4);\n\n var _super4 = _createSuper(LocalGStateCache);\n\n function LocalGStateCache() {\n _classCallCheck(this, LocalGStateCache);\n\n return _super4.apply(this, arguments);\n }\n\n _createClass(LocalGStateCache, [{\n key: \"set\",\n value: function set(name) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var data = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!name) {\n throw new Error('LocalGStateCache.set - expected \"name\" argument.');\n }\n\n if (ref) {\n if (this._imageCache.has(ref)) {\n return;\n }\n\n this._nameRefMap.set(name, ref);\n\n this._imageCache.put(ref, data);\n\n return;\n }\n\n if (this._imageMap.has(name)) {\n return;\n }\n\n this._imageMap.set(name, data);\n }\n }]);\n\n return LocalGStateCache;\n }(BaseLocalCache);\n\n exports.LocalGStateCache = LocalGStateCache;\n\n var GlobalImageCache =\n /*#__PURE__*/\n function () {\n _createClass(GlobalImageCache, null, [{\n key: \"NUM_PAGES_THRESHOLD\",\n get: function get() {\n return (0, _util.shadow)(this, \"NUM_PAGES_THRESHOLD\", 2);\n }\n }, {\n key: \"MAX_IMAGES_TO_CACHE\",\n get: function get() {\n return (0, _util.shadow)(this, \"MAX_IMAGES_TO_CACHE\", 10);\n }\n }]);\n\n function GlobalImageCache() {\n _classCallCheck(this, GlobalImageCache);\n\n this._refCache = new _primitives.RefSetCache();\n this._imageCache = new _primitives.RefSetCache();\n }\n\n _createClass(GlobalImageCache, [{\n key: \"shouldCache\",\n value: function shouldCache(ref, pageIndex) {\n var pageIndexSet = this._refCache.get(ref);\n\n var numPages = pageIndexSet ? pageIndexSet.size + (pageIndexSet.has(pageIndex) ? 0 : 1) : 1;\n\n if (numPages < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n return false;\n }\n\n if (!this._imageCache.has(ref) && this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"addPageIndex\",\n value: function addPageIndex(ref, pageIndex) {\n var pageIndexSet = this._refCache.get(ref);\n\n if (!pageIndexSet) {\n pageIndexSet = new Set();\n\n this._refCache.put(ref, pageIndexSet);\n }\n\n pageIndexSet.add(pageIndex);\n }\n }, {\n key: \"getData\",\n value: function getData(ref, pageIndex) {\n var pageIndexSet = this._refCache.get(ref);\n\n if (!pageIndexSet) {\n return null;\n }\n\n if (pageIndexSet.size < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n return null;\n }\n\n if (!this._imageCache.has(ref)) {\n return null;\n }\n\n pageIndexSet.add(pageIndex);\n return this._imageCache.get(ref);\n }\n }, {\n key: \"setData\",\n value: function setData(ref, data) {\n if (!this._refCache.has(ref)) {\n throw new Error('GlobalImageCache.setData - expected \"addPageIndex\" to have been called.');\n }\n\n if (this._imageCache.has(ref)) {\n return;\n }\n\n if (this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n (0, _util.info)(\"GlobalImageCache.setData - ignoring image above MAX_IMAGES_TO_CACHE.\");\n return;\n }\n\n this._imageCache.put(ref, data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var onlyData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!onlyData) {\n this._refCache.clear();\n }\n\n this._imageCache.clear();\n }\n }]);\n\n return GlobalImageCache;\n }();\n\n exports.GlobalImageCache = GlobalImageCache;\n /***/\n },\n /* 222 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getQuadPoints = getQuadPoints;\n exports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n var _obj = __w_pdfjs_require__(207);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _colorspace = __w_pdfjs_require__(220);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _operator_list = __w_pdfjs_require__(223);\n\n var _stream = __w_pdfjs_require__(209);\n\n var _writer = __w_pdfjs_require__(224);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e2) {\n throw _e2;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e3) {\n didErr = true;\n err = _e3;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var AnnotationFactory =\n /*#__PURE__*/\n function () {\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 var _this = this;\n\n return pdfManager.ensureCatalog(\"acroForm\").then(function (acroForm) {\n return pdfManager.ensure(_this, \"_create\", [xref, ref, pdfManager, idFactory, acroForm]);\n });\n }\n }, {\n key: \"_create\",\n value: function _create(xref, ref, pdfManager, idFactory, acroForm) {\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 ref: ref,\n dict: dict,\n subtype: subtype,\n id: id,\n pdfManager: pdfManager,\n acroForm: acroForm instanceof _primitives.Dict ? acroForm : _primitives.Dict.empty\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\n exports.AnnotationFactory = AnnotationFactory;\n\n function getQuadPoints(dict, rect) {\n if (!dict.has(\"QuadPoints\")) {\n return null;\n }\n\n var quadPoints = dict.getArray(\"QuadPoints\");\n\n if (!Array.isArray(quadPoints) || quadPoints.length % 8 > 0) {\n return null;\n }\n\n var quadPointsLists = [];\n\n for (var i = 0, ii = quadPoints.length / 8; i < ii; i++) {\n quadPointsLists.push([]);\n\n for (var j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {\n var x = quadPoints[j];\n var y = quadPoints[j + 1];\n\n if (x < rect[0] || x > rect[2] || y < rect[1] || y > rect[3]) {\n return null;\n }\n\n quadPointsLists[i].push({\n x: x,\n y: y\n });\n }\n }\n\n return quadPointsLists;\n }\n\n function getTransformMatrix(rect, bbox, matrix) {\n var _Util$getAxialAligned = _util.Util.getAxialAlignedBoundingBox(bbox, matrix),\n _Util$getAxialAligned2 = _slicedToArray(_Util$getAxialAligned, 4),\n minX = _Util$getAxialAligned2[0],\n minY = _Util$getAxialAligned2[1],\n maxX = _Util$getAxialAligned2[2],\n maxY = _Util$getAxialAligned2[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\n var Annotation =\n /*#__PURE__*/\n function () {\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, annotationStorage) {\n if (!this.appearance) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n var appearance = this.appearance;\n var data = this.data;\n var appearanceDict = 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: appearance,\n task: task,\n resources: resources,\n operatorList: opList\n }).then(function () {\n opList.addOp(_util.OPS.endAnnotation, []);\n appearance.reset();\n return opList;\n });\n });\n }\n }, {\n key: \"save\",\n value: function () {\n var _save = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(evaluator, task, annotationStorage) {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", null);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function save(_x, _x2, _x3) {\n return _save.apply(this, arguments);\n }\n\n return save;\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\n exports.Annotation = Annotation;\n\n var AnnotationBorderStyle =\n /*#__PURE__*/\n function () {\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 var _iterator = _createForOfIteratorHelper(dashArray),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var element = _step.value;\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 } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\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\n exports.AnnotationBorderStyle = AnnotationBorderStyle;\n\n var MarkupAnnotation =\n /*#__PURE__*/\n function (_Annotation) {\n _inherits(MarkupAnnotation, _Annotation);\n\n var _super = _createSuper(MarkupAnnotation);\n\n function MarkupAnnotation(parameters) {\n var _this2;\n\n _classCallCheck(this, MarkupAnnotation);\n\n _this2 = _super.call(this, parameters);\n var dict = parameters.dict;\n\n if (dict.has(\"IRT\")) {\n var rawIRT = dict.getRaw(\"IRT\");\n _this2.data.inReplyTo = (0, _primitives.isRef)(rawIRT) ? rawIRT.toString() : null;\n var rt = dict.get(\"RT\");\n _this2.data.replyType = (0, _primitives.isName)(rt) ? rt.name : _util.AnnotationReplyType.REPLY;\n }\n\n if (_this2.data.replyType === _util.AnnotationReplyType.GROUP) {\n var parent = dict.get(\"IRT\");\n _this2.data.title = (0, _util.stringToPDFString)(parent.get(\"T\") || \"\");\n\n _this2.setContents(parent.get(\"Contents\"));\n\n _this2.data.contents = _this2.contents;\n\n if (!parent.has(\"CreationDate\")) {\n _this2.data.creationDate = null;\n } else {\n _this2.setCreationDate(parent.get(\"CreationDate\"));\n\n _this2.data.creationDate = _this2.creationDate;\n }\n\n if (!parent.has(\"M\")) {\n _this2.data.modificationDate = null;\n } else {\n _this2.setModificationDate(parent.get(\"M\"));\n\n _this2.data.modificationDate = _this2.modificationDate;\n }\n\n _this2.data.hasPopup = parent.has(\"Popup\");\n\n if (!parent.has(\"C\")) {\n _this2.data.color = null;\n } else {\n _this2.setColor(parent.getArray(\"C\"));\n\n _this2.data.color = _this2.color;\n }\n } else {\n _this2.data.title = (0, _util.stringToPDFString)(dict.get(\"T\") || \"\");\n\n _this2.setCreationDate(dict.get(\"CreationDate\"));\n\n _this2.data.creationDate = _this2.creationDate;\n _this2.data.hasPopup = dict.has(\"Popup\");\n\n if (!dict.has(\"C\")) {\n _this2.data.color = null;\n }\n }\n\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\n exports.MarkupAnnotation = MarkupAnnotation;\n\n var WidgetAnnotation =\n /*#__PURE__*/\n function (_Annotation2) {\n _inherits(WidgetAnnotation, _Annotation2);\n\n var _super2 = _createSuper(WidgetAnnotation);\n\n function WidgetAnnotation(params) {\n var _this3;\n\n _classCallCheck(this, WidgetAnnotation);\n\n _this3 = _super2.call(this, params);\n var dict = params.dict;\n var data = _this3.data;\n _this3.ref = params.ref;\n data.annotationType = _util.AnnotationType.WIDGET;\n data.fieldName = _this3._constructFieldName(dict);\n var fieldValue = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"V\",\n getArray: true\n });\n data.fieldValue = _this3._decodeFormValue(fieldValue);\n data.alternativeText = (0, _util.stringToPDFString)(dict.get(\"TU\") || \"\");\n data.defaultAppearance = (0, _core_utils.getInheritableProperty)({\n dict: dict,\n key: \"DA\"\n }) || params.acroForm.get(\"DA\") || \"\";\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 }) || params.acroForm.get(\"DR\") || _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: \"_decodeFormValue\",\n value: function _decodeFormValue(formValue) {\n if (Array.isArray(formValue)) {\n return formValue.filter(function (item) {\n return (0, _util.isString)(item);\n }).map(function (item) {\n return (0, _util.stringToPDFString)(item);\n });\n } else if ((0, _primitives.isName)(formValue)) {\n return (0, _util.stringToPDFString)(formValue.name);\n } else if ((0, _util.isString)(formValue)) {\n return (0, _util.stringToPDFString)(formValue);\n }\n\n return null;\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, annotationStorage) {\n var _this4 = this;\n\n if (renderForms) {\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n if (!this._hasText) {\n return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n }\n\n return this._getAppearance(evaluator, task, annotationStorage).then(function (content) {\n if (_this4.appearance && content === null) {\n return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", _this4).call(_this4, evaluator, task, renderForms, annotationStorage);\n }\n\n var operatorList = new _operator_list.OperatorList();\n\n if (!_this4.data.defaultAppearance || content === null) {\n return operatorList;\n }\n\n var matrix = [1, 0, 0, 1, 0, 0];\n var bbox = [0, 0, _this4.data.rect[2] - _this4.data.rect[0], _this4.data.rect[3] - _this4.data.rect[1]];\n var transform = getTransformMatrix(_this4.data.rect, bbox, matrix);\n operatorList.addOp(_util.OPS.beginAnnotation, [_this4.data.rect, transform, matrix]);\n var stream = new _stream.StringStream(content);\n return evaluator.getOperatorList({\n stream: stream,\n task: task,\n resources: _this4.fieldResources,\n operatorList: operatorList\n }).then(function () {\n operatorList.addOp(_util.OPS.endAnnotation, []);\n return operatorList;\n });\n });\n }\n }, {\n key: \"save\",\n value: function () {\n var _save2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(evaluator, task, annotationStorage) {\n var appearance, dict, bbox, newRef, AP, value, encrypt, originalTransform, newTransform, appearanceDict, bufferOriginal, bufferNew;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(this.data.fieldValue === annotationStorage[this.data.id])) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 2:\n _context2.next = 4;\n return this._getAppearance(evaluator, task, annotationStorage);\n\n case 4:\n appearance = _context2.sent;\n\n if (!(appearance === null)) {\n _context2.next = 7;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 7:\n dict = evaluator.xref.fetchIfRef(this.ref);\n\n if ((0, _primitives.isDict)(dict)) {\n _context2.next = 10;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 10:\n bbox = [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]];\n newRef = evaluator.xref.getNewRef();\n AP = new _primitives.Dict(evaluator.xref);\n AP.set(\"N\", newRef);\n value = annotationStorage[this.data.id];\n encrypt = evaluator.xref.encrypt;\n originalTransform = null;\n newTransform = null;\n\n if (encrypt) {\n originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n newTransform = encrypt.createCipherTransform(newRef.num, newRef.gen);\n appearance = newTransform.encryptString(appearance);\n }\n\n dict.set(\"V\", value);\n dict.set(\"AP\", AP);\n dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n appearanceDict = new _primitives.Dict(evaluator.xref);\n appearanceDict.set(\"Length\", appearance.length);\n appearanceDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n appearanceDict.set(\"Resources\", this.fieldResources);\n appearanceDict.set(\"BBox\", bbox);\n bufferOriginal = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n (0, _writer.writeDict)(dict, bufferOriginal, originalTransform);\n bufferOriginal.push(\"\\nendobj\\n\");\n bufferNew = [\"\".concat(newRef.num, \" \").concat(newRef.gen, \" obj\\n\")];\n (0, _writer.writeDict)(appearanceDict, bufferNew, newTransform);\n bufferNew.push(\" stream\\n\");\n bufferNew.push(appearance);\n bufferNew.push(\"\\nendstream\\nendobj\\n\");\n return _context2.abrupt(\"return\", [{\n ref: this.ref,\n data: bufferOriginal.join(\"\")\n }, {\n ref: newRef,\n data: bufferNew.join(\"\")\n }]);\n\n case 36:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function save(_x4, _x5, _x6) {\n return _save2.apply(this, arguments);\n }\n\n return save;\n }()\n }, {\n key: \"_getAppearance\",\n value: function () {\n var _getAppearance2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee3(evaluator, task, annotationStorage) {\n var isPassword, value, defaultPadding, hPadding, totalHeight, totalWidth, fontInfo, _fontInfo, font, fontName, fontSize, descent, vPadding, defaultAppearance, alignment, renderedText;\n\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n isPassword = this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD);\n\n if (!(!annotationStorage || isPassword)) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\", null);\n\n case 3:\n value = annotationStorage[this.data.id];\n\n if (!(value === \"\")) {\n _context3.next = 6;\n break;\n }\n\n return _context3.abrupt(\"return\", \"\");\n\n case 6:\n defaultPadding = 2;\n hPadding = defaultPadding;\n totalHeight = this.data.rect[3] - this.data.rect[1];\n totalWidth = this.data.rect[2] - this.data.rect[0];\n _context3.next = 12;\n return this._getFontData(evaluator, task);\n\n case 12:\n fontInfo = _context3.sent;\n _fontInfo = _slicedToArray(fontInfo, 2), font = _fontInfo[0], fontName = _fontInfo[1];\n fontSize = fontInfo[2];\n fontSize = this._computeFontSize(font, fontName, fontSize, totalHeight);\n descent = font.descent;\n\n if (isNaN(descent)) {\n descent = 0;\n }\n\n vPadding = defaultPadding + Math.abs(descent) * fontSize;\n defaultAppearance = this.data.defaultAppearance;\n alignment = this.data.textAlignment;\n\n if (!this.data.comb) {\n _context3.next = 23;\n break;\n }\n\n return _context3.abrupt(\"return\", this._getCombAppearance(defaultAppearance, value, totalWidth, hPadding, vPadding));\n\n case 23:\n if (!this.data.multiLine) {\n _context3.next = 25;\n break;\n }\n\n return _context3.abrupt(\"return\", this._getMultilineAppearance(defaultAppearance, value, font, fontSize, totalWidth, totalHeight, alignment, hPadding, vPadding));\n\n case 25:\n if (!(alignment === 0 || alignment > 2)) {\n _context3.next = 27;\n break;\n }\n\n return _context3.abrupt(\"return\", \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 \".concat(hPadding, \" \").concat(vPadding, \" Tm (\").concat((0, _util.escapeString)(value), \") Tj\") + \" ET Q EMC\");\n\n case 27:\n renderedText = this._renderText(value, font, fontSize, totalWidth, alignment, hPadding, vPadding);\n return _context3.abrupt(\"return\", \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 0 0 Tm \".concat(renderedText) + \" ET Q EMC\");\n\n case 29:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function _getAppearance(_x7, _x8, _x9) {\n return _getAppearance2.apply(this, arguments);\n }\n\n return _getAppearance;\n }()\n }, {\n key: \"_getFontData\",\n value: function () {\n var _getFontData2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee4(evaluator, task) {\n var operatorList, initialState;\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n operatorList = new _operator_list.OperatorList();\n initialState = {\n fontSize: 0,\n font: null,\n fontName: null,\n clone: function clone() {\n return this;\n }\n };\n _context4.next = 4;\n return evaluator.getOperatorList({\n stream: new _stream.StringStream(this.data.defaultAppearance),\n task: task,\n resources: this.fieldResources,\n operatorList: operatorList,\n initialState: initialState\n });\n\n case 4:\n return _context4.abrupt(\"return\", [initialState.font, initialState.fontName, initialState.fontSize]);\n\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _getFontData(_x10, _x11) {\n return _getFontData2.apply(this, arguments);\n }\n\n return _getFontData;\n }()\n }, {\n key: \"_computeFontSize\",\n value: function _computeFontSize(font, fontName, fontSize, height) {\n if (fontSize === null || fontSize === 0) {\n var em = font.charsToGlyphs(\"M\", true)[0].width / 1000;\n var capHeight = 0.7 * em;\n fontSize = Math.max(1, Math.floor(height / (1.5 * capHeight)));\n var fontRegex = new RegExp(\"/\".concat(fontName, \"\\\\s+[0-9.]+\\\\s+Tf\"));\n\n if (this.data.defaultAppearance.search(fontRegex) === -1) {\n fontRegex = new RegExp(\"/\".concat(fontName, \"\\\\s+Tf\"));\n }\n\n this.data.defaultAppearance = this.data.defaultAppearance.replace(fontRegex, \"/\".concat(fontName, \" \").concat(fontSize, \" Tf\"));\n }\n\n return fontSize;\n }\n }, {\n key: \"_renderText\",\n value: function _renderText(text, font, fontSize, totalWidth, alignment, hPadding, vPadding) {\n var glyphs = font.charsToGlyphs(text);\n var scale = fontSize / 1000;\n var width = 0;\n\n var _iterator2 = _createForOfIteratorHelper(glyphs),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var glyph = _step2.value;\n width += glyph.width * scale;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var shift;\n\n if (alignment === 1) {\n shift = (totalWidth - width) / 2;\n } else if (alignment === 2) {\n shift = totalWidth - width - hPadding;\n } else {\n shift = hPadding;\n }\n\n shift = shift.toFixed(2);\n vPadding = vPadding.toFixed(2);\n return \"\".concat(shift, \" \").concat(vPadding, \" Td (\").concat((0, _util.escapeString)(text), \") Tj\");\n }\n }]);\n\n return WidgetAnnotation;\n }(Annotation);\n\n var TextWidgetAnnotation =\n /*#__PURE__*/\n function (_WidgetAnnotation) {\n _inherits(TextWidgetAnnotation, _WidgetAnnotation);\n\n var _super3 = _createSuper(TextWidgetAnnotation);\n\n function TextWidgetAnnotation(params) {\n var _this5;\n\n _classCallCheck(this, TextWidgetAnnotation);\n\n _this5 = _super3.call(this, params);\n _this5._hasText = true;\n var dict = params.dict;\n\n if (!(0, _util.isString)(_this5.data.fieldValue)) {\n _this5.data.fieldValue = \"\";\n }\n\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 _this5.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 _this5.data.maxLen = maximumLength;\n _this5.data.multiLine = _this5.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n _this5.data.comb = _this5.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this5.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this5.data.maxLen !== null;\n return _this5;\n }\n\n _createClass(TextWidgetAnnotation, [{\n key: \"_getCombAppearance\",\n value: function _getCombAppearance(defaultAppearance, text, width, hPadding, vPadding) {\n var combWidth = (width / this.data.maxLen).toFixed(2);\n var buf = [];\n\n var _iterator3 = _createForOfIteratorHelper(text),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var character = _step3.value;\n buf.push(\"(\".concat((0, _util.escapeString)(character), \") Tj\"));\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n var renderedComb = buf.join(\" \".concat(combWidth, \" 0 Td \"));\n return \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 \".concat(hPadding, \" \").concat(vPadding, \" Tm \").concat(renderedComb) + \" ET Q EMC\";\n }\n }, {\n key: \"_getMultilineAppearance\",\n value: function _getMultilineAppearance(defaultAppearance, text, font, fontSize, width, height, alignment, hPadding, vPadding) {\n var lines = text.split(/\\r\\n|\\r|\\n/);\n var buf = [];\n var totalWidth = width - 2 * hPadding;\n\n var _iterator4 = _createForOfIteratorHelper(lines),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var line = _step4.value;\n\n var chunks = this._splitLine(line, font, fontSize, totalWidth);\n\n var _iterator5 = _createForOfIteratorHelper(chunks),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var chunk = _step5.value;\n var padding = buf.length === 0 ? hPadding : 0;\n buf.push(this._renderText(chunk, font, fontSize, width, alignment, padding, -fontSize));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n var renderedText = buf.join(\"\\n\");\n return \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 0 \".concat(height, \" Tm \").concat(renderedText) + \" ET Q EMC\";\n }\n }, {\n key: \"_splitLine\",\n value: function _splitLine(line, font, fontSize, width) {\n if (line.length <= 1) {\n return [line];\n }\n\n var scale = fontSize / 1000;\n var whitespace = font.charsToGlyphs(\" \", true)[0].width * scale;\n var chunks = [];\n var lastSpacePos = -1,\n startChunk = 0,\n currentWidth = 0;\n\n for (var i = 0, ii = line.length; i < ii; i++) {\n var character = line.charAt(i);\n\n if (character === \" \") {\n if (currentWidth + whitespace > width) {\n chunks.push(line.substring(startChunk, i));\n startChunk = i;\n currentWidth = whitespace;\n lastSpacePos = -1;\n } else {\n currentWidth += whitespace;\n lastSpacePos = i;\n }\n } else {\n var charWidth = font.charsToGlyphs(character, false)[0].width * scale;\n\n if (currentWidth + charWidth > width) {\n if (lastSpacePos !== -1) {\n chunks.push(line.substring(startChunk, lastSpacePos + 1));\n startChunk = i = lastSpacePos + 1;\n lastSpacePos = -1;\n currentWidth = 0;\n } else {\n chunks.push(line.substring(startChunk, i));\n startChunk = i;\n currentWidth = charWidth;\n }\n } else {\n currentWidth += charWidth;\n }\n }\n }\n\n if (startChunk < line.length) {\n chunks.push(line.substring(startChunk, line.length));\n }\n\n return chunks;\n }\n }]);\n\n return TextWidgetAnnotation;\n }(WidgetAnnotation);\n\n var ButtonWidgetAnnotation =\n /*#__PURE__*/\n function (_WidgetAnnotation2) {\n _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);\n\n var _super4 = _createSuper(ButtonWidgetAnnotation);\n\n function ButtonWidgetAnnotation(params) {\n var _this6;\n\n _classCallCheck(this, ButtonWidgetAnnotation);\n\n _this6 = _super4.call(this, params);\n _this6.checkedAppearance = null;\n _this6.uncheckedAppearance = null;\n _this6.data.checkBox = !_this6.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this6.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this6.data.radioButton = _this6.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this6.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n _this6.data.pushButton = _this6.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n\n if (_this6.data.checkBox) {\n _this6._processCheckBox(params);\n } else if (_this6.data.radioButton) {\n _this6._processRadioButton(params);\n } else if (_this6.data.pushButton) {\n _this6._processPushButton(params);\n } else {\n (0, _util.warn)(\"Invalid field flags for button widget annotation\");\n }\n\n return _this6;\n }\n\n _createClass(ButtonWidgetAnnotation, [{\n key: \"getOperatorList\",\n value: function getOperatorList(evaluator, task, renderForms, annotationStorage) {\n if (this.data.pushButton) {\n return _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, false, annotationStorage);\n }\n\n if (annotationStorage) {\n var value = annotationStorage[this.data.id] || false;\n var appearance;\n\n if (value) {\n appearance = this.checkedAppearance;\n } else {\n appearance = this.uncheckedAppearance;\n }\n\n if (appearance) {\n var savedAppearance = this.appearance;\n this.appearance = appearance;\n\n var operatorList = _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n\n this.appearance = savedAppearance;\n return operatorList;\n }\n\n return Promise.resolve(new _operator_list.OperatorList());\n }\n\n return _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n }\n }, {\n key: \"save\",\n value: function () {\n var _save3 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee5(evaluator, task, annotationStorage) {\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!this.data.checkBox) {\n _context5.next = 2;\n break;\n }\n\n return _context5.abrupt(\"return\", this._saveCheckbox(evaluator, task, annotationStorage));\n\n case 2:\n if (!this.data.radioButton) {\n _context5.next = 4;\n break;\n }\n\n return _context5.abrupt(\"return\", this._saveRadioButton(evaluator, task, annotationStorage));\n\n case 4:\n return _context5.abrupt(\"return\", _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"save\", this).call(this, evaluator, task, annotationStorage));\n\n case 5:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function save(_x12, _x13, _x14) {\n return _save3.apply(this, arguments);\n }\n\n return save;\n }()\n }, {\n key: \"_saveCheckbox\",\n value: function () {\n var _saveCheckbox2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee6(evaluator, task, annotationStorage) {\n var defaultValue, value, dict, name, encrypt, originalTransform, buffer;\n return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n defaultValue = this.data.fieldValue && this.data.fieldValue !== \"Off\";\n value = annotationStorage[this.data.id];\n\n if (!(defaultValue === value)) {\n _context6.next = 4;\n break;\n }\n\n return _context6.abrupt(\"return\", null);\n\n case 4:\n dict = evaluator.xref.fetchIfRef(this.ref);\n\n if ((0, _primitives.isDict)(dict)) {\n _context6.next = 7;\n break;\n }\n\n return _context6.abrupt(\"return\", null);\n\n case 7:\n name = _primitives.Name.get(value ? this.data.exportValue : \"Off\");\n dict.set(\"V\", name);\n dict.set(\"AS\", name);\n dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n encrypt = evaluator.xref.encrypt;\n originalTransform = null;\n\n if (encrypt) {\n originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n }\n\n buffer = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n (0, _writer.writeDict)(dict, buffer, originalTransform);\n buffer.push(\"\\nendobj\\n\");\n return _context6.abrupt(\"return\", [{\n ref: this.ref,\n data: buffer.join(\"\")\n }]);\n\n case 18:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _saveCheckbox(_x15, _x16, _x17) {\n return _saveCheckbox2.apply(this, arguments);\n }\n\n return _saveCheckbox;\n }()\n }, {\n key: \"_saveRadioButton\",\n value: function () {\n var _saveRadioButton2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee7(evaluator, task, annotationStorage) {\n var defaultValue, value, dict, name, parentBuffer, encrypt, parent, parentTransform, originalTransform, buffer, newRefs;\n return _regenerator[\"default\"].wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n defaultValue = this.data.fieldValue === this.data.buttonValue;\n value = annotationStorage[this.data.id];\n\n if (!(defaultValue === value)) {\n _context7.next = 4;\n break;\n }\n\n return _context7.abrupt(\"return\", null);\n\n case 4:\n dict = evaluator.xref.fetchIfRef(this.ref);\n\n if ((0, _primitives.isDict)(dict)) {\n _context7.next = 7;\n break;\n }\n\n return _context7.abrupt(\"return\", null);\n\n case 7:\n name = _primitives.Name.get(value ? this.data.buttonValue : \"Off\");\n parentBuffer = null;\n encrypt = evaluator.xref.encrypt;\n\n if (value) {\n if ((0, _primitives.isRef)(this.parent)) {\n parent = evaluator.xref.fetch(this.parent);\n parentTransform = null;\n\n if (encrypt) {\n parentTransform = encrypt.createCipherTransform(this.parent.num, this.parent.gen);\n }\n\n parent.set(\"V\", name);\n parentBuffer = [\"\".concat(this.parent.num, \" \").concat(this.parent.gen, \" obj\\n\")];\n (0, _writer.writeDict)(parent, parentBuffer, parentTransform);\n parentBuffer.push(\"\\nendobj\\n\");\n } else if ((0, _primitives.isDict)(this.parent)) {\n this.parent.set(\"V\", name);\n }\n }\n\n dict.set(\"AS\", name);\n dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n originalTransform = null;\n\n if (encrypt) {\n originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n }\n\n buffer = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n (0, _writer.writeDict)(dict, buffer, originalTransform);\n buffer.push(\"\\nendobj\\n\");\n newRefs = [{\n ref: this.ref,\n data: buffer.join(\"\")\n }];\n\n if (parentBuffer !== null) {\n newRefs.push({\n ref: this.parent,\n data: parentBuffer.join(\"\")\n });\n }\n\n return _context7.abrupt(\"return\", newRefs);\n\n case 21:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function _saveRadioButton(_x18, _x19, _x20) {\n return _saveRadioButton2.apply(this, arguments);\n }\n\n return _saveRadioButton;\n }()\n }, {\n key: \"_processCheckBox\",\n value: function _processCheckBox(params) {\n var customAppearance = params.dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(customAppearance)) {\n return;\n }\n\n var normalAppearance = customAppearance.get(\"N\");\n\n if (!(0, _primitives.isDict)(normalAppearance)) {\n return;\n }\n\n var exportValues = normalAppearance.getKeys();\n\n if (!exportValues.includes(\"Off\")) {\n exportValues.push(\"Off\");\n }\n\n if (exportValues.length !== 2) {\n return;\n }\n\n this.data.exportValue = exportValues[0] === \"Off\" ? exportValues[1] : exportValues[0];\n this.checkedAppearance = normalAppearance.get(this.data.exportValue);\n this.uncheckedAppearance = normalAppearance.get(\"Off\") || null;\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.parent = params.dict.getRaw(\"Parent\");\n this.data.fieldValue = this._decodeFormValue(fieldParentValue);\n }\n }\n\n var appearanceStates = params.dict.get(\"AP\");\n\n if (!(0, _primitives.isDict)(appearanceStates)) {\n return;\n }\n\n var normalAppearance = appearanceStates.get(\"N\");\n\n if (!(0, _primitives.isDict)(normalAppearance)) {\n return;\n }\n\n var _iterator6 = _createForOfIteratorHelper(normalAppearance.getKeys()),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var key = _step6.value;\n\n if (key !== \"Off\") {\n this.data.buttonValue = key;\n break;\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n this.checkedAppearance = normalAppearance.get(this.data.buttonValue);\n this.uncheckedAppearance = normalAppearance.get(\"Off\") || null;\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\n var ChoiceWidgetAnnotation =\n /*#__PURE__*/\n function (_WidgetAnnotation3) {\n _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);\n\n var _super5 = _createSuper(ChoiceWidgetAnnotation);\n\n function ChoiceWidgetAnnotation(params) {\n var _this7;\n\n _classCallCheck(this, ChoiceWidgetAnnotation);\n\n _this7 = _super5.call(this, params);\n _this7.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 _this7.data.options[i] = {\n exportValue: _this7._decodeFormValue(isOptionArray ? xref.fetchIfRef(option[0]) : option),\n displayValue: _this7._decodeFormValue(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n };\n }\n }\n\n if ((0, _util.isString)(_this7.data.fieldValue)) {\n _this7.data.fieldValue = [_this7.data.fieldValue];\n } else if (!_this7.data.fieldValue) {\n _this7.data.fieldValue = [];\n }\n\n _this7.data.combo = _this7.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n _this7.data.multiSelect = _this7.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n _this7._hasText = true;\n return _this7;\n }\n\n return ChoiceWidgetAnnotation;\n }(WidgetAnnotation);\n\n var TextAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation) {\n _inherits(TextAnnotation, _MarkupAnnotation);\n\n var _super6 = _createSuper(TextAnnotation);\n\n function TextAnnotation(parameters) {\n var _this8;\n\n _classCallCheck(this, TextAnnotation);\n\n var DEFAULT_ICON_SIZE = 22;\n _this8 = _super6.call(this, parameters);\n var dict = parameters.dict;\n _this8.data.annotationType = _util.AnnotationType.TEXT;\n\n if (_this8.data.hasAppearance) {\n _this8.data.name = \"NoIcon\";\n } else {\n _this8.data.rect[1] = _this8.data.rect[3] - DEFAULT_ICON_SIZE;\n _this8.data.rect[2] = _this8.data.rect[0] + DEFAULT_ICON_SIZE;\n _this8.data.name = dict.has(\"Name\") ? dict.get(\"Name\").name : \"Note\";\n }\n\n if (dict.has(\"State\")) {\n _this8.data.state = dict.get(\"State\") || null;\n _this8.data.stateModel = dict.get(\"StateModel\") || null;\n } else {\n _this8.data.state = null;\n _this8.data.stateModel = null;\n }\n\n return _this8;\n }\n\n return TextAnnotation;\n }(MarkupAnnotation);\n\n var LinkAnnotation =\n /*#__PURE__*/\n function (_Annotation3) {\n _inherits(LinkAnnotation, _Annotation3);\n\n var _super7 = _createSuper(LinkAnnotation);\n\n function LinkAnnotation(params) {\n var _this9;\n\n _classCallCheck(this, LinkAnnotation);\n\n _this9 = _super7.call(this, params);\n _this9.data.annotationType = _util.AnnotationType.LINK;\n var quadPoints = getQuadPoints(params.dict, _this9.rectangle);\n\n if (quadPoints) {\n _this9.data.quadPoints = quadPoints;\n }\n\n _obj.Catalog.parseDestDictionary({\n destDict: params.dict,\n resultObj: _this9.data,\n docBaseUrl: params.pdfManager.docBaseUrl\n });\n\n return _this9;\n }\n\n return LinkAnnotation;\n }(Annotation);\n\n var PopupAnnotation =\n /*#__PURE__*/\n function (_Annotation4) {\n _inherits(PopupAnnotation, _Annotation4);\n\n var _super8 = _createSuper(PopupAnnotation);\n\n function PopupAnnotation(parameters) {\n var _this10;\n\n _classCallCheck(this, PopupAnnotation);\n\n _this10 = _super8.call(this, parameters);\n _this10.data.annotationType = _util.AnnotationType.POPUP;\n var parentItem = parameters.dict.get(\"Parent\");\n\n if (!parentItem) {\n (0, _util.warn)(\"Popup annotation has a missing or invalid parent annotation.\");\n return _possibleConstructorReturn(_this10);\n }\n\n var parentSubtype = parentItem.get(\"Subtype\");\n _this10.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n var rawParent = parameters.dict.getRaw(\"Parent\");\n _this10.data.parentId = (0, _primitives.isRef)(rawParent) ? rawParent.toString() : null;\n var rt = parentItem.get(\"RT\");\n\n if ((0, _primitives.isName)(rt, _util.AnnotationReplyType.GROUP)) {\n parentItem = parentItem.get(\"IRT\");\n }\n\n if (!parentItem.has(\"M\")) {\n _this10.data.modificationDate = null;\n } else {\n _this10.setModificationDate(parentItem.get(\"M\"));\n\n _this10.data.modificationDate = _this10.modificationDate;\n }\n\n if (!parentItem.has(\"C\")) {\n _this10.data.color = null;\n } else {\n _this10.setColor(parentItem.getArray(\"C\"));\n\n _this10.data.color = _this10.color;\n }\n\n if (!_this10.viewable) {\n var parentFlags = parentItem.get(\"F\");\n\n if (_this10._isViewable(parentFlags)) {\n _this10.setFlags(parentFlags);\n }\n }\n\n _this10.data.title = (0, _util.stringToPDFString)(parentItem.get(\"T\") || \"\");\n _this10.data.contents = (0, _util.stringToPDFString)(parentItem.get(\"Contents\") || \"\");\n return _this10;\n }\n\n return PopupAnnotation;\n }(Annotation);\n\n var FreeTextAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation2) {\n _inherits(FreeTextAnnotation, _MarkupAnnotation2);\n\n var _super9 = _createSuper(FreeTextAnnotation);\n\n function FreeTextAnnotation(parameters) {\n var _this11;\n\n _classCallCheck(this, FreeTextAnnotation);\n\n _this11 = _super9.call(this, parameters);\n _this11.data.annotationType = _util.AnnotationType.FREETEXT;\n return _this11;\n }\n\n return FreeTextAnnotation;\n }(MarkupAnnotation);\n\n var LineAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation3) {\n _inherits(LineAnnotation, _MarkupAnnotation3);\n\n var _super10 = _createSuper(LineAnnotation);\n\n function LineAnnotation(parameters) {\n var _this12;\n\n _classCallCheck(this, LineAnnotation);\n\n _this12 = _super10.call(this, parameters);\n _this12.data.annotationType = _util.AnnotationType.LINE;\n _this12.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray(\"L\"));\n return _this12;\n }\n\n return LineAnnotation;\n }(MarkupAnnotation);\n\n var SquareAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation4) {\n _inherits(SquareAnnotation, _MarkupAnnotation4);\n\n var _super11 = _createSuper(SquareAnnotation);\n\n function SquareAnnotation(parameters) {\n var _this13;\n\n _classCallCheck(this, SquareAnnotation);\n\n _this13 = _super11.call(this, parameters);\n _this13.data.annotationType = _util.AnnotationType.SQUARE;\n return _this13;\n }\n\n return SquareAnnotation;\n }(MarkupAnnotation);\n\n var CircleAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation5) {\n _inherits(CircleAnnotation, _MarkupAnnotation5);\n\n var _super12 = _createSuper(CircleAnnotation);\n\n function CircleAnnotation(parameters) {\n var _this14;\n\n _classCallCheck(this, CircleAnnotation);\n\n _this14 = _super12.call(this, parameters);\n _this14.data.annotationType = _util.AnnotationType.CIRCLE;\n return _this14;\n }\n\n return CircleAnnotation;\n }(MarkupAnnotation);\n\n var PolylineAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation6) {\n _inherits(PolylineAnnotation, _MarkupAnnotation6);\n\n var _super13 = _createSuper(PolylineAnnotation);\n\n function PolylineAnnotation(parameters) {\n var _this15;\n\n _classCallCheck(this, PolylineAnnotation);\n\n _this15 = _super13.call(this, parameters);\n _this15.data.annotationType = _util.AnnotationType.POLYLINE;\n var rawVertices = parameters.dict.getArray(\"Vertices\");\n _this15.data.vertices = [];\n\n for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n _this15.data.vertices.push({\n x: rawVertices[i],\n y: rawVertices[i + 1]\n });\n }\n\n return _this15;\n }\n\n return PolylineAnnotation;\n }(MarkupAnnotation);\n\n var PolygonAnnotation =\n /*#__PURE__*/\n function (_PolylineAnnotation) {\n _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n var _super14 = _createSuper(PolygonAnnotation);\n\n function PolygonAnnotation(parameters) {\n var _this16;\n\n _classCallCheck(this, PolygonAnnotation);\n\n _this16 = _super14.call(this, parameters);\n _this16.data.annotationType = _util.AnnotationType.POLYGON;\n return _this16;\n }\n\n return PolygonAnnotation;\n }(PolylineAnnotation);\n\n var CaretAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation7) {\n _inherits(CaretAnnotation, _MarkupAnnotation7);\n\n var _super15 = _createSuper(CaretAnnotation);\n\n function CaretAnnotation(parameters) {\n var _this17;\n\n _classCallCheck(this, CaretAnnotation);\n\n _this17 = _super15.call(this, parameters);\n _this17.data.annotationType = _util.AnnotationType.CARET;\n return _this17;\n }\n\n return CaretAnnotation;\n }(MarkupAnnotation);\n\n var InkAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation8) {\n _inherits(InkAnnotation, _MarkupAnnotation8);\n\n var _super16 = _createSuper(InkAnnotation);\n\n function InkAnnotation(parameters) {\n var _this18;\n\n _classCallCheck(this, InkAnnotation);\n\n _this18 = _super16.call(this, parameters);\n _this18.data.annotationType = _util.AnnotationType.INK;\n var xref = parameters.xref;\n var originalInkLists = parameters.dict.getArray(\"InkList\");\n _this18.data.inkLists = [];\n\n for (var i = 0, ii = originalInkLists.length; i < ii; ++i) {\n _this18.data.inkLists.push([]);\n\n for (var j = 0, jj = originalInkLists[i].length; j < jj; j += 2) {\n _this18.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 _this18;\n }\n\n return InkAnnotation;\n }(MarkupAnnotation);\n\n var HighlightAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation9) {\n _inherits(HighlightAnnotation, _MarkupAnnotation9);\n\n var _super17 = _createSuper(HighlightAnnotation);\n\n function HighlightAnnotation(parameters) {\n var _this19;\n\n _classCallCheck(this, HighlightAnnotation);\n\n _this19 = _super17.call(this, parameters);\n _this19.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n var quadPoints = getQuadPoints(parameters.dict, _this19.rectangle);\n\n if (quadPoints) {\n _this19.data.quadPoints = quadPoints;\n }\n\n return _this19;\n }\n\n return HighlightAnnotation;\n }(MarkupAnnotation);\n\n var UnderlineAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation10) {\n _inherits(UnderlineAnnotation, _MarkupAnnotation10);\n\n var _super18 = _createSuper(UnderlineAnnotation);\n\n function UnderlineAnnotation(parameters) {\n var _this20;\n\n _classCallCheck(this, UnderlineAnnotation);\n\n _this20 = _super18.call(this, parameters);\n _this20.data.annotationType = _util.AnnotationType.UNDERLINE;\n var quadPoints = getQuadPoints(parameters.dict, _this20.rectangle);\n\n if (quadPoints) {\n _this20.data.quadPoints = quadPoints;\n }\n\n return _this20;\n }\n\n return UnderlineAnnotation;\n }(MarkupAnnotation);\n\n var SquigglyAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation11) {\n _inherits(SquigglyAnnotation, _MarkupAnnotation11);\n\n var _super19 = _createSuper(SquigglyAnnotation);\n\n function SquigglyAnnotation(parameters) {\n var _this21;\n\n _classCallCheck(this, SquigglyAnnotation);\n\n _this21 = _super19.call(this, parameters);\n _this21.data.annotationType = _util.AnnotationType.SQUIGGLY;\n var quadPoints = getQuadPoints(parameters.dict, _this21.rectangle);\n\n if (quadPoints) {\n _this21.data.quadPoints = quadPoints;\n }\n\n return _this21;\n }\n\n return SquigglyAnnotation;\n }(MarkupAnnotation);\n\n var StrikeOutAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation12) {\n _inherits(StrikeOutAnnotation, _MarkupAnnotation12);\n\n var _super20 = _createSuper(StrikeOutAnnotation);\n\n function StrikeOutAnnotation(parameters) {\n var _this22;\n\n _classCallCheck(this, StrikeOutAnnotation);\n\n _this22 = _super20.call(this, parameters);\n _this22.data.annotationType = _util.AnnotationType.STRIKEOUT;\n var quadPoints = getQuadPoints(parameters.dict, _this22.rectangle);\n\n if (quadPoints) {\n _this22.data.quadPoints = quadPoints;\n }\n\n return _this22;\n }\n\n return StrikeOutAnnotation;\n }(MarkupAnnotation);\n\n var StampAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation13) {\n _inherits(StampAnnotation, _MarkupAnnotation13);\n\n var _super21 = _createSuper(StampAnnotation);\n\n function StampAnnotation(parameters) {\n var _this23;\n\n _classCallCheck(this, StampAnnotation);\n\n _this23 = _super21.call(this, parameters);\n _this23.data.annotationType = _util.AnnotationType.STAMP;\n return _this23;\n }\n\n return StampAnnotation;\n }(MarkupAnnotation);\n\n var FileAttachmentAnnotation =\n /*#__PURE__*/\n function (_MarkupAnnotation14) {\n _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);\n\n var _super22 = _createSuper(FileAttachmentAnnotation);\n\n function FileAttachmentAnnotation(parameters) {\n var _this24;\n\n _classCallCheck(this, FileAttachmentAnnotation);\n\n _this24 = _super22.call(this, parameters);\n var file = new _obj.FileSpec(parameters.dict.get(\"FS\"), parameters.xref);\n _this24.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n _this24.data.file = file.serializable;\n return _this24;\n }\n\n return FileAttachmentAnnotation;\n }(MarkupAnnotation);\n /***/\n\n },\n /* 223 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.OperatorList = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n var 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 var firstTransformArg0 = argsArray[iFirstTransform][0],\n firstTransformArg1 = argsArray[iFirstTransform][1],\n firstTransformArg2 = argsArray[iFirstTransform][2],\n firstTransformArg3 = argsArray[iFirstTransform][3];\n\n if (firstTransformArg1 === firstTransformArg2) {\n isSameImage = true;\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] !== firstTransformArg1 || transformArgs[2] !== firstTransformArg2 || 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, firstTransformArg1, firstTransformArg2, 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\n var 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\n var OperatorList = function OperatorListClosure() {\n var CHUNK_SIZE = 1000;\n var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n\n function OperatorList(intent, streamSink) {\n this._streamSink = streamSink;\n this.fnArray = [];\n this.argsArray = [];\n\n if (streamSink && intent !== \"oplist\") {\n this.optimizer = new QueueOptimizer(this);\n } else {\n this.optimizer = new NullOptimizer(this);\n }\n\n this.dependencies = new Set();\n this._totalLength = 0;\n this.weight = 0;\n this._resolved = streamSink ? null : Promise.resolve();\n }\n\n OperatorList.prototype = {\n get length() {\n return this.argsArray.length;\n },\n\n get ready() {\n return this._resolved || this._streamSink.ready;\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._streamSink) {\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 (this.dependencies.has(dependency)) {\n return;\n }\n\n this.dependencies.add(dependency);\n this.addOp(_util.OPS.dependency, [dependency]);\n },\n addDependencies: function addDependencies(dependencies) {\n var _iterator = _createForOfIteratorHelper(dependencies),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var dependency = _step.value;\n this.addDependency(dependency);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n addOpList: function addOpList(opList) {\n if (!(opList instanceof OperatorList)) {\n (0, _util.warn)('addOpList - ignoring invalid \"opList\" parameter.');\n return;\n }\n\n var _iterator2 = _createForOfIteratorHelper(opList.dependencies),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var dependency = _step2.value;\n this.dependencies.add(dependency);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\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\n this._streamSink.enqueue({\n fnArray: this.fnArray,\n argsArray: this.argsArray,\n lastChunk: lastChunk,\n length: length\n }, 1, this._transfers);\n\n this.dependencies.clear();\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\n exports.OperatorList = OperatorList;\n /***/\n },\n /* 224 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.writeDict = writeDict;\n exports.incrementalUpdate = incrementalUpdate;\n\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _crypto = __w_pdfjs_require__(219);\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e2) {\n throw _e2;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e3) {\n didErr = true;\n err = _e3;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function writeDict(dict, buffer, transform) {\n buffer.push(\"<<\");\n\n var _iterator = _createForOfIteratorHelper(dict.getKeys()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var key = _step.value;\n buffer.push(\" /\".concat(key, \" \"));\n writeValue(dict.getRaw(key), buffer, transform);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n buffer.push(\">>\");\n }\n\n function writeStream(stream, buffer, transform) {\n writeDict(stream.dict, buffer, transform);\n buffer.push(\" stream\\n\");\n var string = (0, _util.bytesToString)(stream.getBytes());\n\n if (transform !== null) {\n string = transform.encryptString(string);\n }\n\n buffer.push(string);\n buffer.push(\"\\nendstream\\n\");\n }\n\n function writeArray(array, buffer, transform) {\n buffer.push(\"[\");\n var first = true;\n\n var _iterator2 = _createForOfIteratorHelper(array),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var val = _step2.value;\n\n if (!first) {\n buffer.push(\" \");\n } else {\n first = false;\n }\n\n writeValue(val, buffer, transform);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n buffer.push(\"]\");\n }\n\n function numberToString(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var roundedValue = Math.round(value * 100);\n\n if (roundedValue % 100 === 0) {\n return (roundedValue / 100).toString();\n }\n\n if (roundedValue % 10 === 0) {\n return value.toFixed(1);\n }\n\n return value.toFixed(2);\n }\n\n function writeValue(value, buffer, transform) {\n if ((0, _primitives.isName)(value)) {\n buffer.push(\"/\".concat(value.name));\n } else if ((0, _primitives.isRef)(value)) {\n buffer.push(\"\".concat(value.num, \" \").concat(value.gen, \" R\"));\n } else if (Array.isArray(value)) {\n writeArray(value, buffer, transform);\n } else if (typeof value === \"string\") {\n if (transform !== null) {\n value = transform.encryptString(value);\n }\n\n buffer.push(\"(\".concat((0, _util.escapeString)(value), \")\"));\n } else if (typeof value === \"number\") {\n buffer.push(numberToString(value));\n } else if ((0, _primitives.isDict)(value)) {\n writeDict(value, buffer, transform);\n } else if ((0, _primitives.isStream)(value)) {\n writeStream(value, buffer, transform);\n }\n }\n\n function writeInt(number, size, offset, buffer) {\n for (var i = size + offset - 1; i > offset - 1; i--) {\n buffer[i] = number & 0xff;\n number >>= 8;\n }\n\n return offset + size;\n }\n\n function writeString(string, offset, buffer) {\n for (var i = 0, len = string.length; i < len; i++) {\n buffer[offset + i] = string.charCodeAt(i) & 0xff;\n }\n }\n\n function computeMD5(filesize, xrefInfo) {\n var time = Math.floor(Date.now() / 1000);\n var filename = xrefInfo.filename || \"\";\n var md5Buffer = [time.toString(), filename, filesize.toString()];\n var md5BufferLen = md5Buffer.reduce(function (a, str) {\n return a + str.length;\n }, 0);\n\n for (var _i = 0, _Object$values = Object.values(xrefInfo.info); _i < _Object$values.length; _i++) {\n var value = _Object$values[_i];\n md5Buffer.push(value);\n md5BufferLen += value.length;\n }\n\n var array = new Uint8Array(md5BufferLen);\n var offset = 0;\n\n for (var _i2 = 0, _md5Buffer = md5Buffer; _i2 < _md5Buffer.length; _i2++) {\n var str = _md5Buffer[_i2];\n writeString(str, offset, array);\n offset += str.length;\n }\n\n return (0, _util.bytesToString)((0, _crypto.calculateMD5)(array));\n }\n\n function incrementalUpdate(originalData, xrefInfo, newRefs) {\n var newXref = new _primitives.Dict(null);\n var refForXrefTable = xrefInfo.newRef;\n var buffer, baseOffset;\n var lastByte = originalData[originalData.length - 1];\n\n if (lastByte === 0x0a || lastByte === 0x0d) {\n buffer = [];\n baseOffset = originalData.length;\n } else {\n buffer = [\"\\n\"];\n baseOffset = originalData.length + 1;\n }\n\n newXref.set(\"Size\", refForXrefTable.num + 1);\n newXref.set(\"Prev\", xrefInfo.startXRef);\n newXref.set(\"Type\", _primitives.Name.get(\"XRef\"));\n\n if (xrefInfo.rootRef !== null) {\n newXref.set(\"Root\", xrefInfo.rootRef);\n }\n\n if (xrefInfo.infoRef !== null) {\n newXref.set(\"Info\", xrefInfo.infoRef);\n }\n\n if (xrefInfo.encrypt !== null) {\n newXref.set(\"Encrypt\", xrefInfo.encrypt);\n }\n\n newRefs.push({\n ref: refForXrefTable,\n data: \"\"\n });\n newRefs = newRefs.sort(function (a, b) {\n return a.ref.num - b.ref.num;\n });\n var xrefTableData = [[0, 1, 0xffff]];\n var indexes = [0, 1];\n var maxOffset = 0;\n\n var _iterator3 = _createForOfIteratorHelper(newRefs),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _step3.value,\n ref = _step3$value.ref,\n data = _step3$value.data;\n maxOffset = Math.max(maxOffset, baseOffset);\n xrefTableData.push([1, baseOffset, Math.min(ref.gen, 0xffff)]);\n baseOffset += data.length;\n indexes.push(ref.num);\n indexes.push(1);\n buffer.push(data);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n newXref.set(\"Index\", indexes);\n\n if (xrefInfo.fileIds.length !== 0) {\n var md5 = computeMD5(baseOffset, xrefInfo);\n newXref.set(\"ID\", [xrefInfo.fileIds[0], md5]);\n }\n\n var offsetSize = Math.ceil(Math.log2(maxOffset) / 8);\n var sizes = [1, offsetSize, 2];\n var structSize = sizes[0] + sizes[1] + sizes[2];\n var tableLength = structSize * xrefTableData.length;\n newXref.set(\"W\", sizes);\n newXref.set(\"Length\", tableLength);\n buffer.push(\"\".concat(refForXrefTable.num, \" \").concat(refForXrefTable.gen, \" obj\\n\"));\n writeDict(newXref, buffer, null);\n buffer.push(\" stream\\n\");\n var bufferLen = buffer.reduce(function (a, str) {\n return a + str.length;\n }, 0);\n var footer = \"\\nendstream\\nendobj\\nstartxref\\n\".concat(baseOffset, \"\\n%%EOF\\n\");\n var array = new Uint8Array(originalData.length + bufferLen + tableLength + footer.length);\n array.set(originalData);\n var offset = originalData.length;\n\n var _iterator4 = _createForOfIteratorHelper(buffer),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var str = _step4.value;\n writeString(str, offset, array);\n offset += str.length;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n for (var _i3 = 0, _xrefTableData = xrefTableData; _i3 < _xrefTableData.length; _i3++) {\n var _xrefTableData$_i = _slicedToArray(_xrefTableData[_i3], 3),\n type = _xrefTableData$_i[0],\n objOffset = _xrefTableData$_i[1],\n gen = _xrefTableData$_i[2];\n\n offset = writeInt(type, sizes[0], offset, array);\n offset = writeInt(objOffset, sizes[1], offset, array);\n offset = writeInt(gen, sizes[2], offset, array);\n }\n\n writeString(footer, offset, array);\n return array;\n }\n /***/\n\n },\n /* 225 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PartialEvaluator = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n var _cmap = __w_pdfjs_require__(226);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _fonts = __w_pdfjs_require__(227);\n\n var _encodings = __w_pdfjs_require__(230);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _unicode = __w_pdfjs_require__(233);\n\n var _standard_fonts = __w_pdfjs_require__(232);\n\n var _pattern = __w_pdfjs_require__(236);\n\n var _function = __w_pdfjs_require__(237);\n\n var _parser = __w_pdfjs_require__(208);\n\n var _image_utils = __w_pdfjs_require__(221);\n\n var _bidi = __w_pdfjs_require__(239);\n\n var _colorspace = __w_pdfjs_require__(220);\n\n var _stream = __w_pdfjs_require__(209);\n\n var _glyphlist = __w_pdfjs_require__(231);\n\n var _metrics = __w_pdfjs_require__(240);\n\n var _murmurhash = __w_pdfjs_require__(241);\n\n var _operator_list = __w_pdfjs_require__(223);\n\n var _image = __w_pdfjs_require__(242);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var DefaultPartialEvaluatorOptions = Object.freeze({\n maxImageSize: -1,\n disableFontFace: false,\n ignoreErrors: false,\n isEvalSupported: true,\n fontExtraProperties: false\n });\n var PatternType = {\n TILING: 1,\n SHADING: 2\n };\n var deferred = Promise.resolve();\n\n function normalizeBlendMode(value) {\n var parsingArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (Array.isArray(value)) {\n for (var i = 0, ii = value.length; i < ii; i++) {\n var maybeBM = normalizeBlendMode(value[i], true);\n\n if (maybeBM) {\n return maybeBM;\n }\n }\n\n (0, _util.warn)(\"Unsupported blend mode Array: \".concat(value));\n return \"source-over\";\n }\n\n if (!(0, _primitives.isName)(value)) {\n if (parsingArray) {\n return null;\n }\n\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 if (parsingArray) {\n return null;\n }\n\n (0, _util.warn)(\"Unsupported blend mode: \".concat(value.name));\n return \"source-over\";\n }\n\n var TimeSlotManager =\n /*#__PURE__*/\n function () {\n _createClass(TimeSlotManager, null, [{\n key: \"TIME_SLOT_DURATION_MS\",\n get: function get() {\n return (0, _util.shadow)(this, \"TIME_SLOT_DURATION_MS\", 20);\n }\n }, {\n key: \"CHECK_TIME_EVERY\",\n get: function get() {\n return (0, _util.shadow)(this, \"CHECK_TIME_EVERY\", 100);\n }\n }]);\n\n function TimeSlotManager() {\n _classCallCheck(this, TimeSlotManager);\n\n this.reset();\n }\n\n _createClass(TimeSlotManager, [{\n key: \"check\",\n value: function check() {\n if (++this.checked < TimeSlotManager.CHECK_TIME_EVERY) {\n return false;\n }\n\n this.checked = 0;\n return this.endTime <= Date.now();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.endTime = Date.now() + TimeSlotManager.TIME_SLOT_DURATION_MS;\n this.checked = 0;\n }\n }]);\n\n return TimeSlotManager;\n }();\n\n var PartialEvaluator =\n /*#__PURE__*/\n function () {\n function PartialEvaluator(_ref) {\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 globalImageCache = _ref.globalImageCache,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? null : _ref$options;\n\n _classCallCheck(this, PartialEvaluator);\n\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.globalImageCache = globalImageCache;\n this.options = options || DefaultPartialEvaluatorOptions;\n this.parsingType3Font = false;\n this._fetchBuiltInCMapBound = this.fetchBuiltInCMap.bind(this);\n }\n\n _createClass(PartialEvaluator, [{\n key: \"clone\",\n value: 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 }, {\n key: \"hasBlendModes\",\n value: function hasBlendModes(resources) {\n if (!(resources instanceof _primitives.Dict)) {\n return false;\n }\n\n var processed = new _primitives.RefSet();\n\n if (resources.objId) {\n processed.put(resources.objId);\n }\n\n var nodes = [resources],\n xref = this.xref;\n\n while (nodes.length) {\n var node = nodes.shift();\n var graphicStates = node.get(\"ExtGState\");\n\n if (graphicStates instanceof _primitives.Dict) {\n var _iterator = _createForOfIteratorHelper(graphicStates.getRawValues()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var graphicState = _step.value;\n\n if (graphicState instanceof _primitives.Ref) {\n if (processed.has(graphicState)) {\n continue;\n }\n\n try {\n graphicState = xref.fetch(graphicState);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n processed.put(graphicState);\n (0, _util.info)(\"hasBlendModes - ignoring ExtGState: \\\"\".concat(ex, \"\\\".\"));\n continue;\n }\n }\n\n if (!(graphicState instanceof _primitives.Dict)) {\n continue;\n }\n\n if (graphicState.objId) {\n processed.put(graphicState.objId);\n }\n\n var bm = graphicState.get(\"BM\");\n\n if (bm instanceof _primitives.Name) {\n if (bm.name !== \"Normal\") {\n return true;\n }\n\n continue;\n }\n\n if (bm !== undefined && Array.isArray(bm)) {\n var _iterator2 = _createForOfIteratorHelper(bm),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var element = _step2.value;\n\n if (element instanceof _primitives.Name && element.name !== \"Normal\") {\n return true;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n var xObjects = node.get(\"XObject\");\n\n if (!(xObjects instanceof _primitives.Dict)) {\n continue;\n }\n\n var _iterator3 = _createForOfIteratorHelper(xObjects.getRawValues()),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var xObject = _step3.value;\n\n if (xObject instanceof _primitives.Ref) {\n if (processed.has(xObject)) {\n continue;\n }\n\n try {\n xObject = xref.fetch(xObject);\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n processed.put(xObject);\n (0, _util.info)(\"hasBlendModes - ignoring XObject: \\\"\".concat(ex, \"\\\".\"));\n continue;\n }\n }\n\n if (!(0, _primitives.isStream)(xObject)) {\n continue;\n }\n\n if (xObject.dict.objId) {\n processed.put(xObject.dict.objId);\n }\n\n var xResources = xObject.dict.get(\"Resources\");\n\n if (!(xResources instanceof _primitives.Dict)) {\n continue;\n }\n\n if (xResources.objId && processed.has(xResources.objId)) {\n continue;\n }\n\n nodes.push(xResources);\n\n if (xResources.objId) {\n processed.put(xResources.objId);\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n\n return false;\n }\n }, {\n key: \"fetchBuiltInCMap\",\n value: function () {\n var _fetchBuiltInCMap = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(name) {\n var cachedData, readableStream, reader, data;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cachedData = this.builtInCMapCache.get(name);\n\n if (!cachedData) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", cachedData);\n\n case 3:\n readableStream = this.handler.sendWithStream(\"FetchBuiltInCMap\", {\n name: name\n });\n reader = readableStream.getReader();\n _context.next = 7;\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref2) {\n var value = _ref2.value,\n done = _ref2.done;\n\n if (done) {\n return;\n }\n\n resolve(value);\n pump();\n }, reject);\n }\n\n pump();\n });\n\n case 7:\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 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function fetchBuiltInCMap(_x) {\n return _fetchBuiltInCMap.apply(this, arguments);\n }\n\n return fetchBuiltInCMap;\n }()\n }, {\n key: \"buildFormXObject\",\n value: function () {\n var _buildFormXObject = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee2(resources, xobj, smask, operatorList, task, initialState, localColorSpaceCache) {\n var dict, matrix, bbox, optionalContent, group, groupOptions, groupSubtype, colorSpace, cs, cachedColorSpace;\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n dict = xobj.dict;\n matrix = dict.getArray(\"Matrix\");\n 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 optionalContent = null;\n\n if (!dict.has(\"OC\")) {\n _context2.next = 10;\n break;\n }\n\n _context2.next = 8;\n return this.parseMarkedContentProps(dict.get(\"OC\"), resources);\n\n case 8:\n optionalContent = _context2.sent;\n operatorList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", optionalContent]);\n\n case 10:\n group = dict.get(\"Group\");\n\n if (!group) {\n _context2.next = 30;\n break;\n }\n\n groupOptions = {\n matrix: matrix,\n bbox: bbox,\n smask: smask,\n isolated: false,\n knockout: false\n };\n groupSubtype = group.get(\"S\");\n colorSpace = null;\n\n if (!(0, _primitives.isName)(groupSubtype, \"Transparency\")) {\n _context2.next = 28;\n break;\n }\n\n groupOptions.isolated = group.get(\"I\") || false;\n groupOptions.knockout = group.get(\"K\") || false;\n\n if (!group.has(\"CS\")) {\n _context2.next = 28;\n break;\n }\n\n cs = group.getRaw(\"CS\");\n cachedColorSpace = _colorspace.ColorSpace.getCached(cs, this.xref, localColorSpaceCache);\n\n if (!cachedColorSpace) {\n _context2.next = 25;\n break;\n }\n\n colorSpace = cachedColorSpace;\n _context2.next = 28;\n break;\n\n case 25:\n _context2.next = 27;\n return this.parseColorSpace({\n cs: cs,\n resources: resources,\n localColorSpaceCache: localColorSpaceCache\n });\n\n case 27:\n colorSpace = _context2.sent;\n\n case 28:\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 case 30:\n operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n return _context2.abrupt(\"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 if (optionalContent) {\n operatorList.addOp(_util.OPS.endMarkedContent, []);\n }\n }));\n\n case 32:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function buildFormXObject(_x2, _x3, _x4, _x5, _x6, _x7, _x8) {\n return _buildFormXObject.apply(this, arguments);\n }\n\n return buildFormXObject;\n }()\n }, {\n key: \"_sendImgData\",\n value: function _sendImgData(objId, imgData) {\n var cacheGlobally = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var transfers = imgData ? [imgData.data.buffer] : null;\n\n if (this.parsingType3Font || cacheGlobally) {\n return this.handler.send(\"commonobj\", [objId, \"Image\", imgData], transfers);\n }\n\n return this.handler.send(\"obj\", [objId, this.pageIndex, \"Image\", imgData], transfers);\n }\n }, {\n key: \"buildPaintImageXObject\",\n value: function () {\n var _buildPaintImageXObject = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee3(_ref3) {\n var _this = this;\n\n var resources, image, _ref3$isInline, isInline, operatorList, cacheKey, localImageCache, localColorSpaceCache, dict, imageRef, w, h, maxImageSize, imageMask, imgData, args, width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, objId, cacheGlobally;\n\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.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, localImageCache = _ref3.localImageCache, localColorSpaceCache = _ref3.localColorSpaceCache;\n dict = image.dict;\n imageRef = dict.objId;\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 _context3.next = 8;\n break;\n }\n\n (0, _util.warn)(\"Image dimensions are missing, or not numbers.\");\n return _context3.abrupt(\"return\", undefined);\n\n case 8:\n maxImageSize = this.options.maxImageSize;\n\n if (!(maxImageSize !== -1 && w * h > maxImageSize)) {\n _context3.next = 12;\n break;\n }\n\n (0, _util.warn)(\"Image exceeded maximum allowed size and was removed.\");\n return _context3.abrupt(\"return\", undefined);\n\n case 12:\n imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n\n if (!imageMask) {\n _context3.next = 25;\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 localImageCache.set(cacheKey, imageRef, {\n fn: _util.OPS.paintImageMaskXObject,\n args: args\n });\n }\n\n return _context3.abrupt(\"return\", undefined);\n\n case 25:\n softMask = dict.get(\"SMask\", \"SM\") || false;\n mask = dict.get(\"Mask\") || false;\n SMALL_IMAGE_DIMENSIONS = 200;\n\n if (!(isInline && !softMask && !mask && w + h < SMALL_IMAGE_DIMENSIONS)) {\n _context3.next = 33;\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 localColorSpaceCache: localColorSpaceCache\n });\n imgData = imageObj.createImageData(true);\n operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n return _context3.abrupt(\"return\", undefined);\n\n case 33:\n objId = \"img_\".concat(this.idFactory.createObjId()), cacheGlobally = false;\n\n if (this.parsingType3Font) {\n objId = \"\".concat(this.idFactory.getDocId(), \"_type3_\").concat(objId);\n } else if (imageRef) {\n cacheGlobally = this.globalImageCache.shouldCache(imageRef, this.pageIndex);\n\n if (cacheGlobally) {\n objId = \"\".concat(this.idFactory.getDocId(), \"_\").concat(objId);\n }\n }\n\n operatorList.addDependency(objId);\n args = [objId, w, h];\n\n _image.PDFImage.buildImage({\n xref: this.xref,\n res: resources,\n image: image,\n isInline: isInline,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n }).then(function (imageObj) {\n imgData = imageObj.createImageData(false);\n return _this._sendImgData(objId, imgData, cacheGlobally);\n })[\"catch\"](function (reason) {\n (0, _util.warn)(\"Unable to decode image \\\"\".concat(objId, \"\\\": \\\"\").concat(reason, \"\\\".\"));\n return _this._sendImgData(objId, null, cacheGlobally);\n });\n\n operatorList.addOp(_util.OPS.paintImageXObject, args);\n\n if (cacheKey) {\n localImageCache.set(cacheKey, imageRef, {\n fn: _util.OPS.paintImageXObject,\n args: args\n });\n\n if (imageRef) {\n (0, _util.assert)(!isInline, \"Cannot cache an inline image globally.\");\n this.globalImageCache.addPageIndex(imageRef, this.pageIndex);\n\n if (cacheGlobally) {\n this.globalImageCache.setData(imageRef, {\n objId: objId,\n fn: _util.OPS.paintImageXObject,\n args: args\n });\n }\n }\n }\n\n return _context3.abrupt(\"return\", undefined);\n\n case 41:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function buildPaintImageXObject(_x9) {\n return _buildPaintImageXObject.apply(this, arguments);\n }\n\n return buildPaintImageXObject;\n }()\n }, {\n key: \"handleSMask\",\n value: function handleSMask(smask, resources, operatorList, task, stateManager, localColorSpaceCache) {\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\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(), localColorSpaceCache);\n }\n }, {\n key: \"handleTransferFunction\",\n value: function handleTransferFunction(tr) {\n var transferArray;\n\n if (Array.isArray(tr)) {\n transferArray = tr;\n } else if ((0, _function.isPDFFunction)(tr)) {\n transferArray = [tr];\n } else {\n return null;\n }\n\n var transferMaps = [];\n var numFns = 0,\n numEffectfulFns = 0;\n\n var _iterator4 = _createForOfIteratorHelper(transferArray),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var entry = _step4.value;\n var transferObj = this.xref.fetchIfRef(entry);\n numFns++;\n\n if ((0, _primitives.isName)(transferObj, \"Identity\")) {\n transferMaps.push(null);\n continue;\n } else if (!(0, _function.isPDFFunction)(transferObj)) {\n return null;\n }\n\n var transferFn = this._pdfFunctionFactory.create(transferObj);\n\n var transferMap = new Uint8Array(256),\n tmp = new Float32Array(1);\n\n for (var j = 0; j < 256; j++) {\n tmp[0] = j / 255;\n transferFn(tmp, 0, tmp, 0);\n transferMap[j] = tmp[0] * 255 | 0;\n }\n\n transferMaps.push(transferMap);\n numEffectfulFns++;\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n\n if (!(numFns === 1 || numFns === 4)) {\n return null;\n }\n\n if (numEffectfulFns === 0) {\n return null;\n }\n\n return transferMaps;\n }\n }, {\n key: \"handleTilingType\",\n value: function handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) {\n var _this2 = this;\n\n var tilingOpList = new _operator_list.OperatorList();\n\n var patternResources = _primitives.Dict.merge({\n xref: this.xref,\n dictArray: [patternDict.get(\"Resources\"), resources]\n });\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 (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this2.options.ignoreErrors) {\n _this2.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorTilingPattern\n });\n\n (0, _util.warn)(\"handleTilingType - ignoring pattern: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n });\n }\n }, {\n key: \"handleSetFont\",\n value: function handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n var _this3 = this;\n\n var fontName,\n fontSize = 0;\n\n if (fontArgs) {\n fontArgs = fontArgs.slice();\n fontName = fontArgs[0].name;\n fontSize = fontArgs[1];\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(_this3, resources, task).then(function () {\n operatorList.addDependencies(translated.type3Dependencies);\n return translated;\n })[\"catch\"](function (reason) {\n _this3.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadType3\n });\n\n return new TranslatedFont({\n loadedName: \"g_font_error\",\n font: new _fonts.ErrorFont(\"Type3 font load error: \".concat(reason)),\n dict: translated.font,\n extraProperties: _this3.options.fontExtraProperties\n });\n });\n }).then(function (translated) {\n state.font = translated.font;\n state.fontSize = fontSize;\n state.fontName = fontName;\n translated.send(_this3.handler);\n return translated.loadedName;\n });\n }\n }, {\n key: \"handleText\",\n value: 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 }, {\n key: \"ensureStateFont\",\n value: function ensureStateFont(state) {\n if (state.font) {\n return;\n }\n\n var reason = new _util.FormatError(\"Missing setFont (Tf) operator before text rendering operator.\");\n\n if (this.options.ignoreErrors) {\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontState\n });\n (0, _util.warn)(\"ensureStateFont: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }\n }, {\n key: \"setGState\",\n value: function () {\n var _setGState = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee4(_ref4) {\n var _this4 = this;\n\n var resources, gState, operatorList, cacheKey, task, stateManager, localGStateCache, localColorSpaceCache, gStateRef, isSimpleGState, gStateObj, gStateKeys, promise, _loop, i, ii;\n\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n resources = _ref4.resources, gState = _ref4.gState, operatorList = _ref4.operatorList, cacheKey = _ref4.cacheKey, task = _ref4.task, stateManager = _ref4.stateManager, localGStateCache = _ref4.localGStateCache, localColorSpaceCache = _ref4.localColorSpaceCache;\n gStateRef = gState.objId;\n isSimpleGState = true;\n gStateObj = [];\n gStateKeys = gState.getKeys();\n promise = Promise.resolve();\n\n _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 isSimpleGState = false;\n promise = promise.then(function () {\n return _this4.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 isSimpleGState = false;\n promise = promise.then(function () {\n return _this4.handleSMask(value, resources, operatorList, task, stateManager, localColorSpaceCache);\n });\n gStateObj.push([key, true]);\n } else {\n (0, _util.warn)(\"Unsupported SMask type\");\n }\n\n break;\n\n case \"TR\":\n var transferMaps = _this4.handleTransferFunction(value);\n\n gStateObj.push([key, transferMaps]);\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 \"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 (i = 0, ii = gStateKeys.length; i < ii; i++) {\n _loop();\n }\n\n return _context4.abrupt(\"return\", promise.then(function () {\n if (gStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n }\n\n if (isSimpleGState) {\n localGStateCache.set(cacheKey, gStateRef, gStateObj);\n }\n }));\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n function setGState(_x10) {\n return _setGState.apply(this, arguments);\n }\n\n return setGState;\n }()\n }, {\n key: \"loadFont\",\n value: function loadFont(fontName, font, resources) {\n var _this5 = this;\n\n var errorFont = function errorFont() {\n return Promise.resolve(new TranslatedFont({\n loadedName: \"g_font_error\",\n font: new _fonts.ErrorFont(\"Font \\\"\".concat(fontName, \"\\\" is not available.\")),\n dict: font,\n extraProperties: _this5.options.fontExtraProperties\n }));\n };\n\n var fontRef,\n xref = this.xref;\n\n if (font) {\n if (!(0, _primitives.isRef)(font)) {\n throw new _util.FormatError('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 }\n }\n\n if (!fontRef) {\n var partialMsg = \"Font \\\"\".concat(fontName || font && font.toString(), \"\\\" is not available\");\n\n if (!this.options.ignoreErrors && !this.parsingType3Font) {\n (0, _util.warn)(\"\".concat(partialMsg, \".\"));\n return errorFont();\n }\n\n this.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontMissing\n });\n (0, _util.warn)(\"\".concat(partialMsg, \" -- attempting to fallback to a default font.\"));\n fontRef = PartialEvaluator.fallbackFontDict;\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 = \"f\".concat(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: this.idFactory.createFontId()\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.createFontId();\n }\n\n this.fontCache.put(\"id_\".concat(fontID), fontCapability.promise);\n }\n\n (0, _util.assert)(fontID && fontID.startsWith(\"f\"), 'The \"fontID\" must be (correctly) defined.');\n font.loadedName = \"\".concat(this.idFactory.getDocId(), \"_\").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({\n loadedName: font.loadedName,\n font: translatedFont,\n dict: font,\n extraProperties: _this5.options.fontExtraProperties\n }));\n })[\"catch\"](function (reason) {\n _this5.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontTranslate\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({\n loadedName: font.loadedName,\n font: new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason),\n dict: font,\n extraProperties: _this5.options.fontExtraProperties\n }));\n });\n return fontCapability.promise;\n }\n }, {\n key: \"buildPath\",\n value: 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 }, {\n key: \"parseColorSpace\",\n value: function parseColorSpace(_ref5) {\n var _this6 = this;\n\n var cs = _ref5.cs,\n resources = _ref5.resources,\n localColorSpaceCache = _ref5.localColorSpaceCache;\n return _colorspace.ColorSpace.parseAsync({\n cs: cs,\n xref: this.xref,\n resources: resources,\n pdfFunctionFactory: this._pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n\n if (_this6.options.ignoreErrors) {\n _this6.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorColorSpace\n });\n\n (0, _util.warn)(\"parseColorSpace - ignoring ColorSpace: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }\n\n throw reason;\n });\n }\n }, {\n key: \"handleColorN\",\n value: function () {\n var _handleColorN = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee5(operatorList, fn, args, cs, patterns, resources, task, localColorSpaceCache) {\n var patternName, pattern, dict, typeNum, color, shading, matrix;\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n patternName = args[args.length - 1];\n\n if (!((0, _primitives.isName)(patternName) && (pattern = patterns.get(patternName.name)))) {\n _context5.next = 16;\n break;\n }\n\n dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n typeNum = dict.get(\"PatternType\");\n\n if (!(typeNum === PatternType.TILING)) {\n _context5.next = 9;\n break;\n }\n\n color = cs.base ? cs.base.getRgb(args, 0) : null;\n return _context5.abrupt(\"return\", this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task));\n\n case 9:\n if (!(typeNum === PatternType.SHADING)) {\n _context5.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, localColorSpaceCache);\n operatorList.addOp(fn, pattern.getIR());\n return _context5.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 _context5.stop();\n }\n }\n }, _callee5, this);\n }));\n\n function handleColorN(_x11, _x12, _x13, _x14, _x15, _x16, _x17, _x18) {\n return _handleColorN.apply(this, arguments);\n }\n\n return handleColorN;\n }()\n }, {\n key: \"parseMarkedContentProps\",\n value: function () {\n var _parseMarkedContentProps = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee6(contentProperties, resources) {\n var optionalContent, properties, optionalContentType, optionalContentGroups, groupIds, expression;\n return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n if (!(0, _primitives.isName)(contentProperties)) {\n _context6.next = 5;\n break;\n }\n\n properties = resources.get(\"Properties\");\n optionalContent = properties.get(contentProperties.name);\n _context6.next = 10;\n break;\n\n case 5:\n if (!(0, _primitives.isDict)(contentProperties)) {\n _context6.next = 9;\n break;\n }\n\n optionalContent = contentProperties;\n _context6.next = 10;\n break;\n\n case 9:\n throw new _util.FormatError(\"Optional content properties malformed.\");\n\n case 10:\n optionalContentType = optionalContent.get(\"Type\").name;\n\n if (!(optionalContentType === \"OCG\")) {\n _context6.next = 15;\n break;\n }\n\n return _context6.abrupt(\"return\", {\n type: optionalContentType,\n id: optionalContent.objId\n });\n\n case 15:\n if (!(optionalContentType === \"OCMD\")) {\n _context6.next = 27;\n break;\n }\n\n optionalContentGroups = optionalContent.get(\"OCGs\");\n\n if (!(Array.isArray(optionalContentGroups) || (0, _primitives.isDict)(optionalContentGroups))) {\n _context6.next = 25;\n break;\n }\n\n groupIds = [];\n\n if (Array.isArray(optionalContentGroups)) {\n optionalContent.get(\"OCGs\").forEach(function (ocg) {\n groupIds.push(ocg.toString());\n });\n } else {\n groupIds.push(optionalContentGroups.objId);\n }\n\n expression = null;\n\n if (optionalContent.get(\"VE\")) {\n expression = true;\n }\n\n return _context6.abrupt(\"return\", {\n type: optionalContentType,\n ids: groupIds,\n policy: (0, _primitives.isName)(optionalContent.get(\"P\")) ? optionalContent.get(\"P\").name : null,\n expression: expression\n });\n\n case 25:\n if (!(0, _primitives.isRef)(optionalContentGroups)) {\n _context6.next = 27;\n break;\n }\n\n return _context6.abrupt(\"return\", {\n type: optionalContentType,\n id: optionalContentGroups.toString()\n });\n\n case 27:\n return _context6.abrupt(\"return\", null);\n\n case 28:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n\n function parseMarkedContentProps(_x19, _x20) {\n return _parseMarkedContentProps.apply(this, arguments);\n }\n\n return parseMarkedContentProps;\n }()\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList(_ref6) {\n var _this7 = this;\n\n var stream = _ref6.stream,\n task = _ref6.task,\n resources = _ref6.resources,\n operatorList = _ref6.operatorList,\n _ref6$initialState = _ref6.initialState,\n initialState = _ref6$initialState === void 0 ? null : _ref6$initialState;\n resources = resources || _primitives.Dict.empty;\n initialState = initialState || new EvalState();\n\n if (!operatorList) {\n throw new Error('getOperatorList: missing \"operatorList\" parameter');\n }\n\n var self = this;\n var xref = this.xref;\n var parsingText = false;\n var localImageCache = new _image_utils.LocalImageCache();\n var localColorSpaceCache = new _image_utils.LocalColorSpaceCache();\n var localGStateCache = new _image_utils.LocalGStateCache();\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.all([promise, operatorList.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 i,\n ii,\n cs,\n name;\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 name = args[0].name;\n\n if (name) {\n var localImage = localImageCache.getByName(name);\n\n if (localImage) {\n operatorList.addOp(localImage.fn, localImage.args);\n args = null;\n continue;\n }\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.getRaw(name);\n\n if (xobj instanceof _primitives.Ref) {\n var _localImage = localImageCache.getByRef(xobj);\n\n if (_localImage) {\n operatorList.addOp(_localImage.fn, _localImage.args);\n resolveXObject();\n return;\n }\n\n var globalImage = self.globalImageCache.getData(xobj, self.pageIndex);\n\n if (globalImage) {\n operatorList.addDependency(globalImage.objId);\n operatorList.addOp(globalImage.fn, globalImage.args);\n resolveXObject();\n return;\n }\n\n xobj = xref.fetch(xobj);\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(), localColorSpaceCache).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 localImageCache: localImageCache,\n localColorSpaceCache: localColorSpaceCache\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 (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n self.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorXObject\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 _localImage2 = localImageCache.getByName(cacheKey);\n\n if (_localImage2) {\n operatorList.addOp(_localImage2.fn, _localImage2.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 localImageCache: localImageCache,\n localColorSpaceCache: localColorSpaceCache\n }));\n return;\n\n case _util.OPS.showText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n args[0] = self.handleText(args[0], stateManager.state);\n break;\n\n case _util.OPS.showSpacedText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\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 if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\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 if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\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 {\n var cachedColorSpace = _colorspace.ColorSpace.getCached(args[0], xref, localColorSpaceCache);\n\n if (cachedColorSpace) {\n stateManager.state.fillColorSpace = cachedColorSpace;\n continue;\n }\n\n next(self.parseColorSpace({\n cs: args[0],\n resources: resources,\n localColorSpaceCache: localColorSpaceCache\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.fillColorSpace = colorSpace;\n }\n }));\n return;\n }\n\n case _util.OPS.setStrokeColorSpace:\n {\n var _cachedColorSpace = _colorspace.ColorSpace.getCached(args[0], xref, localColorSpaceCache);\n\n if (_cachedColorSpace) {\n stateManager.state.strokeColorSpace = _cachedColorSpace;\n continue;\n }\n\n next(self.parseColorSpace({\n cs: args[0],\n resources: resources,\n localColorSpaceCache: localColorSpaceCache\n }).then(function (colorSpace) {\n if (colorSpace) {\n stateManager.state.strokeColorSpace = colorSpace;\n }\n }));\n return;\n }\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, localColorSpaceCache));\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, localColorSpaceCache));\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, localColorSpaceCache);\n\n var patternIR = shadingFill.getIR();\n args = [patternIR];\n fn = _util.OPS.shadingFill;\n break;\n\n case _util.OPS.setGState:\n name = args[0].name;\n\n if (name) {\n var localGStateObj = localGStateCache.getByName(name);\n\n if (localGStateObj) {\n if (localGStateObj.length > 0) {\n operatorList.addOp(_util.OPS.setGState, [localGStateObj]);\n }\n\n args = null;\n continue;\n }\n }\n\n next(new Promise(function (resolveGState, rejectGState) {\n if (!name) {\n throw new _util.FormatError(\"GState must be referred to by name.\");\n }\n\n var extGState = resources.get(\"ExtGState\");\n\n if (!(extGState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"ExtGState should be a dictionary.\");\n }\n\n var gState = extGState.get(name);\n\n if (!(gState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"GState should be a dictionary.\");\n }\n\n self.setGState({\n resources: resources,\n gState: gState,\n operatorList: operatorList,\n cacheKey: name,\n task: task,\n stateManager: stateManager,\n localGStateCache: localGStateCache,\n localColorSpaceCache: localColorSpaceCache\n }).then(resolveGState, rejectGState);\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n self.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorExtGState\n });\n (0, _util.warn)(\"getOperatorList - ignoring ExtGState: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\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.beginCompat:\n case _util.OPS.endCompat:\n continue;\n\n case _util.OPS.beginMarkedContentProps:\n if (!(0, _primitives.isName)(args[0])) {\n (0, _util.warn)(\"Expected name for beginMarkedContentProps arg0=\".concat(args[0]));\n continue;\n }\n\n if (args[0].name === \"OC\") {\n next(self.parseMarkedContentProps(args[1], resources).then(function (data) {\n operatorList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", data]);\n })[\"catch\"](function (reason) {\n if (reason instanceof _util.AbortException) {\n return;\n }\n\n if (self.options.ignoreErrors) {\n self.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorMarkedContent\n });\n (0, _util.warn)(\"getOperatorList - ignoring beginMarkedContentProps: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\n }\n\n args = [args[0].name];\n break;\n\n case _util.OPS.beginMarkedContent:\n case _util.OPS.endMarkedContent:\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 (reason instanceof _util.AbortException) {\n return;\n }\n\n if (_this7.options.ignoreErrors) {\n _this7.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList\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 }, {\n key: \"getTextContent\",\n value: function getTextContent(_ref7) {\n var _this8 = this;\n\n var stream = _ref7.stream,\n task = _ref7.task,\n resources = _ref7.resources,\n _ref7$stateManager = _ref7.stateManager,\n stateManager = _ref7$stateManager === void 0 ? null : _ref7$stateManager,\n _ref7$normalizeWhites = _ref7.normalizeWhitespace,\n normalizeWhitespace = _ref7$normalizeWhites === void 0 ? false : _ref7$normalizeWhites,\n _ref7$combineTextItem = _ref7.combineTextItems,\n combineTextItems = _ref7$combineTextItem === void 0 ? false : _ref7$combineTextItem,\n sink = _ref7.sink,\n _ref7$seenStyles = _ref7.seenStyles,\n seenStyles = _ref7$seenStyles === void 0 ? Object.create(null) : _ref7$seenStyles;\n resources = resources || _primitives.Dict.empty;\n stateManager = stateManager || new StateManager(new TextState());\n var WhitespaceRegexp = /\\s/g;\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n var textContentItem = {\n initialized: false,\n str: [],\n width: 0,\n height: 0,\n vertical: false,\n lastAdvanceWidth: 0,\n lastAdvanceHeight: 0,\n textAdvanceScale: 0,\n spaceWidth: 0,\n fakeSpaceMin: Infinity,\n fakeMultiSpaceMin: Infinity,\n fakeMultiSpaceMax: -0,\n textRunBreakAllowed: false,\n transform: null,\n fontName: null\n };\n var SPACE_FACTOR = 0.3;\n var MULTI_SPACE_FACTOR = 1.5;\n var MULTI_SPACE_FACTOR_MAX = 4;\n var self = this;\n var xref = this.xref;\n var xobjs = null;\n var emptyXObjectCache = new _image_utils.LocalImageCache();\n var emptyGStateCache = new _image_utils.LocalGStateCache();\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 if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\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 if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\n flushTextContentItem();\n textState.carriageReturn();\n buildTextContentItem(args[0]);\n break;\n\n case _util.OPS.nextLineSetSpacingShowText:\n if (!stateManager.state.font) {\n self.ensureStateFont(stateManager.state);\n continue;\n }\n\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 && emptyXObjectCache.getByName(name)) {\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.getRaw(name);\n\n if (xobj instanceof _primitives.Ref) {\n if (emptyXObjectCache.getByRef(xobj)) {\n resolveXObject();\n return;\n }\n\n xobj = xref.fetch(xobj);\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 emptyXObjectCache.set(name, xobj.dict.objId, 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 emptyXObjectCache.set(name, xobj.dict.objId, 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 name = args[0].name;\n\n if (name && emptyGStateCache.getByName(name)) {\n break;\n }\n\n next(new Promise(function (resolveGState, rejectGState) {\n if (!name) {\n throw new _util.FormatError(\"GState must be referred to by name.\");\n }\n\n var extGState = resources.get(\"ExtGState\");\n\n if (!(extGState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"ExtGState should be a dictionary.\");\n }\n\n var gState = extGState.get(name);\n\n if (!(gState instanceof _primitives.Dict)) {\n throw new _util.FormatError(\"GState should be a dictionary.\");\n }\n\n var gStateFont = gState.get(\"Font\");\n\n if (!gStateFont) {\n emptyGStateCache.set(name, gState.objId, true);\n resolveGState();\n return;\n }\n\n flushTextContentItem();\n textState.fontName = null;\n textState.fontSize = gStateFont[1];\n handleSetFont(null, gStateFont[0]).then(resolveGState, rejectGState);\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 ExtGState: \\\"\".concat(reason, \"\\\".\"));\n return;\n }\n\n throw reason;\n }));\n return;\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 }, {\n key: \"extractDataStructures\",\n value: function extractDataStructures(dict, baseDict, properties) {\n var _this9 = this;\n\n var xref = this.xref;\n var 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|Wingdings/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 (readToUnicode) {\n properties.toUnicode = readToUnicode;\n return _this9.buildToUnicode(properties);\n }).then(function (builtToUnicode) {\n properties.toUnicode = builtToUnicode;\n\n if (cidToGidBytes) {\n properties.cidToGidMap = _this9.readCidToGidMap(cidToGidBytes, builtToUnicode);\n }\n\n return properties;\n });\n }\n }, {\n key: \"_buildSimpleFontToUnicode\",\n value: function _buildSimpleFontToUnicode(properties) {\n var forceGlyphs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _util.assert)(!properties.composite, \"Must be a simple font.\");\n var toUnicode = [];\n var encoding = properties.defaultEncoding.slice();\n var baseEncodingName = properties.baseEncodingName;\n var differences = properties.differences;\n\n for (var charcode in differences) {\n var 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 (var _charcode in encoding) {\n var _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 && _glyphName.length <= 4) {\n var codeStr = _glyphName.substring(1);\n\n if (forceGlyphs) {\n code = parseInt(codeStr, 16);\n break;\n }\n\n code = +codeStr;\n\n if (Number.isNaN(code) && Number.isInteger(parseInt(codeStr, 16))) {\n return this._buildSimpleFontToUnicode(properties, true);\n }\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 > 0 && code <= 0x10ffff && Number.isInteger(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 }, {\n key: \"buildToUnicode\",\n value: 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._fetchBuiltInCMapBound,\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 }, {\n key: \"readToUnicode\",\n value: function readToUnicode(toUnicode) {\n var _this10 = this;\n\n var cmapObj = toUnicode;\n\n if ((0, _primitives.isName)(cmapObj)) {\n return _cmap.CMapFactory.create({\n encoding: cmapObj,\n fetchBuiltInCMap: this._fetchBuiltInCMapBound,\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._fetchBuiltInCMapBound,\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 }, function (reason) {\n if (reason instanceof _util.AbortException) {\n return null;\n }\n\n if (_this10.options.ignoreErrors) {\n _this10.handler.send(\"UnsupportedFeature\", {\n featureId: _util.UNSUPPORTED_FEATURES.errorFontToUnicode\n });\n\n (0, _util.warn)(\"readToUnicode - ignoring ToUnicode data: \\\"\".concat(reason, \"\\\".\"));\n return null;\n }\n\n throw reason;\n });\n }\n\n return Promise.resolve(null);\n }\n }, {\n key: \"readCidToGidMap\",\n value: 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 }, {\n key: \"extractWidths\",\n value: function 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 }, {\n key: \"isSerifFont\",\n value: function isSerifFont(baseFontName) {\n var fontNameWoStyle = baseFontName.split(\"-\")[0];\n return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n }\n }, {\n key: \"getBaseFontMetrics\",\n value: function 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 }, {\n key: \"buildCharCodeToWidth\",\n value: function buildCharCodeToWidth(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 }, {\n key: \"preEvaluateFont\",\n value: function 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 _iterator5 = _createForOfIteratorHelper(encoding.getRawValues()),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var entry = _step5.value;\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 } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\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 }, {\n key: \"translateFont\",\n value: function translateFont(preEvaluatedFont) {\n var _this11 = 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 var firstChar = dict.get(\"FirstChar\") || 0;\n var lastChar = dict.get(\"LastChar\") || maxCharIndex;\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\") || [0, 0, 0, 0]);\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: firstChar,\n lastChar: lastChar\n };\n var widths = dict.get(\"Widths\");\n return this.extractDataStructures(dict, dict, properties).then(function (newProperties) {\n if (widths) {\n var glyphWidths = [];\n var j = firstChar;\n\n for (var _i = 0, ii = widths.length; _i < ii; _i++) {\n glyphWidths[j++] = _this11.xref.fetchIfRef(widths[_i]);\n }\n\n newProperties.widths = glyphWidths;\n } else {\n newProperties.widths = _this11.buildCharCodeToWidth(metrics.widths, newProperties);\n }\n\n return new _fonts.Font(baseFontName, null, newProperties);\n });\n }\n }\n\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 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._fetchBuiltInCMapBound,\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 _this11.extractDataStructures(dict, baseDict, properties);\n }).then(function (newProperties) {\n _this11.extractWidths(dict, descriptor, newProperties);\n\n if (type === \"Type3\") {\n newProperties.isType3Font = true;\n }\n\n return new _fonts.Font(fontName.name, fontFile, newProperties);\n });\n }\n }, {\n key: \"_pdfFunctionFactory\",\n get: function get() {\n var pdfFunctionFactory = new _function.PDFFunctionFactory({\n xref: this.xref,\n isEvalSupported: this.options.isEvalSupported\n });\n return (0, _util.shadow)(this, \"_pdfFunctionFactory\", pdfFunctionFactory);\n }\n }], [{\n key: \"buildFontPaths\",\n value: function buildFontPaths(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 _iterator6 = _createForOfIteratorHelper(glyphs),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var glyph = _step6.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 _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n }, {\n key: \"fallbackFontDict\",\n get: function get() {\n var dict = new _primitives.Dict();\n dict.set(\"BaseFont\", _primitives.Name.get(\"PDFJS-FallbackFont\"));\n dict.set(\"Type\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Subtype\", _primitives.Name.get(\"FallbackType\"));\n dict.set(\"Encoding\", _primitives.Name.get(\"WinAnsiEncoding\"));\n return (0, _util.shadow)(this, \"fallbackFontDict\", dict);\n }\n }]);\n\n return PartialEvaluator;\n }();\n\n exports.PartialEvaluator = PartialEvaluator;\n\n var TranslatedFont =\n /*#__PURE__*/\n function () {\n function TranslatedFont(_ref8) {\n var loadedName = _ref8.loadedName,\n font = _ref8.font,\n dict = _ref8.dict,\n _ref8$extraProperties = _ref8.extraProperties,\n extraProperties = _ref8$extraProperties === void 0 ? false : _ref8$extraProperties;\n\n _classCallCheck(this, TranslatedFont);\n\n this.loadedName = loadedName;\n this.font = font;\n this.dict = dict;\n this._extraProperties = extraProperties;\n this.type3Loaded = null;\n this.type3Dependencies = font.isType3Font ? new Set() : null;\n this.sent = false;\n }\n\n _createClass(TranslatedFont, [{\n key: \"send\",\n value: 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(this._extraProperties)]);\n }\n }, {\n key: \"fallback\",\n value: 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 }, {\n key: \"loadType3Data\",\n value: function loadType3Data(evaluator, resources, task) {\n if (this.type3Loaded) {\n return this.type3Loaded;\n }\n\n if (!this.font.isType3Font) {\n throw new Error(\"Must be a Type3 font.\");\n }\n\n var type3Options = Object.create(evaluator.options);\n type3Options.ignoreErrors = false;\n var type3Evaluator = evaluator.clone(type3Options);\n type3Evaluator.parsingType3Font = true;\n var translatedFont = this.font,\n type3Dependencies = this.type3Dependencies;\n var loadCharProcsPromise = Promise.resolve();\n var charProcs = this.dict.get(\"CharProcs\");\n var fontResources = this.dict.get(\"Resources\") || resources;\n var charProcOperatorList = Object.create(null);\n\n var _iterator7 = _createForOfIteratorHelper(charProcs.getKeys()),\n _step7;\n\n try {\n var _loop2 = function _loop2() {\n var key = _step7.value;\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\n var _iterator8 = _createForOfIteratorHelper(operatorList.dependencies),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var dependency = _step8.value;\n type3Dependencies.add(dependency);\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n })[\"catch\"](function (reason) {\n (0, _util.warn)(\"Type3 font resource \\\"\".concat(key, \"\\\" is not available.\"));\n var dummyOperatorList = new _operator_list.OperatorList();\n charProcOperatorList[key] = dummyOperatorList.getIR();\n });\n });\n };\n\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n _loop2();\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n\n this.type3Loaded = loadCharProcsPromise.then(function () {\n translatedFont.charProcOperatorList = charProcOperatorList;\n });\n return this.type3Loaded;\n }\n }]);\n\n return TranslatedFont;\n }();\n\n var StateManager =\n /*#__PURE__*/\n function () {\n function StateManager(initialState) {\n _classCallCheck(this, StateManager);\n\n this.state = initialState;\n this.stateStack = [];\n }\n\n _createClass(StateManager, [{\n key: \"save\",\n value: function save() {\n var old = this.state;\n this.stateStack.push(this.state);\n this.state = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n var prev = this.stateStack.pop();\n\n if (prev) {\n this.state = prev;\n }\n }\n }, {\n key: \"transform\",\n value: function transform(args) {\n this.state.ctm = _util.Util.transform(this.state.ctm, args);\n }\n }]);\n\n return StateManager;\n }();\n\n var TextState =\n /*#__PURE__*/\n function () {\n function TextState() {\n _classCallCheck(this, TextState);\n\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 _createClass(TextState, [{\n key: \"setTextMatrix\",\n value: function 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 }, {\n key: \"setTextLineMatrix\",\n value: function setTextLineMatrix(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 }, {\n key: \"translateTextMatrix\",\n value: function 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 }, {\n key: \"translateTextLineMatrix\",\n value: function translateTextLineMatrix(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 }, {\n key: \"calcTextLineMatrixAdvance\",\n value: function 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 }, {\n key: \"calcRenderMatrix\",\n value: function calcRenderMatrix(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 }, {\n key: \"carriageReturn\",\n value: function carriageReturn() {\n this.translateTextLineMatrix(0, -this.leading);\n this.textMatrix = this.textLineMatrix.slice();\n }\n }, {\n key: \"clone\",\n value: function 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\n return TextState;\n }();\n\n var EvalState =\n /*#__PURE__*/\n function () {\n function EvalState() {\n _classCallCheck(this, EvalState);\n\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 _createClass(EvalState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }]);\n\n return EvalState;\n }();\n\n var EvaluatorPreprocessor =\n /*#__PURE__*/\n function () {\n _createClass(EvaluatorPreprocessor, null, [{\n key: \"opMap\",\n get: function get() {\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 return (0, _util.shadow)(this, \"opMap\", getOPMap());\n }\n }, {\n key: \"MAX_INVALID_PATH_OPS\",\n get: function get() {\n return (0, _util.shadow)(this, \"MAX_INVALID_PATH_OPS\", 20);\n }\n }]);\n\n function EvaluatorPreprocessor(stream, xref, stateManager) {\n _classCallCheck(this, EvaluatorPreprocessor);\n\n this.parser = new _parser.Parser({\n lexer: new _parser.Lexer(stream, EvaluatorPreprocessor.opMap),\n xref: xref\n });\n this.stateManager = stateManager;\n this.nonProcessedArgs = [];\n this._numInvalidPathOPS = 0;\n }\n\n _createClass(EvaluatorPreprocessor, [{\n key: \"read\",\n value: function read(operation) {\n var args = operation.args;\n\n while (true) {\n var obj = this.parser.getObj();\n\n if (obj instanceof _primitives.Cmd) {\n var cmd = obj.cmd;\n var opSpec = EvaluatorPreprocessor.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 > EvaluatorPreprocessor.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 (obj === _primitives.EOF) {\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 }, {\n key: \"preprocessCommand\",\n value: function 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 key: \"savedStatesDepth\",\n get: function get() {\n return this.stateManager.stateStack.length;\n }\n }]);\n\n return EvaluatorPreprocessor;\n }();\n /***/\n\n },\n /* 226 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _parser = __w_pdfjs_require__(208);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _stream = __w_pdfjs_require__(209);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var 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 var MAX_MAP_RANGE = Math.pow(2, 24) - 1;\n\n var CMap =\n /*#__PURE__*/\n function () {\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 if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapCidRange - ignoring data above MAX_MAP_RANGE.\");\n }\n\n while (low <= high) {\n this._map[low++] = dstLow++;\n }\n }\n }, {\n key: \"mapBfRange\",\n value: function mapBfRange(low, high, dstLow) {\n if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapBfRange - ignoring data above MAX_MAP_RANGE.\");\n }\n\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 if (high - low > MAX_MAP_RANGE) {\n throw new Error(\"mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.\");\n }\n\n var ii = array.length;\n var i = 0;\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\n exports.CMap = CMap;\n\n var IdentityCMap =\n /*#__PURE__*/\n function (_CMap) {\n _inherits(IdentityCMap, _CMap);\n\n var _super = _createSuper(IdentityCMap);\n\n function IdentityCMap(vertical, n) {\n var _this;\n\n _classCallCheck(this, IdentityCMap);\n\n _this = _super.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\n exports.IdentityCMap = IdentityCMap;\n\n var 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\n var 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 return _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee() {\n var encoding, fetchBuiltInCMap, useCMap, cMap, lexer;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n encoding = params.encoding;\n fetchBuiltInCMap = params.fetchBuiltInCMap;\n useCMap = params.useCMap;\n\n if (!(0, _primitives.isName)(encoding)) {\n _context.next = 7;\n break;\n }\n\n return _context.abrupt(\"return\", createBuiltInCMap(encoding.name, fetchBuiltInCMap));\n\n case 7:\n if (!(0, _primitives.isStream)(encoding)) {\n _context.next = 11;\n break;\n }\n\n cMap = new CMap();\n lexer = new _parser.Lexer(encoding);\n return _context.abrupt(\"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 case 11:\n throw new Error(\"Encoding required.\");\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n }\n };\n }();\n\n exports.CMapFactory = CMapFactory;\n /***/\n },\n /* 227 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getFontType = getFontType;\n exports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.SEAC_ANALYSIS_ENABLED = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _cff_parser = __w_pdfjs_require__(228);\n\n var _glyphlist = __w_pdfjs_require__(231);\n\n var _encodings = __w_pdfjs_require__(230);\n\n var _standard_fonts = __w_pdfjs_require__(232);\n\n var _unicode = __w_pdfjs_require__(233);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _font_renderer = __w_pdfjs_require__(234);\n\n var _cmap = __w_pdfjs_require__(226);\n\n var _stream = __w_pdfjs_require__(209);\n\n var _type1_parser = __w_pdfjs_require__(235);\n\n function _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e2) {\n throw _e2;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e3) {\n didErr = true;\n err = _e3;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n var PRIVATE_USE_AREAS = [[0xe000, 0xf8ff], [0x100000, 0x10fffd]];\n var PDF_GLYPH_SPACE_UNITS = 1000;\n var SEAC_ANALYSIS_ENABLED = true;\n exports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\n var EXPORT_DATA_PROPERTIES = [\"ascent\", \"bbox\", \"black\", \"bold\", \"charProcOperatorList\", \"composite\", \"data\", \"defaultVMetrics\", \"defaultWidth\", \"descent\", \"fallbackName\", \"fontMatrix\", \"fontType\", \"isMonospace\", \"isSerifFont\", \"isType3Font\", \"italic\", \"loadedName\", \"mimetype\", \"missingFile\", \"name\", \"remeasure\", \"subtype\", \"type\", \"vertical\"];\n var EXPORT_DATA_EXTRA_PROPERTIES = [\"cMap\", \"defaultEncoding\", \"differences\", \"isSymbolicFont\", \"seacMap\", \"toFontChar\", \"toUnicode\", \"vmetrics\", \"widths\"];\n var 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 };\n exports.FontFlags = FontFlags;\n var 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\n function 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\n function 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\n function 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\n function 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\n var 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\n var 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\n exports.ToUnicodeMap = ToUnicodeMap;\n\n var 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\n exports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\n var 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, _core_utils.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\n var 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.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 var fallbackName = \"sans-serif\";\n\n if (this.isMonospace) {\n fallbackName = \"monospace\";\n } else if (this.isSerifFont) {\n fallbackName = \"serif\";\n }\n\n this.fallbackName = fallbackName;\n this.differences = properties.differences;\n this.widths = properties.widths;\n this.defaultWidth = properties.defaultWidth;\n this.composite = properties.composite;\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.seacMap = properties.seacMap;\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 if (value > 0x7fff) {\n value = 0x7fff;\n } else if (value < -0x8000) {\n value = -0x8000;\n }\n\n return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n }\n\n function isTrueTypeFile(file) {\n var header = file.peekBytes(4);\n return (0, _core_utils.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, file) {\n file.pos = (file.start || 0) + os2.offset;\n var version = file.getUint16();\n file.skip(60);\n var selection = file.getUint16();\n\n if (version < 4 && selection & 0x0300) {\n return false;\n }\n\n var firstChar = file.getUint16();\n var lastChar = file.getUint16();\n\n if (firstChar > lastChar) {\n return false;\n }\n\n file.skip(6);\n var usWinAscent = file.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 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 exportData() {\n var extraProperties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var exportDataProperties = extraProperties ? [].concat(EXPORT_DATA_PROPERTIES, EXPORT_DATA_EXTRA_PROPERTIES) : EXPORT_DATA_PROPERTIES;\n var data = Object.create(null);\n var property, value;\n\n var _iterator = _createForOfIteratorHelper(exportDataProperties),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n property = _step.value;\n value = this[property];\n\n if (value !== undefined) {\n data[property] = value;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return data;\n },\n fallbackToSystemFont: function Font_fallbackToSystemFont() {\n var _this = this;\n\n this.missingFile = true;\n var name = this.name;\n var type = this.type;\n var subtype = this.subtype;\n var fontName = name.replace(/[,_]/g, \"-\").replace(/\\s/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 (var 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 (var _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 (var _charCode2 in SupplementalGlyphMapForCalibri) {\n map[+_charCode2] = SupplementalGlyphMapForCalibri[_charCode2];\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 var _map = [];\n this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n if (!_this.composite) {\n var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n unicodeCharCode = unicode;\n }\n }\n\n _map[+charCode] = unicodeCharCode;\n });\n\n if (this.composite && this.toUnicode instanceof IdentityToUnicodeMap) {\n if (/Verdana/i.test(name)) {\n var _GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n\n for (var _charCode3 in _GlyphMapForStandardFonts) {\n _map[+_charCode3] = _GlyphMapForStandardFonts[_charCode3];\n }\n }\n }\n\n this.toFontChar = _map;\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(file);\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, file, 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 = (file.start ? file.start : 0) + cmap.offset;\n file.pos = start;\n file.skip(2);\n var numTables = file.getUint16();\n var potentialTable;\n var canBreak = false;\n\n for (var i = 0; i < numTables; i++) {\n var platformId = file.getUint16();\n var encodingId = file.getUint16();\n var offset = file.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 || encodingId === 1 || encodingId === 3)) {\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 file.pos = start + potentialTable.offset;\n }\n\n if (!potentialTable || file.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 = file.getUint16();\n file.skip(2 + 2);\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 = file.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 = file.getUint16() >> 1;\n file.skip(6);\n var segIndex,\n segments = [];\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments.push({\n end: file.getUint16()\n });\n }\n\n file.skip(2);\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].start = file.getUint16();\n }\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segments[segIndex].delta = file.getUint16();\n }\n\n var offsetsCount = 0;\n\n for (segIndex = 0; segIndex < segCount; segIndex++) {\n segment = segments[segIndex];\n var rangeOffset = file.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(file.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 = file.getUint16();\n var entryCount = file.getUint16();\n\n for (j = 0; j < entryCount; j++) {\n glyphId = file.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(file, header, metrics, numGlyphs, dupFirstEntry) {\n if (!header) {\n if (metrics) {\n metrics.data = null;\n }\n\n return;\n }\n\n file.pos = (file.start ? file.start : 0) + header.offset;\n file.pos += 4;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 2;\n file.pos += 8;\n file.pos += 2;\n var numOfMetrics = file.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 xLength = 2;\n\n if (flag & 2) {\n xLength = 1;\n } else if (flag & 16) {\n xLength = 0;\n }\n\n var yLength = 2;\n\n if (flag & 4) {\n yLength = 1;\n } else if (flag & 32) {\n yLength = 0;\n }\n\n var xyLength = xLength + yLength;\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 locaDataSize = itemSize * (1 + numGlyphsOut);\n var 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 i, j;\n var locaEntries = [];\n\n for (i = 0, j = 0; i < numGlyphs + 1; i++, j += itemSize) {\n var offset = itemDecode(locaData, j);\n\n if (offset > oldGlyfDataLength) {\n offset = oldGlyfDataLength;\n }\n\n locaEntries.push({\n index: i,\n offset: offset,\n endOffset: 0\n });\n }\n\n locaEntries.sort(function (a, b) {\n return a.offset - b.offset;\n });\n\n for (i = 0; i < numGlyphs; i++) {\n locaEntries[i].endOffset = locaEntries[i + 1].offset;\n }\n\n locaEntries.sort(function (a, b) {\n return a.index - b.index;\n });\n var missingGlyphs = Object.create(null);\n var writeOffset = 0;\n itemEncode(locaData, 0, writeOffset);\n\n for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n var glyphProfile = sanitizeGlyph(oldGlyfData, locaEntries[i].offset, locaEntries[i].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 }\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, propertiesObj, 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.skip(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 (propertiesObj.defaultEncoding) {\n glyphNames = propertiesObj.defaultEncoding;\n }\n\n break;\n }\n\n propertiesObj.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 = 0;\n\n if (op <= 0x8e) {\n stackDelta = TTOpsStackDeltas[op];\n } else if (op >= 0xc0 && op <= 0xdf) {\n stackDelta = -1;\n } else if (op >= 0xe0) {\n stackDelta = -2;\n }\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\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 var baseEncoding = [];\n\n if (properties.hasEncoding && (properties.baseEncodingName === \"MacRomanEncoding\" || properties.baseEncodingName === \"WinAnsiEncoding\")) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n }\n\n if (properties.hasEncoding && !this.isSymbolicFont && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0)) {\n var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var 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 for (var i = 0; i < cmapMappingsLength; ++i) {\n if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n continue;\n }\n\n charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n break;\n }\n }\n } else if (cmapPlatformId === 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 var _charCode4 = cmapMappings[_i3].charCode;\n\n if (cmapPlatformId === 3 && _charCode4 >= 0xf000 && _charCode4 <= 0xf0ff) {\n _charCode4 &= 0xff;\n }\n\n charCodeToGlyphId[_charCode4] = cmapMappings[_i3].glyphId;\n }\n }\n\n if (properties.glyphNames && baseEncoding.length) {\n for (var _i4 = 0; _i4 < 256; ++_i4) {\n if (charCodeToGlyphId[_i4] === undefined && baseEncoding[_i4]) {\n glyphName = baseEncoding[_i4];\n var glyphId = properties.glyphNames.indexOf(glyphName);\n\n if (glyphId > 0 && hasGlyph(glyphId)) {\n charCodeToGlyphId[_i4] = glyphId;\n }\n }\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\"], font)) {\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 _i5 = 1, _ii = numGlyphs; _i5 < _ii; _i5++) {\n var width = 0;\n\n if (charstrings) {\n var charstring = charstrings[_i5 - 1];\n width = \"width\" in charstring ? charstring.width : 0;\n } else if (cffWidths) {\n width = Math.ceil(cffWidths[_i5] || 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 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 && this.cMap.contains(glyphUnicode)) {\n charcode = this.cMap.lookup(glyphUnicode);\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 return (0, _util.shadow)(this, \"spaceWidth\", 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 var glyphName = this.differences[charcode] || this.defaultEncoding[charcode];\n\n if ((glyphName === \".notdef\" || glyphName === \"\") && this.type === \"Type1\") {\n fontCharCode = 0x20;\n }\n\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 = \"\";\n\n if (typeof fontCharCode === \"number\") {\n if (fontCharCode <= 0x10ffff) {\n fontChar = String.fromCodePoint(fontCharCode);\n } else {\n (0, _util.warn)(\"charToGlyph - invalid fontCharCode: \".concat(fontCharCode));\n }\n }\n\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\n exports.Font = Font;\n\n var 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 exportData() {\n var extraProperties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return {\n error: this.error\n };\n }\n };\n return ErrorFont;\n }();\n\n exports.ErrorFont = ErrorFont;\n\n function 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\n var 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, _core_utils.isWhiteSpace)(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(properties);\n\n for (var key in data.properties) {\n properties[key] = data.properties[key];\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\n if (properties.composite) {\n var charCodeToGlyphId = Object.create(null);\n\n for (var _glyphId = 0, charstringsLen = charstrings.length; _glyphId < charstringsLen; _glyphId++) {\n var _charCode5 = properties.cMap.charCodeOf(_glyphId);\n\n charCodeToGlyphId[_charCode5] = _glyphId + 1;\n }\n\n return charCodeToGlyphId;\n }\n\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\n var 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 },\n /* 228 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _charsets = __w_pdfjs_require__(229);\n\n var _encodings = __w_pdfjs_require__(230);\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var MAX_SUBR_NESTING = 10;\n var 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\"];\n exports.CFFStandardStrings = CFFStandardStrings;\n var NUM_STANDARD_CFF_STRINGS = 391;\n\n var 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 var CFFParser =\n /*#__PURE__*/\n function () {\n function CFFParser(file, properties, seacAnalysisEnabled) {\n _classCallCheck(this, CFFParser);\n\n this.bytes = file.getBytes();\n this.properties = properties;\n this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n }\n\n _createClass(CFFParser, [{\n key: \"parse\",\n value: function 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 }, {\n key: \"parseHeader\",\n value: function 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 }, {\n key: \"parseDict\",\n value: function 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 }, {\n key: \"parseIndex\",\n value: function 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 }, {\n key: \"parseNameIndex\",\n value: function 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 }, {\n key: \"parseStringIndex\",\n value: function 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 }, {\n key: \"createDict\",\n value: function 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 }, {\n key: \"parseCharString\",\n value: function 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 }, {\n key: \"parseCharStrings\",\n value: 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 }, {\n key: \"emptyPrivateDictionary\",\n value: function emptyPrivateDictionary(parentDict) {\n var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n parentDict.setByKey(18, [0, 0]);\n parentDict.privateDict = privateDict;\n }\n }, {\n key: \"parsePrivateDict\",\n value: function 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 }, {\n key: \"parseCharsets\",\n value: function 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 = [cid ? 0 : \".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 }, {\n key: \"parseEncoding\",\n value: function 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 }, {\n key: \"parseFDSelect\",\n value: function 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\n return CFFParser;\n }();\n\n return CFFParser;\n }();\n\n exports.CFFParser = CFFParser;\n\n var CFF =\n /*#__PURE__*/\n function () {\n function CFF() {\n _classCallCheck(this, CFF);\n\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 _createClass(CFF, [{\n key: \"duplicateFirstGlyph\",\n value: function 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 }, {\n key: \"hasGlyphId\",\n value: function 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\n return CFF;\n }();\n\n exports.CFF = CFF;\n\n var CFFHeader = function CFFHeader(major, minor, hdrSize, offSize) {\n _classCallCheck(this, CFFHeader);\n\n this.major = major;\n this.minor = minor;\n this.hdrSize = hdrSize;\n this.offSize = offSize;\n };\n\n exports.CFFHeader = CFFHeader;\n\n var CFFStrings =\n /*#__PURE__*/\n function () {\n function CFFStrings() {\n _classCallCheck(this, CFFStrings);\n\n this.strings = [];\n }\n\n _createClass(CFFStrings, [{\n key: \"get\",\n value: function 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 }, {\n key: \"getSID\",\n value: function 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 }, {\n key: \"add\",\n value: function add(value) {\n this.strings.push(value);\n }\n }, {\n key: \"count\",\n get: function get() {\n return this.strings.length;\n }\n }]);\n\n return CFFStrings;\n }();\n\n exports.CFFStrings = CFFStrings;\n\n var CFFIndex =\n /*#__PURE__*/\n function () {\n function CFFIndex() {\n _classCallCheck(this, CFFIndex);\n\n this.objects = [];\n this.length = 0;\n }\n\n _createClass(CFFIndex, [{\n key: \"add\",\n value: function add(data) {\n this.length += data.length;\n this.objects.push(data);\n }\n }, {\n key: \"set\",\n value: function set(index, data) {\n this.length += data.length - this.objects[index].length;\n this.objects[index] = data;\n }\n }, {\n key: \"get\",\n value: function get(index) {\n return this.objects[index];\n }\n }, {\n key: \"count\",\n get: function get() {\n return this.objects.length;\n }\n }]);\n\n return CFFIndex;\n }();\n\n exports.CFFIndex = CFFIndex;\n\n var CFFDict =\n /*#__PURE__*/\n function () {\n function CFFDict(tables, strings) {\n _classCallCheck(this, CFFDict);\n\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 _createClass(CFFDict, [{\n key: \"setByKey\",\n value: function 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 }, {\n key: \"setByName\",\n value: function 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 }, {\n key: \"hasName\",\n value: function hasName(name) {\n return this.nameToKeyMap[name] in this.values;\n }\n }, {\n key: \"getByName\",\n value: function 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 }, {\n key: \"removeByName\",\n value: function removeByName(name) {\n delete this.values[this.nameToKeyMap[name]];\n }\n }], [{\n key: \"createTables\",\n value: function 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\n return CFFDict;\n }();\n\n var 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 var CFFTopDict =\n /*#__PURE__*/\n function (_CFFDict) {\n _inherits(CFFTopDict, _CFFDict);\n\n var _super = _createSuper(CFFTopDict);\n\n function CFFTopDict(strings) {\n var _this;\n\n _classCallCheck(this, CFFTopDict);\n\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n _this = _super.call(this, tables, strings);\n _this.privateDict = null;\n return _this;\n }\n\n return CFFTopDict;\n }(CFFDict);\n\n return CFFTopDict;\n }();\n\n exports.CFFTopDict = CFFTopDict;\n\n var 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 var CFFPrivateDict =\n /*#__PURE__*/\n function (_CFFDict2) {\n _inherits(CFFPrivateDict, _CFFDict2);\n\n var _super2 = _createSuper(CFFPrivateDict);\n\n function CFFPrivateDict(strings) {\n var _this2;\n\n _classCallCheck(this, CFFPrivateDict);\n\n if (tables === null) {\n tables = CFFDict.createTables(layout);\n }\n\n _this2 = _super2.call(this, tables, strings);\n _this2.subrsIndex = null;\n return _this2;\n }\n\n return CFFPrivateDict;\n }(CFFDict);\n\n return CFFPrivateDict;\n }();\n\n exports.CFFPrivateDict = CFFPrivateDict;\n var CFFCharsetPredefinedTypes = {\n ISO_ADOBE: 0,\n EXPERT: 1,\n EXPERT_SUBSET: 2\n };\n\n var CFFCharset = function CFFCharset(predefined, format, charset, raw) {\n _classCallCheck(this, CFFCharset);\n\n this.predefined = predefined;\n this.format = format;\n this.charset = charset;\n this.raw = raw;\n };\n\n exports.CFFCharset = CFFCharset;\n\n var CFFEncoding = function CFFEncoding(predefined, format, encoding, raw) {\n _classCallCheck(this, CFFEncoding);\n\n this.predefined = predefined;\n this.format = format;\n this.encoding = encoding;\n this.raw = raw;\n };\n\n var CFFFDSelect =\n /*#__PURE__*/\n function () {\n function CFFFDSelect(format, fdSelect) {\n _classCallCheck(this, CFFFDSelect);\n\n this.format = format;\n this.fdSelect = fdSelect;\n }\n\n _createClass(CFFFDSelect, [{\n key: \"getFDIndex\",\n value: function getFDIndex(glyphIndex) {\n if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n return -1;\n }\n\n return this.fdSelect[glyphIndex];\n }\n }]);\n\n return CFFFDSelect;\n }();\n\n exports.CFFFDSelect = CFFFDSelect;\n\n var CFFOffsetTracker =\n /*#__PURE__*/\n function () {\n function CFFOffsetTracker() {\n _classCallCheck(this, CFFOffsetTracker);\n\n this.offsets = Object.create(null);\n }\n\n _createClass(CFFOffsetTracker, [{\n key: \"isTracking\",\n value: function isTracking(key) {\n return key in this.offsets;\n }\n }, {\n key: \"track\",\n value: function 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 }, {\n key: \"offset\",\n value: function offset(value) {\n for (var key in this.offsets) {\n this.offsets[key] += value;\n }\n }\n }, {\n key: \"setEntryLocation\",\n value: function 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\n return CFFOffsetTracker;\n }();\n\n var CFFCompiler =\n /*#__PURE__*/\n function () {\n function CFFCompiler(cff) {\n _classCallCheck(this, CFFCompiler);\n\n this.cff = cff;\n }\n\n _createClass(CFFCompiler, [{\n key: \"compile\",\n value: function 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 }, {\n key: \"encodeNumber\",\n value: function encodeNumber(value) {\n if (Number.isInteger(value)) {\n return this.encodeInteger(value);\n }\n\n return this.encodeFloat(value);\n }\n }, {\n key: \"encodeFloat\",\n value: function encodeFloat(num) {\n var value = num.toString();\n var m = CFFCompiler.EncodeFloatRegExp.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 }, {\n key: \"encodeInteger\",\n value: function 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 }, {\n key: \"compileHeader\",\n value: function compileHeader(header) {\n return [header.major, header.minor, header.hdrSize, header.offSize];\n }\n }, {\n key: \"compileNameIndex\",\n value: function 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 }, {\n key: \"compileTopDicts\",\n value: function 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 }, {\n key: \"compilePrivateDicts\",\n value: function 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 }, {\n key: \"compileDict\",\n value: function 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 }, {\n key: \"compileStringIndex\",\n value: function 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 }, {\n key: \"compileGlobalSubrIndex\",\n value: function compileGlobalSubrIndex() {\n var globalSubrIndex = this.cff.globalSubrIndex;\n this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n }\n }, {\n key: \"compileCharStrings\",\n value: function 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 }, {\n key: \"compileCharset\",\n value: function 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 }, {\n key: \"compileEncoding\",\n value: function compileEncoding(encoding) {\n return this.compileTypedArray(encoding.raw);\n }\n }, {\n key: \"compileFDSelect\",\n value: function 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 }, {\n key: \"compileTypedArray\",\n value: function 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 }, {\n key: \"compileIndex\",\n value: function compileIndex(index) {\n var trackers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\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 key: \"EncodeFloatRegExp\",\n get: function get() {\n return (0, _util.shadow)(this, \"EncodeFloatRegExp\", /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/);\n }\n }]);\n\n return CFFCompiler;\n }();\n\n exports.CFFCompiler = CFFCompiler;\n /***/\n },\n /* 229 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;\n var 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\"];\n exports.ISOAdobeCharset = ISOAdobeCharset;\n var 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\"];\n exports.ExpertCharset = ExpertCharset;\n var 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\"];\n exports.ExpertSubsetCharset = ExpertSubsetCharset;\n /***/\n },\n /* 230 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getEncoding = getEncoding;\n exports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding = exports.StandardEncoding = exports.WinAnsiEncoding = void 0;\n var 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\"];\n exports.ExpertEncoding = ExpertEncoding;\n var 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\", \"\", \"\", \"\", \"\"];\n var 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\"];\n exports.MacRomanEncoding = MacRomanEncoding;\n var 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\", \"\", \"\", \"\", \"\"];\n exports.StandardEncoding = StandardEncoding;\n var 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\"];\n exports.WinAnsiEncoding = WinAnsiEncoding;\n var 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\", \"\"];\n exports.SymbolSetEncoding = SymbolSetEncoding;\n var 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\", \"\"];\n exports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\n\n function 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 },\n /* 231 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var getLookupTableFactory = __w_pdfjs_require__(205).getLookupTableFactory;\n\n var 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.f_f = 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 });\n var 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 });\n exports.getGlyphsUnicode = getGlyphsUnicode;\n exports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n /***/\n },\n /* 232 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = void 0;\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var 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[\"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 });\n exports.getStdFontMap = getStdFontMap;\n var 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.SegoeUISymbol = \"Helvetica\";\n t.Wingdings = \"ZapfDingbats\";\n t[\"Wingdings-Regular\"] = \"ZapfDingbats\";\n });\n exports.getNonStdFontMap = getNonStdFontMap;\n var 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 });\n exports.getSerifFonts = getSerifFonts;\n var getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Dingbats = true;\n t.Symbol = true;\n t.ZapfDingbats = true;\n });\n exports.getSymbolsFonts = getSymbolsFonts;\n var 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 });\n exports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\n var getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[227] = 322;\n t[264] = 261;\n t[291] = 346;\n });\n exports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\n var 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 });\n exports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\n /***/\n },\n /* 233 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n var getLookupTableFactory = __w_pdfjs_require__(205).getLookupTableFactory;\n\n var 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 });\n\n function 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\n return code;\n }\n\n function getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n\n if (unicode !== undefined) {\n return unicode;\n }\n\n if (!name) {\n return -1;\n }\n\n if (name[0] === \"u\") {\n var nameLen = name.length,\n hexStr;\n\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\n if (hexStr === hexStr.toUpperCase()) {\n unicode = parseInt(hexStr, 16);\n\n if (unicode >= 0) {\n return unicode;\n }\n }\n }\n\n return -1;\n }\n\n var UnicodeRanges = [{\n begin: 0x0000,\n end: 0x007f\n }, {\n begin: 0x0080,\n end: 0x00ff\n }, {\n begin: 0x0100,\n end: 0x017f\n }, {\n begin: 0x0180,\n end: 0x024f\n }, {\n begin: 0x0250,\n end: 0x02af\n }, {\n begin: 0x02b0,\n end: 0x02ff\n }, {\n begin: 0x0300,\n end: 0x036f\n }, {\n begin: 0x0370,\n end: 0x03ff\n }, {\n begin: 0x2c80,\n end: 0x2cff\n }, {\n begin: 0x0400,\n end: 0x04ff\n }, {\n begin: 0x0530,\n end: 0x058f\n }, {\n begin: 0x0590,\n end: 0x05ff\n }, {\n begin: 0xa500,\n end: 0xa63f\n }, {\n begin: 0x0600,\n end: 0x06ff\n }, {\n begin: 0x07c0,\n end: 0x07ff\n }, {\n begin: 0x0900,\n end: 0x097f\n }, {\n begin: 0x0980,\n end: 0x09ff\n }, {\n begin: 0x0a00,\n end: 0x0a7f\n }, {\n begin: 0x0a80,\n end: 0x0aff\n }, {\n begin: 0x0b00,\n end: 0x0b7f\n }, {\n begin: 0x0b80,\n end: 0x0bff\n }, {\n begin: 0x0c00,\n end: 0x0c7f\n }, {\n begin: 0x0c80,\n end: 0x0cff\n }, {\n begin: 0x0d00,\n end: 0x0d7f\n }, {\n begin: 0x0e00,\n end: 0x0e7f\n }, {\n begin: 0x0e80,\n end: 0x0eff\n }, {\n begin: 0x10a0,\n end: 0x10ff\n }, {\n begin: 0x1b00,\n end: 0x1b7f\n }, {\n begin: 0x1100,\n end: 0x11ff\n }, {\n begin: 0x1e00,\n end: 0x1eff\n }, {\n begin: 0x1f00,\n end: 0x1fff\n }, {\n begin: 0x2000,\n end: 0x206f\n }, {\n begin: 0x2070,\n end: 0x209f\n }, {\n begin: 0x20a0,\n end: 0x20cf\n }, {\n begin: 0x20d0,\n end: 0x20ff\n }, {\n begin: 0x2100,\n end: 0x214f\n }, {\n begin: 0x2150,\n end: 0x218f\n }, {\n begin: 0x2190,\n end: 0x21ff\n }, {\n begin: 0x2200,\n end: 0x22ff\n }, {\n begin: 0x2300,\n end: 0x23ff\n }, {\n begin: 0x2400,\n end: 0x243f\n }, {\n begin: 0x2440,\n end: 0x245f\n }, {\n begin: 0x2460,\n end: 0x24ff\n }, {\n begin: 0x2500,\n end: 0x257f\n }, {\n begin: 0x2580,\n end: 0x259f\n }, {\n begin: 0x25a0,\n end: 0x25ff\n }, {\n begin: 0x2600,\n end: 0x26ff\n }, {\n begin: 0x2700,\n end: 0x27bf\n }, {\n begin: 0x3000,\n end: 0x303f\n }, {\n begin: 0x3040,\n end: 0x309f\n }, {\n begin: 0x30a0,\n end: 0x30ff\n }, {\n begin: 0x3100,\n end: 0x312f\n }, {\n begin: 0x3130,\n end: 0x318f\n }, {\n begin: 0xa840,\n end: 0xa87f\n }, {\n begin: 0x3200,\n end: 0x32ff\n }, {\n begin: 0x3300,\n end: 0x33ff\n }, {\n begin: 0xac00,\n end: 0xd7af\n }, {\n begin: 0xd800,\n end: 0xdfff\n }, {\n begin: 0x10900,\n end: 0x1091f\n }, {\n begin: 0x4e00,\n end: 0x9fff\n }, {\n begin: 0xe000,\n end: 0xf8ff\n }, {\n begin: 0x31c0,\n end: 0x31ef\n }, {\n begin: 0xfb00,\n end: 0xfb4f\n }, {\n begin: 0xfb50,\n end: 0xfdff\n }, {\n begin: 0xfe20,\n end: 0xfe2f\n }, {\n begin: 0xfe10,\n end: 0xfe1f\n }, {\n begin: 0xfe50,\n end: 0xfe6f\n }, {\n begin: 0xfe70,\n end: 0xfeff\n }, {\n begin: 0xff00,\n end: 0xffef\n }, {\n begin: 0xfff0,\n end: 0xffff\n }, {\n begin: 0x0f00,\n end: 0x0fff\n }, {\n begin: 0x0700,\n end: 0x074f\n }, {\n begin: 0x0780,\n end: 0x07bf\n }, {\n begin: 0x0d80,\n end: 0x0dff\n }, {\n begin: 0x1000,\n end: 0x109f\n }, {\n begin: 0x1200,\n end: 0x137f\n }, {\n begin: 0x13a0,\n end: 0x13ff\n }, {\n begin: 0x1400,\n end: 0x167f\n }, {\n begin: 0x1680,\n end: 0x169f\n }, {\n begin: 0x16a0,\n end: 0x16ff\n }, {\n begin: 0x1780,\n end: 0x17ff\n }, {\n begin: 0x1800,\n end: 0x18af\n }, {\n begin: 0x2800,\n end: 0x28ff\n }, {\n begin: 0xa000,\n end: 0xa48f\n }, {\n begin: 0x1700,\n end: 0x171f\n }, {\n begin: 0x10300,\n end: 0x1032f\n }, {\n begin: 0x10330,\n end: 0x1034f\n }, {\n begin: 0x10400,\n end: 0x1044f\n }, {\n begin: 0x1d000,\n end: 0x1d0ff\n }, {\n begin: 0x1d400,\n end: 0x1d7ff\n }, {\n begin: 0xff000,\n end: 0xffffd\n }, {\n begin: 0xfe00,\n end: 0xfe0f\n }, {\n begin: 0xe0000,\n end: 0xe007f\n }, {\n begin: 0x1900,\n end: 0x194f\n }, {\n begin: 0x1950,\n end: 0x197f\n }, {\n begin: 0x1980,\n end: 0x19df\n }, {\n begin: 0x1a00,\n end: 0x1a1f\n }, {\n begin: 0x2c00,\n end: 0x2c5f\n }, {\n begin: 0x2d30,\n end: 0x2d7f\n }, {\n begin: 0x4dc0,\n end: 0x4dff\n }, {\n begin: 0xa800,\n end: 0xa82f\n }, {\n begin: 0x10000,\n end: 0x1007f\n }, {\n begin: 0x10140,\n end: 0x1018f\n }, {\n begin: 0x10380,\n end: 0x1039f\n }, {\n begin: 0x103a0,\n end: 0x103df\n }, {\n begin: 0x10450,\n end: 0x1047f\n }, {\n begin: 0x10480,\n end: 0x104af\n }, {\n begin: 0x10800,\n end: 0x1083f\n }, {\n begin: 0x10a00,\n end: 0x10a5f\n }, {\n begin: 0x1d300,\n end: 0x1d35f\n }, {\n begin: 0x12000,\n end: 0x123ff\n }, {\n begin: 0x1d360,\n end: 0x1d37f\n }, {\n begin: 0x1b80,\n end: 0x1bbf\n }, {\n begin: 0x1c00,\n end: 0x1c4f\n }, {\n begin: 0x1c50,\n end: 0x1c7f\n }, {\n begin: 0xa880,\n end: 0xa8df\n }, {\n begin: 0xa900,\n end: 0xa92f\n }, {\n begin: 0xa930,\n end: 0xa95f\n }, {\n begin: 0xaa00,\n end: 0xaa5f\n }, {\n begin: 0x10190,\n end: 0x101cf\n }, {\n begin: 0x101d0,\n end: 0x101ff\n }, {\n begin: 0x102a0,\n end: 0x102df\n }, {\n begin: 0x1f030,\n end: 0x1f09f\n }];\n\n function getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n var range = UnicodeRanges[i];\n\n if (value >= range.begin && value < range.end) {\n return i;\n }\n }\n\n return -1;\n }\n\n function isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n\n if (value >= range.begin && value < range.end) {\n return true;\n }\n\n range = UnicodeRanges[11];\n\n if (value >= range.begin && value < range.end) {\n return true;\n }\n\n return false;\n }\n\n var getNormalizedUnicodes = getLookupTableFactory(function (t) {\n t[\"\\xA8\"] = \" \\u0308\";\n t[\"\\xAF\"] = \" \\u0304\";\n t[\"\\xB4\"] = \" \\u0301\";\n t[\"\\xB5\"] = \"\\u03BC\";\n t[\"\\xB8\"] = \" \\u0327\";\n t[\"\\u0132\"] = \"IJ\";\n t[\"\\u0133\"] = \"ij\";\n t[\"\\u013F\"] = \"L\\xB7\";\n t[\"\\u0140\"] = \"l\\xB7\";\n t[\"\\u0149\"] = \"\\u02BCn\";\n t[\"\\u017F\"] = \"s\";\n t[\"\\u01C4\"] = \"D\\u017D\";\n t[\"\\u01C5\"] = \"D\\u017E\";\n t[\"\\u01C6\"] = \"d\\u017E\";\n t[\"\\u01C7\"] = \"LJ\";\n t[\"\\u01C8\"] = \"Lj\";\n t[\"\\u01C9\"] = \"lj\";\n t[\"\\u01CA\"] = \"NJ\";\n t[\"\\u01CB\"] = \"Nj\";\n t[\"\\u01CC\"] = \"nj\";\n t[\"\\u01F1\"] = \"DZ\";\n t[\"\\u01F2\"] = \"Dz\";\n t[\"\\u01F3\"] = \"dz\";\n t[\"\\u02D8\"] = \" \\u0306\";\n t[\"\\u02D9\"] = \" \\u0307\";\n t[\"\\u02DA\"] = \" \\u030A\";\n t[\"\\u02DB\"] = \" \\u0328\";\n t[\"\\u02DC\"] = \" \\u0303\";\n t[\"\\u02DD\"] = \" \\u030B\";\n t[\"\\u037A\"] = \" \\u0345\";\n t[\"\\u0384\"] = \" \\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\"] = \"a\\u02BE\";\n t[\"\\u1FBD\"] = \" \\u0313\";\n t[\"\\u1FBF\"] = \" \\u0313\";\n t[\"\\u1FC0\"] = \" \\u0342\";\n t[\"\\u1FFE\"] = \" \\u0314\";\n t[\"\\u2002\"] = \" \";\n t[\"\\u2003\"] = \" \";\n t[\"\\u2004\"] = \" \";\n t[\"\\u2005\"] = \" \";\n t[\"\\u2006\"] = \" \";\n t[\"\\u2008\"] = \" \";\n t[\"\\u2009\"] = \" \";\n t[\"\\u200A\"] = \" \";\n t[\"\\u2017\"] = \" \\u0333\";\n t[\"\\u2024\"] = \".\";\n t[\"\\u2025\"] = \"..\";\n t[\"\\u2026\"] = \"...\";\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\"] = \"!!\";\n t[\"\\u203E\"] = \" \\u0305\";\n t[\"\\u2047\"] = \"??\";\n t[\"\\u2048\"] = \"?!\";\n t[\"\\u2049\"] = \"!?\";\n t[\"\\u2057\"] = \"\\u2032\\u2032\\u2032\\u2032\";\n t[\"\\u205F\"] = \" \";\n t[\"\\u20A8\"] = \"Rs\";\n t[\"\\u2100\"] = \"a/c\";\n t[\"\\u2101\"] = \"a/s\";\n t[\"\\u2103\"] = \"\\xB0C\";\n t[\"\\u2105\"] = \"c/o\";\n t[\"\\u2106\"] = \"c/u\";\n t[\"\\u2107\"] = \"\\u0190\";\n t[\"\\u2109\"] = \"\\xB0F\";\n t[\"\\u2116\"] = \"No\";\n t[\"\\u2121\"] = \"TEL\";\n t[\"\\u2135\"] = \"\\u05D0\";\n t[\"\\u2136\"] = \"\\u05D1\";\n t[\"\\u2137\"] = \"\\u05D2\";\n t[\"\\u2138\"] = \"\\u05D3\";\n t[\"\\u213B\"] = \"FAX\";\n t[\"\\u2160\"] = \"I\";\n t[\"\\u2161\"] = \"II\";\n t[\"\\u2162\"] = \"III\";\n t[\"\\u2163\"] = \"IV\";\n t[\"\\u2164\"] = \"V\";\n t[\"\\u2165\"] = \"VI\";\n t[\"\\u2166\"] = \"VII\";\n t[\"\\u2167\"] = \"VIII\";\n t[\"\\u2168\"] = \"IX\";\n t[\"\\u2169\"] = \"X\";\n t[\"\\u216A\"] = \"XI\";\n t[\"\\u216B\"] = \"XII\";\n t[\"\\u216C\"] = \"L\";\n t[\"\\u216D\"] = \"C\";\n t[\"\\u216E\"] = \"D\";\n t[\"\\u216F\"] = \"M\";\n t[\"\\u2170\"] = \"i\";\n t[\"\\u2171\"] = \"ii\";\n t[\"\\u2172\"] = \"iii\";\n t[\"\\u2173\"] = \"iv\";\n t[\"\\u2174\"] = \"v\";\n t[\"\\u2175\"] = \"vi\";\n t[\"\\u2176\"] = \"vii\";\n t[\"\\u2177\"] = \"viii\";\n t[\"\\u2178\"] = \"ix\";\n t[\"\\u2179\"] = \"x\";\n t[\"\\u217A\"] = \"xi\";\n t[\"\\u217B\"] = \"xii\";\n t[\"\\u217C\"] = \"l\";\n t[\"\\u217D\"] = \"c\";\n t[\"\\u217E\"] = \"d\";\n t[\"\\u217F\"] = \"m\";\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\"] = \"(1)\";\n t[\"\\u2475\"] = \"(2)\";\n t[\"\\u2476\"] = \"(3)\";\n t[\"\\u2477\"] = \"(4)\";\n t[\"\\u2478\"] = \"(5)\";\n t[\"\\u2479\"] = \"(6)\";\n t[\"\\u247A\"] = \"(7)\";\n t[\"\\u247B\"] = \"(8)\";\n t[\"\\u247C\"] = \"(9)\";\n t[\"\\u247D\"] = \"(10)\";\n t[\"\\u247E\"] = \"(11)\";\n t[\"\\u247F\"] = \"(12)\";\n t[\"\\u2480\"] = \"(13)\";\n t[\"\\u2481\"] = \"(14)\";\n t[\"\\u2482\"] = \"(15)\";\n t[\"\\u2483\"] = \"(16)\";\n t[\"\\u2484\"] = \"(17)\";\n t[\"\\u2485\"] = \"(18)\";\n t[\"\\u2486\"] = \"(19)\";\n t[\"\\u2487\"] = \"(20)\";\n t[\"\\u2488\"] = \"1.\";\n t[\"\\u2489\"] = \"2.\";\n t[\"\\u248A\"] = \"3.\";\n t[\"\\u248B\"] = \"4.\";\n t[\"\\u248C\"] = \"5.\";\n t[\"\\u248D\"] = \"6.\";\n t[\"\\u248E\"] = \"7.\";\n t[\"\\u248F\"] = \"8.\";\n t[\"\\u2490\"] = \"9.\";\n t[\"\\u2491\"] = \"10.\";\n t[\"\\u2492\"] = \"11.\";\n t[\"\\u2493\"] = \"12.\";\n t[\"\\u2494\"] = \"13.\";\n t[\"\\u2495\"] = \"14.\";\n t[\"\\u2496\"] = \"15.\";\n t[\"\\u2497\"] = \"16.\";\n t[\"\\u2498\"] = \"17.\";\n t[\"\\u2499\"] = \"18.\";\n t[\"\\u249A\"] = \"19.\";\n t[\"\\u249B\"] = \"20.\";\n t[\"\\u249C\"] = \"(a)\";\n t[\"\\u249D\"] = \"(b)\";\n t[\"\\u249E\"] = \"(c)\";\n t[\"\\u249F\"] = \"(d)\";\n t[\"\\u24A0\"] = \"(e)\";\n t[\"\\u24A1\"] = \"(f)\";\n t[\"\\u24A2\"] = \"(g)\";\n t[\"\\u24A3\"] = \"(h)\";\n t[\"\\u24A4\"] = \"(i)\";\n t[\"\\u24A5\"] = \"(j)\";\n t[\"\\u24A6\"] = \"(k)\";\n t[\"\\u24A7\"] = \"(l)\";\n t[\"\\u24A8\"] = \"(m)\";\n t[\"\\u24A9\"] = \"(n)\";\n t[\"\\u24AA\"] = \"(o)\";\n t[\"\\u24AB\"] = \"(p)\";\n t[\"\\u24AC\"] = \"(q)\";\n t[\"\\u24AD\"] = \"(r)\";\n t[\"\\u24AE\"] = \"(s)\";\n t[\"\\u24AF\"] = \"(t)\";\n t[\"\\u24B0\"] = \"(u)\";\n t[\"\\u24B1\"] = \"(v)\";\n t[\"\\u24B2\"] = \"(w)\";\n t[\"\\u24B3\"] = \"(x)\";\n t[\"\\u24B4\"] = \"(y)\";\n t[\"\\u24B5\"] = \"(z)\";\n t[\"\\u2A0C\"] = \"\\u222B\\u222B\\u222B\\u222B\";\n t[\"\\u2A74\"] = \"::=\";\n t[\"\\u2A75\"] = \"==\";\n t[\"\\u2A76\"] = \"===\";\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\"] = \" \\u3099\";\n t[\"\\u309C\"] = \" \\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\"] = \"(\\u1100)\";\n t[\"\\u3201\"] = \"(\\u1102)\";\n t[\"\\u3202\"] = \"(\\u1103)\";\n t[\"\\u3203\"] = \"(\\u1105)\";\n t[\"\\u3204\"] = \"(\\u1106)\";\n t[\"\\u3205\"] = \"(\\u1107)\";\n t[\"\\u3206\"] = \"(\\u1109)\";\n t[\"\\u3207\"] = \"(\\u110B)\";\n t[\"\\u3208\"] = \"(\\u110C)\";\n t[\"\\u3209\"] = \"(\\u110E)\";\n t[\"\\u320A\"] = \"(\\u110F)\";\n t[\"\\u320B\"] = \"(\\u1110)\";\n t[\"\\u320C\"] = \"(\\u1111)\";\n t[\"\\u320D\"] = \"(\\u1112)\";\n t[\"\\u320E\"] = \"(\\u1100\\u1161)\";\n t[\"\\u320F\"] = \"(\\u1102\\u1161)\";\n t[\"\\u3210\"] = \"(\\u1103\\u1161)\";\n t[\"\\u3211\"] = \"(\\u1105\\u1161)\";\n t[\"\\u3212\"] = \"(\\u1106\\u1161)\";\n t[\"\\u3213\"] = \"(\\u1107\\u1161)\";\n t[\"\\u3214\"] = \"(\\u1109\\u1161)\";\n t[\"\\u3215\"] = \"(\\u110B\\u1161)\";\n t[\"\\u3216\"] = \"(\\u110C\\u1161)\";\n t[\"\\u3217\"] = \"(\\u110E\\u1161)\";\n t[\"\\u3218\"] = \"(\\u110F\\u1161)\";\n t[\"\\u3219\"] = \"(\\u1110\\u1161)\";\n t[\"\\u321A\"] = \"(\\u1111\\u1161)\";\n t[\"\\u321B\"] = \"(\\u1112\\u1161)\";\n t[\"\\u321C\"] = \"(\\u110C\\u116E)\";\n t[\"\\u321D\"] = \"(\\u110B\\u1169\\u110C\\u1165\\u11AB)\";\n t[\"\\u321E\"] = \"(\\u110B\\u1169\\u1112\\u116E)\";\n t[\"\\u3220\"] = \"(\\u4E00)\";\n t[\"\\u3221\"] = \"(\\u4E8C)\";\n t[\"\\u3222\"] = \"(\\u4E09)\";\n t[\"\\u3223\"] = \"(\\u56DB)\";\n t[\"\\u3224\"] = \"(\\u4E94)\";\n t[\"\\u3225\"] = \"(\\u516D)\";\n t[\"\\u3226\"] = \"(\\u4E03)\";\n t[\"\\u3227\"] = \"(\\u516B)\";\n t[\"\\u3228\"] = \"(\\u4E5D)\";\n t[\"\\u3229\"] = \"(\\u5341)\";\n t[\"\\u322A\"] = \"(\\u6708)\";\n t[\"\\u322B\"] = \"(\\u706B)\";\n t[\"\\u322C\"] = \"(\\u6C34)\";\n t[\"\\u322D\"] = \"(\\u6728)\";\n t[\"\\u322E\"] = \"(\\u91D1)\";\n t[\"\\u322F\"] = \"(\\u571F)\";\n t[\"\\u3230\"] = \"(\\u65E5)\";\n t[\"\\u3231\"] = \"(\\u682A)\";\n t[\"\\u3232\"] = \"(\\u6709)\";\n t[\"\\u3233\"] = \"(\\u793E)\";\n t[\"\\u3234\"] = \"(\\u540D)\";\n t[\"\\u3235\"] = \"(\\u7279)\";\n t[\"\\u3236\"] = \"(\\u8CA1)\";\n t[\"\\u3237\"] = \"(\\u795D)\";\n t[\"\\u3238\"] = \"(\\u52B4)\";\n t[\"\\u3239\"] = \"(\\u4EE3)\";\n t[\"\\u323A\"] = \"(\\u547C)\";\n t[\"\\u323B\"] = \"(\\u5B66)\";\n t[\"\\u323C\"] = \"(\\u76E3)\";\n t[\"\\u323D\"] = \"(\\u4F01)\";\n t[\"\\u323E\"] = \"(\\u8CC7)\";\n t[\"\\u323F\"] = \"(\\u5354)\";\n t[\"\\u3240\"] = \"(\\u796D)\";\n t[\"\\u3241\"] = \"(\\u4F11)\";\n t[\"\\u3242\"] = \"(\\u81EA)\";\n t[\"\\u3243\"] = \"(\\u81F3)\";\n t[\"\\u32C0\"] = \"1\\u6708\";\n t[\"\\u32C1\"] = \"2\\u6708\";\n t[\"\\u32C2\"] = \"3\\u6708\";\n t[\"\\u32C3\"] = \"4\\u6708\";\n t[\"\\u32C4\"] = \"5\\u6708\";\n t[\"\\u32C5\"] = \"6\\u6708\";\n t[\"\\u32C6\"] = \"7\\u6708\";\n t[\"\\u32C7\"] = \"8\\u6708\";\n t[\"\\u32C8\"] = \"9\\u6708\";\n t[\"\\u32C9\"] = \"10\\u6708\";\n t[\"\\u32CA\"] = \"11\\u6708\";\n t[\"\\u32CB\"] = \"12\\u6708\";\n t[\"\\u3358\"] = \"0\\u70B9\";\n t[\"\\u3359\"] = \"1\\u70B9\";\n t[\"\\u335A\"] = \"2\\u70B9\";\n t[\"\\u335B\"] = \"3\\u70B9\";\n t[\"\\u335C\"] = \"4\\u70B9\";\n t[\"\\u335D\"] = \"5\\u70B9\";\n t[\"\\u335E\"] = \"6\\u70B9\";\n t[\"\\u335F\"] = \"7\\u70B9\";\n t[\"\\u3360\"] = \"8\\u70B9\";\n t[\"\\u3361\"] = \"9\\u70B9\";\n t[\"\\u3362\"] = \"10\\u70B9\";\n t[\"\\u3363\"] = \"11\\u70B9\";\n t[\"\\u3364\"] = \"12\\u70B9\";\n t[\"\\u3365\"] = \"13\\u70B9\";\n t[\"\\u3366\"] = \"14\\u70B9\";\n t[\"\\u3367\"] = \"15\\u70B9\";\n t[\"\\u3368\"] = \"16\\u70B9\";\n t[\"\\u3369\"] = \"17\\u70B9\";\n t[\"\\u336A\"] = \"18\\u70B9\";\n t[\"\\u336B\"] = \"19\\u70B9\";\n t[\"\\u336C\"] = \"20\\u70B9\";\n t[\"\\u336D\"] = \"21\\u70B9\";\n t[\"\\u336E\"] = \"22\\u70B9\";\n t[\"\\u336F\"] = \"23\\u70B9\";\n t[\"\\u3370\"] = \"24\\u70B9\";\n t[\"\\u33E0\"] = \"1\\u65E5\";\n t[\"\\u33E1\"] = \"2\\u65E5\";\n t[\"\\u33E2\"] = \"3\\u65E5\";\n t[\"\\u33E3\"] = \"4\\u65E5\";\n t[\"\\u33E4\"] = \"5\\u65E5\";\n t[\"\\u33E5\"] = \"6\\u65E5\";\n t[\"\\u33E6\"] = \"7\\u65E5\";\n t[\"\\u33E7\"] = \"8\\u65E5\";\n t[\"\\u33E8\"] = \"9\\u65E5\";\n t[\"\\u33E9\"] = \"10\\u65E5\";\n t[\"\\u33EA\"] = \"11\\u65E5\";\n t[\"\\u33EB\"] = \"12\\u65E5\";\n t[\"\\u33EC\"] = \"13\\u65E5\";\n t[\"\\u33ED\"] = \"14\\u65E5\";\n t[\"\\u33EE\"] = \"15\\u65E5\";\n t[\"\\u33EF\"] = \"16\\u65E5\";\n t[\"\\u33F0\"] = \"17\\u65E5\";\n t[\"\\u33F1\"] = \"18\\u65E5\";\n t[\"\\u33F2\"] = \"19\\u65E5\";\n t[\"\\u33F3\"] = \"20\\u65E5\";\n t[\"\\u33F4\"] = \"21\\u65E5\";\n t[\"\\u33F5\"] = \"22\\u65E5\";\n t[\"\\u33F6\"] = \"23\\u65E5\";\n t[\"\\u33F7\"] = \"24\\u65E5\";\n t[\"\\u33F8\"] = \"25\\u65E5\";\n t[\"\\u33F9\"] = \"26\\u65E5\";\n t[\"\\u33FA\"] = \"27\\u65E5\";\n t[\"\\u33FB\"] = \"28\\u65E5\";\n t[\"\\u33FC\"] = \"29\\u65E5\";\n t[\"\\u33FD\"] = \"30\\u65E5\";\n t[\"\\u33FE\"] = \"31\\u65E5\";\n t[\"\\uFB00\"] = \"ff\";\n t[\"\\uFB01\"] = \"fi\";\n t[\"\\uFB02\"] = \"fl\";\n t[\"\\uFB03\"] = \"ffi\";\n t[\"\\uFB04\"] = \"ffl\";\n t[\"\\uFB05\"] = \"\\u017Ft\";\n t[\"\\uFB06\"] = \"st\";\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\"] = \" \\u064C\\u0651\";\n t[\"\\uFC5F\"] = \" \\u064D\\u0651\";\n t[\"\\uFC60\"] = \" \\u064E\\u0651\";\n t[\"\\uFC61\"] = \" \\u064F\\u0651\";\n t[\"\\uFC62\"] = \" \\u0650\\u0651\";\n t[\"\\uFC63\"] = \" \\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\"] = \"_\";\n t[\"\\uFE4E\"] = \"_\";\n t[\"\\uFE4F\"] = \"_\";\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 });\n\n function reverseIfRtl(chars) {\n var charsLength = chars.length;\n\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n return chars;\n }\n\n var s = \"\";\n\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n s += chars[ii];\n }\n\n return s;\n }\n\n exports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\n exports.reverseIfRtl = reverseIfRtl;\n exports.getUnicodeRangeFor = getUnicodeRangeFor;\n exports.getNormalizedUnicodes = getNormalizedUnicodes;\n exports.getUnicodeForGlyph = getUnicodeForGlyph;\n /***/\n },\n /* 234 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FontRendererFactory = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _cff_parser = __w_pdfjs_require__(228);\n\n var _glyphlist = __w_pdfjs_require__(231);\n\n var _encodings = __w_pdfjs_require__(230);\n\n var _stream = __w_pdfjs_require__(209);\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var 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 getSubroutineBias(subrs) {\n var numSubrs = subrs.length;\n var bias = 32768;\n\n if (numSubrs < 1240) {\n bias = 107;\n } else if (numSubrs < 33900) {\n bias = 1131;\n }\n\n return bias;\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(charStringCode, cmds, font, glyphId) {\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 var stack = [];\n var x = 0,\n y = 0;\n var stems = 0;\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 var subrs = void 0;\n\n if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n subrs = fontDict.privateDict.subrsIndex.objects;\n }\n\n if (subrs) {\n n += getSubroutineBias(subrs);\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(charStringCode);\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 var _super = _createSuper(TrueTypeCompiled);\n\n function TrueTypeCompiled(glyphs, cmap, fontMatrix) {\n var _this;\n\n _classCallCheck(this, TrueTypeCompiled);\n\n _this = _super.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 var _super2 = _createSuper(Type2Compiled);\n\n function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {\n var _this2;\n\n _classCallCheck(this, Type2Compiled);\n\n _this2 = _super2.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 = getSubroutineBias(_this2.gsubrs);\n _this2.subrsBias = getSubroutineBias(_this2.subrs);\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\n exports.FontRendererFactory = FontRendererFactory;\n /***/\n },\n /* 235 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Type1Parser = void 0;\n\n var _encodings = __w_pdfjs_require__(230);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var _stream = __w_pdfjs_require__(209);\n\n var _util = __w_pdfjs_require__(5);\n\n var HINTING_ENABLED = false;\n\n var 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 var asb = this.stack[this.stack.length - 5];\n this.seac = this.stack.splice(-4, 4);\n this.seac[0] += this.lsb - asb;\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\n var 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 decrypted.slice(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]) || (0, _core_utils.isWhiteSpace)(data[0])) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]) && isHexDigit(data[4]) && isHexDigit(data[5]) && isHexDigit(data[6]) && isHexDigit(data[7]));\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, _core_utils.isWhiteSpace)(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, _core_utils.isWhiteSpace)(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(properties) {\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 var charStringObject = {\n glyphName: glyph,\n charstring: output,\n width: charString.width,\n lsb: charString.lsb,\n seac: charString.seac\n };\n\n if (glyph === \".notdef\") {\n program.charstrings.unshift(charStringObject);\n } else {\n program.charstrings.push(charStringObject);\n }\n\n if (properties.builtInEncoding) {\n var _index = properties.builtInEncoding.indexOf(glyph);\n\n if (_index > -1 && properties.widths[_index] === undefined && _index >= properties.firstChar && _index <= properties.lastChar) {\n properties.widths[_index] = charString.width;\n }\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\n exports.Type1Parser = Type1Parser;\n /***/\n },\n /* 236 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getTilingPatternIR = getTilingPatternIR;\n exports.Pattern = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _colorspace = __w_pdfjs_require__(220);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var 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\n var 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, localColorSpaceCache) {\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, localColorSpaceCache);\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, localColorSpaceCache);\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\n exports.Pattern = Pattern;\n var Shadings = {};\n Shadings.SMALL_NUMBER = 1e-6;\n\n Shadings.RadialAxial = function RadialAxialClosure() {\n function RadialAxial(dict, matrix, xref, resources, pdfFunctionFactory, localColorSpaceCache) {\n this.matrix = matrix;\n this.coordsArr = dict.getArray(\"Coords\");\n this.shadingType = dict.get(\"ShadingType\");\n this.type = \"Pattern\";\n\n var cs = _colorspace.ColorSpace.parse({\n cs: dict.getRaw(\"ColorSpace\") || dict.getRaw(\"CS\"),\n xref: xref,\n resources: resources,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\n\n this.cs = cs;\n var bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n this.bbox = _util.Util.normalizeRect(bbox);\n } else {\n this.bbox = null;\n }\n\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.getRaw(\"Function\");\n var fn = pdfFunctionFactory.createFromArray(fnObj);\n var NUMBER_OF_SAMPLES = 10;\n var step = (t1 - t0) / NUMBER_OF_SAMPLES;\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 = 0; i <= NUMBER_OF_SAMPLES; i++) {\n ratio[0] = t0 + i * step;\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 / NUMBER_OF_SAMPLES, 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.bbox, this.colorStops, p0, p1, r0, r1];\n }\n };\n return RadialAxial;\n }();\n\n Shadings.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, resources, pdfFunctionFactory, localColorSpaceCache) {\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 var bbox = dict.getArray(\"BBox\");\n\n if (Array.isArray(bbox) && bbox.length === 4) {\n this.bbox = _util.Util.normalizeRect(bbox);\n } else {\n this.bbox = null;\n }\n\n var cs = _colorspace.ColorSpace.parse({\n cs: dict.getRaw(\"ColorSpace\") || dict.getRaw(\"CS\"),\n xref: xref,\n resources: resources,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\n\n this.cs = cs;\n this.background = dict.has(\"Background\") ? cs.getRgb(dict.get(\"Background\"), 0) : null;\n var fnObj = dict.getRaw(\"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\n Shadings.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\n function 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 },\n /* 237 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isPDFFunction = isPDFFunction;\n exports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _util = __w_pdfjs_require__(5);\n\n var _ps_parser = __w_pdfjs_require__(238);\n\n var _image_utils = __w_pdfjs_require__(221);\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var PDFFunctionFactory =\n /*#__PURE__*/\n function () {\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 this._localFunctionCache = null;\n }\n\n _createClass(PDFFunctionFactory, [{\n key: \"create\",\n value: function create(fn) {\n var cachedFunction = this.getCached(fn);\n\n if (cachedFunction) {\n return cachedFunction;\n }\n\n var parsedFunction = PDFFunction.parse({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fn: fn instanceof _primitives.Ref ? this.xref.fetch(fn) : fn\n });\n\n this._cache(fn, parsedFunction);\n\n return parsedFunction;\n }\n }, {\n key: \"createFromArray\",\n value: function createFromArray(fnObj) {\n var cachedFunction = this.getCached(fnObj);\n\n if (cachedFunction) {\n return cachedFunction;\n }\n\n var parsedFunction = PDFFunction.parseArray({\n xref: this.xref,\n isEvalSupported: this.isEvalSupported,\n fnObj: fnObj instanceof _primitives.Ref ? this.xref.fetch(fnObj) : fnObj\n });\n\n this._cache(fnObj, parsedFunction);\n\n return parsedFunction;\n }\n }, {\n key: \"getCached\",\n value: function getCached(cacheKey) {\n var fnRef;\n\n if (cacheKey instanceof _primitives.Ref) {\n fnRef = cacheKey;\n } else if (cacheKey instanceof _primitives.Dict) {\n fnRef = cacheKey.objId;\n } else if ((0, _primitives.isStream)(cacheKey)) {\n fnRef = cacheKey.dict && cacheKey.dict.objId;\n }\n\n if (fnRef) {\n if (!this._localFunctionCache) {\n this._localFunctionCache = new _image_utils.LocalFunctionCache();\n }\n\n var localFunction = this._localFunctionCache.getByRef(fnRef);\n\n if (localFunction) {\n return localFunction;\n }\n }\n\n return null;\n }\n }, {\n key: \"_cache\",\n value: function _cache(cacheKey, parsedFunction) {\n if (!parsedFunction) {\n throw new Error('PDFFunctionFactory._cache - expected \"parsedFunction\" argument.');\n }\n\n var fnRef;\n\n if (cacheKey instanceof _primitives.Ref) {\n fnRef = cacheKey;\n } else if (cacheKey instanceof _primitives.Dict) {\n fnRef = cacheKey.objId;\n } else if ((0, _primitives.isStream)(cacheKey)) {\n fnRef = cacheKey.dict && cacheKey.dict.objId;\n }\n\n if (fnRef) {\n if (!this._localFunctionCache) {\n this._localFunctionCache = new _image_utils.LocalFunctionCache();\n }\n\n this._localFunctionCache.set(null, fnRef, parsedFunction);\n }\n }\n }]);\n\n return PDFFunctionFactory;\n }();\n\n exports.PDFFunctionFactory = PDFFunctionFactory;\n\n function 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 j = 0; j < length; j++) {\n result[j] = +arr[j];\n }\n\n return result;\n }\n }\n\n return arr;\n }\n\n var 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 && _util.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\n function 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\n var 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\n var 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\n exports.PostScriptEvaluator = PostScriptEvaluator;\n\n var 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 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 (var i = 0; i < inputSize; i++) {\n stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n }\n\n for (var _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\n exports.PostScriptCompiler = PostScriptCompiler;\n /***/\n },\n /* 238 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PostScriptParser = exports.PostScriptLexer = void 0;\n\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _core_utils = __w_pdfjs_require__(205);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var PostScriptParser =\n /*#__PURE__*/\n function () {\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\n exports.PostScriptParser = PostScriptParser;\n var PostScriptTokenTypes = {\n LBRACE: 0,\n RBRACE: 1,\n NUMBER: 2,\n OPERATOR: 3,\n IF: 4,\n IFELSE: 5\n };\n\n var 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\n var PostScriptLexer =\n /*#__PURE__*/\n function () {\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, _core_utils.isWhiteSpace)(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\n exports.PostScriptLexer = PostScriptLexer;\n /***/\n },\n /* 239 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.bidi = bidi;\n\n var _util = __w_pdfjs_require__(5);\n\n var 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\"];\n var 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\n function isOdd(i) {\n return (i & 1) !== 0;\n }\n\n function isEven(i) {\n return (i & 1) === 0;\n }\n\n function 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\n function setValues(arr, start, end, value) {\n for (var j = start; j < end; ++j) {\n arr[j] = value;\n }\n }\n\n function 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\n function createBidiText(str, isLTR) {\n var vertical = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var dir = \"ltr\";\n\n if (vertical) {\n dir = \"ttb\";\n } else if (!isLTR) {\n dir = \"rtl\";\n }\n\n return {\n str: str,\n dir: dir\n };\n }\n\n var chars = [];\n var types = [];\n\n function 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 },\n /* 240 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getMetrics = void 0;\n\n var _core_utils = __w_pdfjs_require__(205);\n\n var 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 });\n exports.getMetrics = getMetrics;\n /***/\n },\n /* 241 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.MurmurHash3_64 = void 0;\n\n var _util = __w_pdfjs_require__(5);\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var SEED = 0xc3d2e1f0;\n var MASK_HIGH = 0xffff0000;\n var MASK_LOW = 0xffff;\n\n var MurmurHash3_64 =\n /*#__PURE__*/\n function () {\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\n exports.MurmurHash3_64 = MurmurHash3_64;\n /***/\n },\n /* 242 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFImage = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n var _primitives = __w_pdfjs_require__(202);\n\n var _colorspace = __w_pdfjs_require__(220);\n\n var _stream = __w_pdfjs_require__(209);\n\n var _jpeg_stream = __w_pdfjs_require__(215);\n\n var _jpx = __w_pdfjs_require__(218);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function decodeAndClamp(value, addend, coefficient, max) {\n value = addend + value * coefficient;\n\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n\n return value;\n }\n\n function resizeImageMask(src, bpc, w1, h1, w2, h2) {\n var length = w2 * h2;\n var dest;\n\n if (bpc <= 8) {\n dest = new Uint8Array(length);\n } else if (bpc <= 16) {\n dest = new Uint16Array(length);\n } else {\n dest = new Uint32Array(length);\n }\n\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 var PDFImage =\n /*#__PURE__*/\n function () {\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 localColorSpaceCache = _ref.localColorSpaceCache;\n\n _classCallCheck(this, PDFImage);\n\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.getRaw(\"ColorSpace\") || dict.getRaw(\"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 this.colorSpace = _colorspace.ColorSpace.parse({\n cs: colorSpace,\n xref: xref,\n resources: isInline ? res : null,\n pdfFunctionFactory: pdfFunctionFactory,\n localColorSpaceCache: localColorSpaceCache\n });\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 localColorSpaceCache: localColorSpaceCache\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 localColorSpaceCache: localColorSpaceCache\n });\n }\n } else {\n this.mask = mask;\n }\n }\n }\n\n _createClass(PDFImage, [{\n key: \"decodeBuffer\",\n value: 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 }, {\n key: \"getComponents\",\n value: 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;\n\n if (bpc <= 8) {\n output = new Uint8Array(length);\n } else if (bpc <= 16) {\n output = new Uint16Array(length);\n } else {\n output = new Uint32Array(length);\n }\n\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\n if (value < 0) {\n value = 0;\n } else if (value > max) {\n value = max;\n }\n\n output[i] = value;\n buf = buf & (1 << remainingBits) - 1;\n bits = remainingBits;\n }\n }\n\n return output;\n }\n }, {\n key: \"fillOpacity\",\n value: 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 }, {\n key: \"undoPreblend\",\n value: 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 }, {\n key: \"createImageData\",\n value: 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 }, {\n key: \"fillGrayBuffer\",\n value: 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 }, {\n key: \"getImageBytes\",\n value: 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 key: \"drawWidth\",\n get: function get() {\n return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n }\n }, {\n key: \"drawHeight\",\n get: function get() {\n return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n }\n }], [{\n key: \"buildImage\",\n value: function () {\n var _buildImage = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(_ref2) {\n var xref, res, image, _ref2$isInline, isInline, pdfFunctionFactory, localColorSpaceCache, imageData, smaskData, maskData, smask, mask;\n\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n xref = _ref2.xref, res = _ref2.res, image = _ref2.image, _ref2$isInline = _ref2.isInline, isInline = _ref2$isInline === void 0 ? false : _ref2$isInline, pdfFunctionFactory = _ref2.pdfFunctionFactory, localColorSpaceCache = _ref2.localColorSpaceCache;\n imageData = image;\n smaskData = null;\n maskData = null;\n smask = image.dict.get(\"SMask\");\n mask = image.dict.get(\"Mask\");\n\n if (smask) {\n smaskData = smask;\n } else if (mask) {\n if ((0, _primitives.isStream)(mask) || Array.isArray(mask)) {\n maskData = mask;\n } else {\n (0, _util.warn)(\"Unsupported mask format.\");\n }\n }\n\n return _context.abrupt(\"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 localColorSpaceCache: localColorSpaceCache\n }));\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function buildImage(_x) {\n return _buildImage.apply(this, arguments);\n }\n\n return buildImage;\n }()\n }, {\n key: \"createMask\",\n value: function createMask(_ref3) {\n var imgArray = _ref3.imgArray,\n width = _ref3.width,\n height = _ref3.height,\n imageIsFromDecodeStream = _ref3.imageIsFromDecodeStream,\n inverseDecode = _ref3.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\n return PDFImage;\n }();\n\n exports.PDFImage = PDFImage;\n /***/\n },\n /* 243 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.MessageHandler = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n }\n\n var CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n };\n var StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n };\n\n function wrapReason(reason) {\n if (_typeof(reason) !== \"object\" || reason === null) {\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 case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n }\n\n var MessageHandler =\n /*#__PURE__*/\n function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this = this;\n\n _classCallCheck(this, MessageHandler);\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 this.callbackCapabilities = Object.create(null);\n 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\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n var action = _this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this.sourceName;\n var cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n _this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\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;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: 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 var comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\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 }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this2.streamControllers[streamId].cancelCall = cancelCapability;\n _this2.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\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 self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator(\n /*#__PURE__*/\n _regenerator[\"default\"].mark(function _callee(streamId) {\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 Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function _deleteStreamController(_x) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: 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 }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n }();\n\n exports.MessageHandler = MessageHandler;\n /***/\n },\n /* 244 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFWorkerStream = void 0;\n\n var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\n var _util = __w_pdfjs_require__(5);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n\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 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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n var PDFWorkerStream =\n /*#__PURE__*/\n function () {\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, \"PDFWorkerStream.getFullReader can only be called once.\");\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\n exports.PDFWorkerStream = PDFWorkerStream;\n\n var PDFWorkerStreamReader =\n /*#__PURE__*/\n function () {\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 _yield$this$_reader$r, 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 _yield$this$_reader$r = _context.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.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\n var PDFWorkerStreamRangeReader =\n /*#__PURE__*/\n function () {\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 _yield$this$_reader$r2, 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 _yield$this$_reader$r2 = _context2.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.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 ])\n );\n});","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n/* eslint-disable no-proto */\n'use strict';\n\nvar base64 = require('base64-js');\n\nvar ieee754 = require('ieee754');\n\nvar isArray = require('isarray');\n\nexports.Buffer = Buffer;\nexports.SlowBuffer = SlowBuffer;\nexports.INSPECT_MAX_BYTES = 50;\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\n\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : typedArraySupport();\n/*\n * Export kMaxLength after typed array support is determined.\n */\n\nexports.kMaxLength = kMaxLength();\n\nfunction typedArraySupport() {\n try {\n var arr = new Uint8Array(1);\n arr.__proto__ = {\n __proto__: Uint8Array.prototype,\n foo: function foo() {\n return 42;\n }\n };\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0; // ie10 has broken `subarray`\n } catch (e) {\n return false;\n }\n}\n\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff;\n}\n\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length');\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length);\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length);\n }\n\n that.length = length;\n }\n\n return that;\n}\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\n\nfunction Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length);\n } // Common case.\n\n\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error('If encoding is specified then the first argument must be a string');\n }\n\n return allocUnsafe(this, arg);\n }\n\n return from(this, arg, encodingOrOffset, length);\n}\n\nBuffer.poolSize = 8192; // not used by this implementation\n// TODO: Legacy, not needed anymore. Remove in next major version.\n\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype;\n return arr;\n};\n\nfunction from(that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number');\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length);\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset);\n }\n\n return fromObject(that, value);\n}\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\n\n\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length);\n};\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype;\n Buffer.__proto__ = Uint8Array;\n\n if (typeof Symbol !== 'undefined' && Symbol.species && Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n });\n }\n}\n\nfunction assertSize(size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number');\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative');\n }\n}\n\nfunction alloc(that, size, fill, encoding) {\n assertSize(size);\n\n if (size <= 0) {\n return createBuffer(that, size);\n }\n\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string' ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill);\n }\n\n return createBuffer(that, size);\n}\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\n\n\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding);\n};\n\nfunction allocUnsafe(that, size) {\n assertSize(size);\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0;\n }\n }\n\n return that;\n}\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\n\n\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size);\n};\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\n\n\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size);\n};\n\nfunction fromString(that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8';\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding');\n }\n\n var length = byteLength(string, encoding) | 0;\n that = createBuffer(that, length);\n var actual = that.write(string, encoding);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual);\n }\n\n return that;\n}\n\nfunction fromArrayLike(that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n that = createBuffer(that, length);\n\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255;\n }\n\n return that;\n}\n\nfunction fromArrayBuffer(that, array, byteOffset, length) {\n array.byteLength; // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds');\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds');\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array);\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset);\n } else {\n array = new Uint8Array(array, byteOffset, length);\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array;\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array);\n }\n\n return that;\n}\n\nfunction fromObject(that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n that = createBuffer(that, len);\n\n if (that.length === 0) {\n return that;\n }\n\n obj.copy(that, 0, 0, len);\n return that;\n }\n\n if (obj) {\n if (typeof ArrayBuffer !== 'undefined' && obj.buffer instanceof ArrayBuffer || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0);\n }\n\n return fromArrayLike(that, obj);\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data);\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + kMaxLength().toString(16) + ' bytes');\n }\n\n return length | 0;\n}\n\nfunction SlowBuffer(length) {\n if (+length != length) {\n // eslint-disable-line eqeqeq\n length = 0;\n }\n\n return Buffer.alloc(+length);\n}\n\nBuffer.isBuffer = function isBuffer(b) {\n return !!(b != null && b._isBuffer);\n};\n\nBuffer.compare = function compare(a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers');\n }\n\n if (a === b) return 0;\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n\nBuffer.isEncoding = function isEncoding(encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true;\n\n default:\n return false;\n }\n};\n\nBuffer.concat = function concat(list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n\n var i;\n\n if (length === undefined) {\n length = 0;\n\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n var buffer = Buffer.allocUnsafe(length);\n var pos = 0;\n\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n\n buf.copy(buffer, pos);\n pos += buf.length;\n }\n\n return buffer;\n};\n\nfunction byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength;\n }\n\n if (typeof string !== 'string') {\n string = '' + string;\n }\n\n var len = string.length;\n if (len === 0) return 0; // Use a for loop to avoid recursion\n\n var loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len;\n\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length;\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2;\n\n case 'hex':\n return len >>> 1;\n\n case 'base64':\n return base64ToBytes(string).length;\n\n default:\n if (loweredCase) return utf8ToBytes(string).length; // assume utf8\n\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n}\n\nBuffer.byteLength = byteLength;\n\nfunction slowToString(encoding, start, end) {\n var loweredCase = false; // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\n if (start === undefined || start < 0) {\n start = 0;\n } // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n\n\n if (start > this.length) {\n return '';\n }\n\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n\n if (end <= 0) {\n return '';\n } // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n\n\n end >>>= 0;\n start >>>= 0;\n\n if (end <= start) {\n return '';\n }\n\n if (!encoding) encoding = 'utf8';\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end);\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end);\n\n case 'ascii':\n return asciiSlice(this, start, end);\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end);\n\n case 'base64':\n return base64Slice(this, start, end);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end);\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = (encoding + '').toLowerCase();\n loweredCase = true;\n }\n }\n} // The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\n\n\nBuffer.prototype._isBuffer = true;\n\nfunction swap(b, n, m) {\n var i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n\nBuffer.prototype.swap16 = function swap16() {\n var len = this.length;\n\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n }\n\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n\n return this;\n};\n\nBuffer.prototype.swap32 = function swap32() {\n var len = this.length;\n\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n }\n\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n\n return this;\n};\n\nBuffer.prototype.swap64 = function swap64() {\n var len = this.length;\n\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n }\n\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n\n return this;\n};\n\nBuffer.prototype.toString = function toString() {\n var length = this.length | 0;\n if (length === 0) return '';\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return slowToString.apply(this, arguments);\n};\n\nBuffer.prototype.equals = function equals(b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n};\n\nBuffer.prototype.inspect = function inspect() {\n var str = '';\n var max = exports.INSPECT_MAX_BYTES;\n\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ');\n if (this.length > max) str += ' ... ';\n }\n\n return '';\n};\n\nBuffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer');\n }\n\n if (start === undefined) {\n start = 0;\n }\n\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n\n if (thisStart === undefined) {\n thisStart = 0;\n }\n\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index');\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n\n if (thisStart >= thisEnd) {\n return -1;\n }\n\n if (start >= end) {\n return 1;\n }\n\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n var x = thisEnd - thisStart;\n var y = end - start;\n var len = Math.min(x, y);\n var thisCopy = this.slice(thisStart, thisEnd);\n var targetCopy = target.slice(start, end);\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n}; // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\n\n\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1; // Normalize byteOffset\n\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n\n byteOffset = +byteOffset; // Coerce to Number.\n\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n } // Normalize byteOffset: negative offsets start from the end of the buffer\n\n\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\n if (byteOffset >= buffer.length) {\n if (dir) return -1;else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;else return -1;\n } // Normalize val\n\n\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding);\n } // Finally, search either indexOf (if dir is true) or lastIndexOf\n\n\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n val = val & 0xFF; // Search for a byte value [0-255]\n\n if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n }\n\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n\n throw new TypeError('val must be string, number or Buffer');\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1;\n var arrLength = arr.length;\n var valLength = val.length;\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n\n if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n } else {\n return buf.readUInt16BE(i * indexSize);\n }\n }\n\n var i;\n\n if (dir) {\n var foundIndex = -1;\n\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\n for (i = byteOffset; i >= 0; i--) {\n var found = true;\n\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n\n if (found) return i;\n }\n }\n\n return -1;\n}\n\nBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n};\n\nBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n};\n\nBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n};\n\nfunction hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n var remaining = buf.length - offset;\n\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n\n if (length > remaining) {\n length = remaining;\n }\n } // must be an even number of digits\n\n\n var strLen = string.length;\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string');\n\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16);\n if (isNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n\n return i;\n}\n\nfunction utf8Write(buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nfunction asciiWrite(buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n}\n\nfunction latin1Write(buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length);\n}\n\nfunction base64Write(buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n}\n\nfunction ucs2Write(buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nBuffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8';\n length = this.length;\n offset = 0; // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0; // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0;\n\n if (isFinite(length)) {\n length = length | 0;\n if (encoding === undefined) encoding = 'utf8';\n } else {\n encoding = length;\n length = undefined;\n } // legacy write(string, encoding, offset, length) - remove in v0.13\n\n } else {\n throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n }\n\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds');\n }\n\n if (!encoding) encoding = 'utf8';\n var loweredCase = false;\n\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length);\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length);\n\n case 'ascii':\n return asciiWrite(this, string, offset, length);\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length);\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length);\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n encoding = ('' + encoding).toLowerCase();\n loweredCase = true;\n }\n }\n};\n\nBuffer.prototype.toJSON = function toJSON() {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\n\nfunction base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n } else {\n return base64.fromByteArray(buf.slice(start, end));\n }\n}\n\nfunction utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n var res = [];\n var i = start;\n\n while (i < end) {\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte;\n }\n\n break;\n\n case 2:\n secondByte = buf[i + 1];\n\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint;\n }\n }\n\n break;\n\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint;\n }\n }\n\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD;\n bytesPerSequence = 1;\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n codePoint = 0xDC00 | codePoint & 0x3FF;\n }\n\n res.push(codePoint);\n i += bytesPerSequence;\n }\n\n return decodeCodePointsArray(res);\n} // Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\n\n\nvar MAX_ARGUMENTS_LENGTH = 0x1000;\n\nfunction decodeCodePointsArray(codePoints) {\n var len = codePoints.length;\n\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n } // Decode in chunks to avoid \"call stack size exceeded\".\n\n\n var res = '';\n var i = 0;\n\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n }\n\n return res;\n}\n\nfunction asciiSlice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F);\n }\n\n return ret;\n}\n\nfunction latin1Slice(buf, start, end) {\n var ret = '';\n end = Math.min(buf.length, end);\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n\n return ret;\n}\n\nfunction hexSlice(buf, start, end) {\n var len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n var out = '';\n\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i]);\n }\n\n return out;\n}\n\nfunction utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end);\n var res = '';\n\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n\n return res;\n}\n\nBuffer.prototype.slice = function slice(start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n var newBuf;\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end);\n newBuf.__proto__ = Buffer.prototype;\n } else {\n var sliceLen = end - start;\n newBuf = new Buffer(sliceLen, undefined);\n\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start];\n }\n }\n\n return newBuf;\n};\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\n\n\nfunction checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n return val;\n};\n\nBuffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n\n var val = this[offset + --byteLength];\n var mul = 1;\n\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul;\n }\n\n return val;\n};\n\nBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n};\n\nBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n};\n\nBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n};\n\nBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n};\n\nBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n};\n\nBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n\nBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset | 0;\n byteLength = byteLength | 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n var i = byteLength;\n var mul = 1;\n var val = this[offset + --i];\n\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul;\n }\n\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n\nBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n};\n\nBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset] | this[offset + 1] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n\nBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length);\n var val = this[offset + 1] | this[offset] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n\nBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n};\n\nBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n};\n\nBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n};\n\nBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n};\n\nBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n};\n\nBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n};\n\nfunction checkInt(buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n var mul = 1;\n var i = 0;\n this[offset] = value & 0xFF;\n\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n byteLength = byteLength | 0;\n\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n var i = byteLength - 1;\n var mul = 1;\n this[offset + i] = value & 0xFF;\n\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = value / mul & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n this[offset] = value & 0xff;\n return offset + 1;\n};\n\nfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1;\n\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & 0xff << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8;\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n\n return offset + 2;\n};\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n\n return offset + 2;\n};\n\nfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1;\n\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 0xff;\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n\n return offset + 4;\n};\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n\n return offset + 4;\n};\n\nBuffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n var i = 0;\n var mul = 1;\n var sub = 0;\n this[offset] = value & 0xFF;\n\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset | 0;\n\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n var i = byteLength - 1;\n var mul = 1;\n var sub = 0;\n this[offset + i] = value & 0xFF;\n\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n\n return offset + byteLength;\n};\n\nBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n};\n\nBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n } else {\n objectWriteUInt16(this, value, offset, true);\n }\n\n return offset + 2;\n};\n\nBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n } else {\n objectWriteUInt16(this, value, offset, false);\n }\n\n return offset + 2;\n};\n\nBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n } else {\n objectWriteUInt32(this, value, offset, true);\n }\n\n return offset + 4;\n};\n\nBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset | 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (value < 0) value = 0xffffffff + value + 1;\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n } else {\n objectWriteUInt32(this, value, offset, false);\n }\n\n return offset + 4;\n};\n\nfunction checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n if (offset < 0) throw new RangeError('Index out of range');\n}\n\nfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert);\n};\n\nBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert);\n};\n\nfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308);\n }\n\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert);\n};\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert);\n}; // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\n\nBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start; // Copy 0 bytes; we're done\n\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0; // Fatal error conditions\n\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds');\n }\n\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds');\n if (end < 0) throw new RangeError('sourceEnd out of bounds'); // Are we oob?\n\n if (end > this.length) end = this.length;\n\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n var len = end - start;\n var i;\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start];\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart);\n }\n\n return len;\n}; // Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\n\n\nBuffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n\n if (code < 256) {\n val = code;\n }\n }\n\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding);\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n } // Invalid ranges are not set to a default, so can range check early.\n\n\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index');\n }\n\n if (end <= start) {\n return this;\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n var i;\n\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString());\n var len = bytes.length;\n\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this;\n}; // HELPER FUNCTIONS\n// ================\n\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g;\n\nfunction base64clean(str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, ''); // Node converts strings with length < 2 to ''\n\n if (str.length < 2) return ''; // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\n while (str.length % 4 !== 0) {\n str = str + '=';\n }\n\n return str;\n}\n\nfunction stringtrim(str) {\n if (str.trim) return str.trim();\n return str.replace(/^\\s+|\\s+$/g, '');\n}\n\nfunction toHex(n) {\n if (n < 16) return '0' + n.toString(16);\n return n.toString(16);\n}\n\nfunction utf8ToBytes(string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i); // is surrogate component\n\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } // valid lead\n\n\n leadSurrogate = codePoint;\n continue;\n } // 2 leads in a row\n\n\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue;\n } // valid surrogate pair\n\n\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n\n leadSurrogate = null; // encode utf8\n\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else {\n throw new Error('Invalid code point');\n }\n }\n\n return bytes;\n}\n\nfunction asciiToBytes(str) {\n var byteArray = [];\n\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF);\n }\n\n return byteArray;\n}\n\nfunction utf16leToBytes(str, units) {\n var c, hi, lo;\n var byteArray = [];\n\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n\n return byteArray;\n}\n\nfunction base64ToBytes(str) {\n return base64.toByteArray(base64clean(str));\n}\n\nfunction blitBuffer(src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n\n return i;\n}\n\nfunction isnan(val) {\n return val !== val; // eslint-disable-line no-self-compare\n}","'use strict';\n\nexports.byteLength = byteLength;\nexports.toByteArray = toByteArray;\nexports.fromByteArray = fromByteArray;\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n} // Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\n\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens(b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4');\n } // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n\n\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [validLen, placeHoldersLen];\n} // base64 is 4/3 + up to two characters of the original data\n\n\nfunction byteLength(b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\n\nfunction _byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\n\nfunction toByteArray(b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0; // if there are placeholders, only get up to the last complete 4 chars\n\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n\n for (i = 0; i < len; i += 4) {\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 0xFF;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr;\n}\n\nfunction tripletToBase64(num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];\n}\n\nfunction encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n\n return output.join('');\n}\n\nfunction fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n // go through the array every three bytes, we'll deal with trailing stuff later\n\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n } // pad the end with zeros, but make sure to not forget the extra bytes\n\n\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '==');\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '=');\n }\n\n return parts.join('');\n}","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n};\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = e << mLen | m;\n eLen += mLen;\n\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\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};"],"sourceRoot":""}