{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/node-libs-browser/node_modules/process/browser.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/vue-pdf/node_modules/pdfjs-dist/es5/build/pdf.worker.js","webpack:///./node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/isarray/index.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","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","e","this","runClearTimeout","marker","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","run","Item","array","noop","nextTick","args","arguments","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","read","buffer","offset","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","Infinity","Math","pow","write","rt","abs","isNaN","floor","log","LN2","root","factory","__w_pdfjs_require__","_worker","WorkerMessageHandler","WorkerTask","_regenerator","_interopRequireDefault","_util","_primitives","_pdf_manager","_writer","_is_node","_message_handler","_worker_stream","_core_utils","obj","_createForOfIteratorHelper","allowArrayLike","it","iterator","isArray","_unsupportedIterableToArray","F","done","_e2","f","TypeError","err","normalCompletion","didErr","step","next","_e3","_toArray","_arrayWithHoles","_iterableToArray","_nonIterableRest","iter","from","_slicedToArray","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","constructor","test","arr2","_arr","_n","_d","_e","undefined","_s","_i","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","then","_asyncToGenerator","fn","self","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","configurable","writable","_createClass","protoProps","staticProps","terminated","_capability","createPromiseCapability","promise","handler","port","testMessageProcessed","data","supportTransfers","postMessageTransfers","send","setVerbosityLevel","verbosity","createDocumentHandler","docParams","pdfManager","cancelXHRs","WorkerTasks","getVerbosityLevel","apiVersion","workerVersion","enumerableProperties","docId","docBaseUrl","workerHandlerName","MessageHandler","ensureNotTerminated","startWorkerTask","task","finishWorkerTask","finish","splice","loadDocument","_x","_loadDocument","mark","_callee","recoveryMode","_yield$Promise$all","_yield$Promise$all2","numPages","fingerprint","wrap","_context","prev","ensureDoc","all","sent","abrupt","stop","getPdfManager","evaluatorOptions","newPdfManager","pdfManagerCapability","source","LocalPdfManager","password","ex","pdfStream","cachedChunks","PDFWorkerStream","fullRequest","getFullReader","headersReady","isRangeSupported","disableAutoFetch","isStreamingSupported","NetworkPdfManager","msgHandler","contentLength","rangeChunkSize","sendProgressiveData","reason","loaded","flushChunks","pdfFile","arraysToBytes","warn","readPromise","readChunk","_ref","arrayByteLength","total","max","cancelAllRequests","setupDoc","onSuccess","doc","pdfInfo","onFailure","PasswordException","sendWithPromise","_ref2","updatePassword","pdfManagerReady","InvalidPDFException","MissingPDFException","UnexpectedResponseException","UnknownErrorException","message","XRefParseException","requestLoadedStream","onLoadedStream","maxImageSize","disableFontFace","ignoreErrors","isEvalSupported","fontExtraProperties","terminate","AbortException","stream","bytes","getPage","pageIndex","page","ensure","_ref3","_ref4","rotate","ref","userUnit","view","_ref5","pageRef","Ref","ensureCatalog","id","ensureXRef","_ref6","intent","getAnnotationsData","_ref7","annotationStorage","filename","promises","document","pdfDocument","_loop","save","_ref8","_step","_ref9","refs","newRefs","_iterator","filter","x","reduce","a","b","xref","newXrefInfo","trailer","_info","xrefInfo","forEach","isString","stringToPDFString","rootRef","getRaw","encrypt","newRef","getNewRef","infoRef","fileIds","startXRef","resetNewRef","incrementalUpdate","sink","VerbosityLevel","INFOS","Date","now","getOperatorList","renderInteractiveForms","operatorListInfo","close","featureId","UNSUPPORTED_FEATURES","errorOperatorList","onPull","desiredSize","onCancel","extractTextContent","normalizeWhitespace","combineTextItems","fontFallback","cleanup","waitOn","cleanupPromise","clearPrimitiveCaches","finished","destroy","setup","isMessagePort","maybePort","postMessage","window","isNodeJS","initializeFromPort","_typeof","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","type","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","AsyncIterator","PromiseImpl","invoke","record","result","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","skipTempReset","charAt","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","assert","bytesToString","escapeString","getModificationDate","isArrayBuffer","isArrayEqual","isBool","isNum","isSameOrigin","createValidAbsoluteUrl","removeNullCharacters","shadow","string32","stringToBytes","stringToUTF8String","utf8StringToString","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","level","Number","isInteger","msg","console","cond","baseUrl","otherUrl","base","URL","origin","other","_isValidProtocol","url","protocol","absoluteUrl","prop","_BaseException","_super","_this","_BaseException2","_super2","details","_this2","_BaseException3","_super3","_BaseException4","_super4","_BaseException5","_super5","status","_this3","_BaseException6","_super6","_BaseException7","_super7","NullCharactersRegExp","str","replace","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","min","chunk","subarray","resultLength","pos","item","itemLength","set","isLittleEndian","buffer8","view32","Uint32Array","rgbBuf","g","m1","m2","xt","yt","p1","applyTransform","p2","p3","p4","v","transpose","first","second","sqrt","sx","sy","rect","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","PDFStringTranslateTable","_i2","_i3","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","every","element","index","date","getUTCFullYear","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","capability","isSettled","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","startsWith","endsWith","includes","assign","fromEntries","log2","allSettled","isReadableStreamSupported","ReadableStream","controller","Map","entries","Set","WeakMap","WeakSet","codePointAt","fromCodePoint","padEnd","nw","electron","$","global","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","FORCED","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","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","getterFor","TYPE","wmget","wmhas","wmset","metadata","STATE","shared","uid","IS_PURE","copyright","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","path","aFunction","variable","namespace","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","toInteger","argument","ceil","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","toLowerCase","entryUnbind","notARegExp","correctIsRegExpLogic","nativeStartsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","proto","searchString","that","search","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","METHOD_NAME","regexp","CONSTRUCTOR","METHOD","nativeEndsWith","endPosition","$includes","addToUnscopables","arrayMethodUsesToLength","USES_TO_LENGTH","ACCESSORS","UNSCOPABLES","ArrayPrototype","activeXDocument","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","style","display","appendChild","src","contentWindow","open","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","cache","thrower","argument0","argument1","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","CONVERT_TO_STRING","S","position","size","codeAt","createIteratorConstructor","setToStringTag","Iterators","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","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","INCORRECT_ITERATION","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","returnMethod","propertyKey","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","nativeAssign","A","B","symbol","alphabet","chr","T","j","ARRAY_ITERATOR","kind","Arguments","iterate","k","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","boundFunction","number","isFinite","ArrayBufferViewCore","speciesConstructor","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","$slice","Int8Array","list","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","isView","klass","isTypedArray","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","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","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","fail","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","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","ONREADYSTATECHANGE","runner","listener","post","host","port2","port1","onmessage","addEventListener","importScripts","flush","head","last","node","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","match","v8","NON_GENERIC","real","onFinally","isFunction","EOF","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","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","parseInt","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","username","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","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","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","accessorDescriptor","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","toJSON","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","encode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","label","encoded","labels","getIterator","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","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","NumberIsNaN","rethrowAssertionErrorRejection","typeIsObject","createArrayFromList","elements","ArrayBufferCopy","dest","destOffset","srcOffset","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","promiseResolvedWith","InvokeOrNoop","promiseRejectedWith","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","ReadableStreamReaderGenericInitialize","reader","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","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","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","Boolean","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","abortRequest","WritableStreamRejectCloseAndClosedPromiseIfNeeded","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","pullPromise","_pullAlgorithm","_pullAgain","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reason1","reason2","branch1","branch2","resolveCancelPromise","reading","canceled1","canceled2","cancelPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","request","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","pipeTo","tee","branches","sourceCancelPromise","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","startPromise_resolve","readableSizeAlgorithm","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","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","fastKey","getWeakData","onFreeze","meta","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","INCORRECT_LENGTH","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","stringify","space","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","JSON","$padStart","WEBKIT_BUG","repeat","IS_END","fillString","fillLen","stringFiller","stringLength","fillStr","intMaxLength","count","$padEnd","$values","TO_ENTRIES","$entries","isEOF","isCmd","isDict","isName","isRef","isRefsEqual","isStream","RefSetCache","RefSet","Name","Dict","Cmd","default","nameCache","nameValue","_clearCache","cmdCache","cmd","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","v1","v2","getBytes","_chunked_stream","_document","_stream","BasePdfManager","catalog","manuallyTriggered","_ensure","_x2","_x3","begin","_password","_docId","_docBaseUrl","_BasePdfManager","Stream","PDFDocument","_loadedStreamPromise","_ensure2","_callee2","_context2","_x4","_x5","_x6","_BasePdfManager2","pdfNetworkStream","streamManager","ChunkedStreamManager","getStream","_ensure3","_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","groupedChunksToRequest","groupChunks","groupedChunk","sendRequest","getBeginChunk","getEndChunk","ranges","range","groupedChunks","prevChunk","isProgressive","onReceiveProgressiveData","loadedRequests","nextEmptyChunk","lastChunk","_loadedRequests","_requestId","_step6","_iterator6","getLookupTableFactory","getInheritableProperty","toRomanNumerals","readInt8","readUint16","readUint32","isWhiteSpace","XRefEntryException","initializer","_ref$getArray","_ref$stopWhenFound","stopWhenFound","LOOP_LIMIT","loopCount","ROMAN_NUMBER_MAP","lowerCase","romanBuf","romanStr","ch","Page","_obj","_annotation","_crypto","_parser","_operator_list","_evaluator","DEFAULT_USER_UNIT","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","ObjectLoader","resources","load","contentStreamPromise","loadResources","dataPromises","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","FINGERPRINT_FIRST_BYTES","EMPTY_FINGERPRINT","PDF_HEADER_VERSION_REGEXP","signature","limit","backwards","signatureLength","scanBytes","peekBytes","scanLength","signatureEnd","_pos","_j","XRef","_pagePromises","_version","_class2","parse","Catalog","moveStart","MAX_PDF_VERSION_LENGTH","substring","setStartXRef","fields","_this5","recursionDepth","RECURSION_LIMIT","field","_hasOnlyDocumentSignatures","isSignature","isInvisible","linearization","objectNumberFirst","pageKidsCountCache","put","getPageDict","_this6","pageFirst","_getLinearizationPage","_ref10","_ref11","_this7","_ref12","_cleanup","_args2","Linearization","startXRefLength","skip","formInfo","hasAcroForm","hasXfa","acroForm","xfa","isEmpty","hasFields","sigFlags","hasOnlyDocumentSignatures","DocumentInfoValidators","Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped","infoDict","docInfo","PDFFormatVersion","IsLinearized","IsAcroFormPresent","IsXFAPresent","IsCollectionPresent","customValue","Custom","idArray","calculateMD5","getByteRange","fingerprintBuf","hex","FileSpec","_colorspace","_image_utils","fetchDestination","_catDict","getCatalogObj","GlobalImageCache","items","processed","blackColor","outlineDict","parseDestDictionary","destDict","resultObj","flags","color","rgbColor","ColorSpace","singletons","rgb","getRgb","outlineItem","unsafeUrl","newWindow","bold","italic","permissions","config","contentGroupRefs","parseOnOff","onParsed","parseOrder","nestedLevels","order","parsedOrderRefs","nestedOrder","parseNestedOrder","hiddenGroups","groupRef","MAX_NESTED_LEVELS","nestedName","creator","groups","destinationId","_readDests","NameTree","pageLabels","prefix","numberTree","NumberTree","nums","currentLabel","currentIndex","labelDict","st","LIMIT","A_UPPER_CASE","A_LOWER_CASE","baseCharCode","letterIndex","character","charBuf","jj","translatedFonts","translatedFont","loadedName","fallback","translated","nodesToVisit","visitedNodes","currentPageIndex","currentNode","kids","_ret","pagesBeforeRef","kidRef","parentRef","kidPromises","kid","_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","isValid","openAction","attachments","nameTree","fs","serializable","appendIfJavaScriptDict","jsDict","js","addDefaultProtocolToUrl","tryConvertUrlEncoding","actionType","actionName","urlDict","remoteDest","namedAction","jsAction","URL_OPEN_METHODS","regex","jsUrl","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","TAB","LF","CR","SPACE","PERCENT","readToken","skipUntil","what","dataLength","skipped","objRegExp","endobjRegExp","nestedObjRegExp","CHECK_CONTENT_LENGTH","trailerBytes","startxrefBytes","objBytes","xrefBytes","trailers","xrefStms","startPos","endPos","checkPos","tokenStr","objToken","xrefTagOffset","Parser","Lexer","allowStreams","rootDict","startXRefParsedCache","topDict","xrefEntry","cacheEntry","fetchUncompressed","fetchCompressed","makeSubStream","obj1","obj2","obj3","createCipherTransform","tableOffset","_num","fetchIfRefAsync","NameOrNumberTree","_type","_ii","kidsOrEntries","MAX_LEVELS","limits","_l","_r","_m","currentKey","_m2","mm","_currentKey","_NameOrNumberTree","_NameOrNumberTree2","contentAvailable","pickPlatformItem","_filename","contentRef","fileObj","mayHaveChildren","addChildren","_step7","_iterator7","rawValue","refSet","_walk","_callee4","nodesToRevisit","pendingRequests","baseStreams","foundMissingData","_i4","_ii2","_context4","getBaseStreams","requestRanges","_ccitt_stream","_jbig2_stream","_jpeg_stream","_jpx_stream","MAX_LENGTH_TO_CACHE","MAX_ADLER32_LENGTH","computeAdler32","bytesLength","_ref$allowStreams","_ref$recoveryMode","imageCache","refill","cipherTransform","makeInlineImage","makeStream","decryptString","maybeEIPos","I","NUL","followingBytes","knownCommands","nextObj","peekObj","endOffset","peekByte","markerLength","foundEOI","getUint16","findDefaultInlineStreamEnd","inlineStreamSkipEI","TILDE","tildePos","maybeEI","dictLength","beginInlineImagePos","filterName","filterZero","findDCTDecodeInlineStreamEnd","findASCII85DecodeInlineStreamEnd","findASCIIHexDecodeInlineStreamEnd","cacheKey","imageStream","imageBytes","initialStreamPos","dictBytes","createStream","SCAN_BLOCK_LENGTH","skipToNextLine","nextChar","tryShift","ENDSTREAM_SIGNATURE","actualLength","_findStreamLength","MAX_TRUNCATION","TRUNCATED_SIGNATURE","maybeLength","lastByte","makeFilter","filterArray","paramsArray","xrefStreamStats","PredictorStream","FlateStream","earlyChange","LZWStream","JpegStream","JpxStream","Ascii85Stream","AsciiHexStream","CCITTFaxStream","RunLengthStream","Jbig2Stream","specialChars","toHexDigit","_hexStringNumWarn","currentChar","eNotation","divideBy","sign","baseValue","powerValue","powerValueSign","currentDigit","peekChar","numParen","charBuffered","previousCh","x2","MAX_HEX_STRING_NUM_WARN","firstDigit","secondDigit","isFirstHex","_hexStringWarn","comment","getNumber","getString","getName","getHexString","knownCommandFound","possibleCommand","getInt","linDict","allowZeroValue","getHints","hintsLength","hints","hint","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","TILDA_CHAR","Z_LOWER_CHAR","UPSTREAM_BLOCK_SIZE","maxDecodeLength","repeatHeader","cachedData","bitsCached","maxLzwDictionarySize","lzwState","codeLength","nextCode","dictionaryValues","dictionaryLengths","dictionaryPrevCodes","currentSequence","currentSequenceLength","readBits","lastCode","blockSize","estimatedDecodedSize","decodedSizeDelta","prevCode","decodedLength","currentBufferLength","hasPrev","_ccitt","ccittFaxDecoder","CCITTFaxDecoder","K","EndOfLine","EncodedByteAlign","Columns","Rows","EndOfBlock","BlackIs1","readNextChar","ccittEOL","ccittEOF","twoDimPass","twoDimHoriz","twoDimVert0","twoDimVertR1","twoDimVertL1","twoDimVertR2","twoDimVertL2","twoDimVertR3","twoDimVertL3","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","encoding","eoline","byteAlign","rows","eoblock","black","codingLine","refLine","codingPos","row","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","_lookBits","_eatBits","refPos","blackPixels","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","a1","_findTableCode","limitValue","_jbig","jbig2Image","Jbig2Image","globalsStream","globals","parseChunks","_arithmetic_decoder","Jbig2Error","ContextCache","DecodingContext","decodeInteger","contextCache","procedure","decoder","contexts","getContexts","bit","readBit","decodeIAID","ArithmeticDecoder","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmapTemplate0","width","height","decodingContext","contextLabel","pixel","row1","row2","OLD_PIXEL_MASK","decodeBitmap","mmr","templateIndex","prediction","at","Reader","decodeMMRBitmap","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","i0","j0","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","sltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeSymbolDictionary","huffman","refinement","symbols","numberOfNewSymbols","numberOfExportedSymbols","huffmanTables","refinementTemplateIndex","refinementAt","huffmanInput","tableB1","symbolWidths","newSymbols","currentHeight","symbolCodeLength","getStandardTable","deltaHeight","tableDeltaHeight","decode","currentWidth","totalWidth","firstSymbol","deltaWidth","tableDeltaWidth","numberOfInstances","decodeTextRegion","symbolId","rdx","rdy","bitmapSize","tableBitmapSize","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","numberOfSymbolsDecoded","xMin","xMax","bitmapWidth","symbolBitmap","exportedSymbols","currentFlag","totalSymbolsLength","runLength","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","transposed","dsOffset","referenceCorner","combinationOperator","logStripSize","stripT","tableDeltaT","firstS","deltaT","deltaFirstS","tableFirstS","currentS","currentT","symbolIDTable","applyRefinement","symbolWidth","symbolHeight","rdw","rdh","s2","t2","symbolRow","offsetT","offsetS","maxWidth","deltaS","tableDeltaS","decodePatternDictionary","patternWidth","patternHeight","maxPatternIndex","collectiveWidth","patterns","patternBitmap","decodeHalftoneRegion","regionWidth","regionHeight","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","mmrInput","mg","ng","patternIndex","patternRow","regionRow","grayScaleBitPlanes","regionX","regionY","readSegmentHeader","segmentHeader","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionSegmentFlags","RegionSegmentInformationFieldLength","genericRegionMmr","searchPatternLength","searchPattern","headerEnd","readSegments","header","segments","randomAccess","processSegment","visitor","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","halftoneRegion","halftoneRegionFlags","genericRegion","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","parseJbig2Chunks","SimpleSegmentVisitor","parseJbig2","numberOfPages","_visitor$currentPageI","currentPageInfo","bitPacked","imgData","mask","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","line","isLeaf","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","buildTree","decodeTablesSegment","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","onPageInformation","rowSize","drawBitmap","regionInfo","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","getSymbolDictionaryHuffmanTables","customTables","referredSymbols","onImmediateTextRegion","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","onImmediateHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","decodeNode","htOffset","linesLength","prefixLengthMax","histogram","currentCode","currentTemp","currentLength","firstCode","standardTablesCache","currentByte","getCustomHuffmanTable","numberOfSymbols","runCodesTable","_codeLength","repeatedLength","numberOfRepeats","customIndex","tableAggregateInstances","endOfBlock","lookForEOFLimit","numBits","_parseJbig","QeTable","qe","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","_jpg","jpegOptions","decodeTransform","colorTransform","decodeArr","forceRGB","bitsPerComponent","decodeArrLength","transformNeeded","maxValue","jpegImage","JpegImage","getData","drawWidth","drawHeight","isSourcePDF","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","decodeBaseline","blockOffset","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","z","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACNextValue","successiveACState","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuRow","mcuCol","blockCol","h","decodeBlock","decodeFn","componentsLength","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","partialMsg","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","blocksPerColumnForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","extended","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_","pi","pj","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","currentTile","layersCount","codingStyleDefaultParameters","maxDecompositionLevelsCount","decompositionLevelsCount","nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","_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","valueReady","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","transformComponents","resultImages","transformedTiles","y2","tile0","out","multipleComponentTransform","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","initializeTile","qcdOrQcc","QCC","QCD","COC","headerSize","lbox","tbox","jumpDataLength","colorspace","parseCodestream","headerType","parseImageProperties","newByte","oldByte","doNotRecover","sqcd","spqcdSize","mainHeader","isSigned","qcd","noQuantization","spqcd","cqcc","qcc","cod","scod","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","precinctsSize","unsupported","partIndex","partsCount","levelsLength","levels","currentLevel","defaultValue","stopValue","propagateValues","levelIndex","UNIFORM_CONTEXT","RUNLENGTH_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","processedInverseMask","processedMask","firstMagnitudeBitMask","i1","decision","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","indexNext","width4","index0","significance","iNext","oneRowDown","twoRowsDown","threeRowsDown","indexBase","checkAllEmpty","allEmpty","hasSignificantCoefficent","i2","Transform","u0","ll","extend","j1","j2","hl_lh_hh","u","llWidth","llHeight","llItems","bufferPadding","rowBuffer","numBuffers","colBuffers","currentBuffer","current","alpha","beta","gamma","K_","calculateSHA512","calculateSHA384","calculateSHA256","PDF20","PDF17","ARCFourCipher","AES256Cipher","AES128Cipher","keyLength","encryptBlock","tmp2","decryptBlock","h0","h1","h2","h3","paddedLength","padded","w","rotateArg","Word64","highInteger","lowInteger","high","low","and","word","xor","or","shiftRight","places","shiftLeft","rotateRight","not","lowAdd","highAdd","copyTo","rotr","maj","sigma","sigmaPrime","littleSigma","littleSigmaPrime","h4","h5","h6","h7","t1","mode384","tmp3","tmp1","NullCipher","AESBaseCipher","_inv_s","_mix","_mixCol","bufferPosition","cipherKey","_keySize","_cyclesOfRepetition","_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","createEncryptionKey20","revision","uBytes","perms","passwordLength","pdfAlgorithm","prepareKeyData","hashDataSize","keyLengthInBytes","checkData","encryptionKey","derivedKey","decodeUserPassword","identityName","algorithm","cfDict","streamCryptoName","handlerDict","passwordBytes","fileIdBytes","decodedPassword","cf","stmf","strf","eff","buildObjectKey","isAes","buildCipherConstructor","cfm","cryptFilter","cipherConstructor","resizeRgbImage","w1","w2","COMPONENTS","oldIndex","xRatio","yRatio","newIndex","xScaled","w1Scanline","numComps","getRgbItem","decodeMap","bpc","isDefaultDecode","originalWidth","originalHeight","actualHeight","comps","numComponentColors","needsResizing","isPassthrough","allColors","colorMap","getRgbBuffer","rgbPos","destPos","_destPos","_rgbPos","localColorSpaceCache","parsedColorSpace","csName","csRef","localColorSpace","getByRef","_localColorSpace","getByName","_parseAsync","cs","_ref$resources","pdfFunctionFactory","_parse","_cache","parseAsync","_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","convertToFlat","sourceWhitePoint","LMS","convertToD65","D65X","D65Y","D65Z","sRGBTransferFunction","adjustToRange","decodeL","compensateBlackPoint","sourceBlackPoint","XYZ_Flat","zeroDecodeL","X_DST","X_SRC","Y_DST","Y_SRC","Z_DST","Z_SRC","X_Scale","X_Offset","Y_Scale","Y_Offset","Z_Scale","Z_Offset","normalizeWhitePointToFlat","XYZ_In","LMS_Flat","normalizeWhitePointToD65","LMS_D65","AGR","GR","BGG","GG","CGB","GB","X","MXA","MXB","MXC","MYA","MYB","MYC","Z","MZA","MZB","MZC","XYZ","XYZ_Black","XYZ_D65","SRGB","_ColorSpace8","_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$getAxialAligned","getAxialAlignedBoundingBox","_Util$getAxialAligned2","maxY","setContents","setModificationDate","setFlags","setRectangle","setColor","setBorderStyle","setAppearance","annotationFlags","borderStyle","contents","hasAppearance","appearance","modificationDate","flag","_hasFlag","dictType","setWidth","setStyle","setDashArray","setHorizontalCornerRadius","setVerticalCornerRadius","appearanceStates","normalAppearanceState","evaluator","renderForms","appearanceDict","_save","_isViewable","_isPrintable","dashArray","horizontalCornerRadius","verticalCornerRadius","maxHeight","allZeros","validNumber","radius","_Annotation","rawIRT","inReplyTo","replyType","setCreationDate","creationDate","hasPopup","_Annotation2","annotationType","fieldName","_constructFieldName","fieldValue","_decodeFormValue","alternativeText","defaultAppearance","fieldResources","fieldFlags","readOnly","hasFieldFlag","loopDict","formValue","_hasText","_getAppearance","_save2","AP","originalTransform","newTransform","bufferOriginal","bufferNew","writeDict","_getAppearance2","isPassword","defaultPadding","hPadding","totalHeight","fontInfo","_fontInfo","fontName","fontSize","descent","vPadding","alignment","renderedText","_getFontData","_computeFontSize","textAlignment","comb","_getCombAppearance","multiLine","_getMultilineAppearance","_renderText","_getFontData2","initialState","clone","_x10","_x11","em","charsToGlyphs","capHeight","fontRegex","text","glyphs","glyph","toFixed","_WidgetAnnotation","maximumLength","combWidth","renderedComb","_splitLine","padding","whitespace","lastSpacePos","startChunk","charWidth","_WidgetAnnotation2","checkedAppearance","uncheckedAppearance","checkBox","radioButton","pushButton","_processCheckBox","_processRadioButton","_processPushButton","savedAppearance","_save3","_callee5","_context5","_saveCheckbox","_saveRadioButton","_x12","_x13","_x14","_saveCheckbox2","_callee6","_context6","exportValue","_x15","_x16","_x17","_saveRadioButton2","_callee7","parentBuffer","parentTransform","_context7","buttonValue","_x18","_x19","_x20","customAppearance","normalAppearance","exportValues","fieldParent","fieldParentValue","_WidgetAnnotation3","option","isOptionArray","displayValue","combo","multiSelect","_MarkupAnnotation","_this8","DEFAULT_ICON_SIZE","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","handlePaintSolidColorImageMask","iFirstSave","fnArray","argsArray","iFirstPIMXO","imageMask","InitialState","iCurr","lastProcessed","MIN_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_IMAGES_IN_INLINE_IMAGES_BLOCK","MAX_WIDTH","IMAGE_PADDING","curr","iFirstTransform","iFirstPIIXO","maxLineHeight","currentX","currentY","img","imgWidth","imgHeight","dataOffset","MIN_IMAGES_IN_MASKS_BLOCK","MAX_IMAGES_IN_MASKS_BLOCK","MAX_SAME_IMAGES_IN_MASKS_BLOCK","iTransform","transformArgs","isSameImage","firstPIMXOArg0","firstTransformArg0","firstTransformArg1","firstTransformArg2","firstTransformArg3","iPIMXO","positions","images","maskParams","iFirstPIXO","firstPIXOArg0","MIN_IMAGES_IN_BLOCK","MAX_IMAGES_IN_BLOCK","iFirstSetFont","firstSetFontArg0","firstSetFontArg1","MIN_CHARS_IN_BLOCK","MAX_CHARS_IN_BLOCK","iFirstBeginText","iFirstSetTextMatrix","iFirstShowText","iFirstEndText","iFirst","iEndText","_optimize","NullOptimizer","CHUNK_SIZE","CHUNK_SIZE_ABOUT","streamSink","_streamSink","optimizer","dependencies","_totalLength","weight","_resolved","addDependency","addDependencies","getIR","transfers","cached","_transfers","writeValue","writeStream","writeArray","numberToString","roundedValue","writeInt","writeString","computeMD5","filesize","time","md5Buffer","md5BufferLen","_Object$values","_md5Buffer","originalData","baseOffset","refForXrefTable","xrefTableData","indexes","maxOffset","md5","offsetSize","sizes","structSize","tableLength","bufferLen","footer","_xrefTableData","_xrefTableData$_i","objOffset","_cmap","_fonts","_encodings","_unicode","_standard_fonts","_pattern","_function","_bidi","_glyphlist","_metrics","_murmurhash","_image","DefaultPartialEvaluatorOptions","freeze","PatternType","TILING","SHADING","deferred","normalizeBlendMode","parsingArray","maybeBM","TimeSlotManager","checked","CHECK_TIME_EVERY","endTime","TIME_SLOT_DURATION_MS","_ref$options","parsingType3Font","_fetchBuiltInCMapBound","fetchBuiltInCMap","newOptions","newEvaluator","nodes","graphicStates","graphicState","bm","xObjects","xObject","xResources","_fetchBuiltInCMap","readableStream","sendWithStream","pump","compressionType","_buildFormXObject","xobj","optionalContent","groupOptions","groupSubtype","colorSpace","parseMarkedContentProps","isolated","knockout","parseColorSpace","backdrop","buildFormXObject","cacheGlobally","_buildPaintImageXObject","image","_ref3$isInline","isInline","localImageCache","imageRef","bitStrideLength","imgArray","softMask","SMALL_IMAGE_DIMENSIONS","imageObj","PDFImage","createMask","imageIsFromDecodeStream","inverseDecode","res","_pdfFunctionFactory","createImageData","getDocId","shouldCache","buildImage","_sendImgData","addPageIndex","setData","buildPaintImageXObject","stateManager","smaskContent","smaskOptions","transferObj","isPDFFunction","transferFn","transferMap","tr","transferArray","transferMaps","numFns","numEffectfulFns","patternDict","tilingOpList","patternResources","getTilingPatternIR","tilingPatternIR","fontArgs","fontRef","loadFont","isType3Font","loadType3Data","type3Dependencies","TranslatedFont","ErrorFont","extraProperties","isAddToPathSet","textRenderingMode","fillColorSpace","buildFontPaths","_setGState","gState","localGStateCache","gStateRef","isSimpleGState","gStateObj","gStateKeys","handleSetFont","handleSMask","handleTransferFunction","errorFont","fontRes","fallbackFontDict","fontID","translatedPromise","fontCapability","preEvaluatedFont","preEvaluateFont","fontRefIsRef","fontAliases","aliasFontRef","putAlias","createFontId","translateFont","fontType","xrefFontStats","fontFile3","getFontType","parsingText","lastIndex","opArgs","_handleColorN","patternName","typeNum","shading","handleTilingType","Pattern","parseShading","handleColorN","_parseMarkedContentProps","contentProperties","optionalContentType","optionalContentGroups","groupIds","expression","ocg","policy","_ref6$initialState","EvalState","xobjs","StateManager","preprocessor","EvaluatorPreprocessor","timeSlotManager","closePendingRestoreOPS","savedStatesDepth","promiseBody","operation","localImage","resolveXObject","rejectXObject","_localImage","globalImage","_localImage2","ensureStateFont","handleText","combinedGlyphs","arrLength","arrItem","_cachedColorSpace","strokeColorSpace","shadingRes","patternIR","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","runBidiTransform","textChunk","bidiResult","bidi","buildTextContentItem","glyphWidth","vmetric","glyphUnicode","unicode","NormalizedUnicodes","getNormalizedUnicodes","reverseIfRtl","charSpacing","isSpace","wordSpacing","addFakeSpaces","tx","ty","w0","translateTextMatrix","fakeSpaces","flushTextContentItem","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","stdFontMap","getStdFontMap","lookupName","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","processBinaryCMap","readByte","_char","dataSize","ucs2DataSize","subitemsCount","readNumber","readHex","readHexNumber","mapOne","readSigned","mapCidRange","readHexSigned","mapBfRange","readString","stack","sp","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","adjustToUnicode","builtInEncoding","amend","recoverGlyphName","Glyph","operatorListId","isInFont","matchesForCache","charCodeOf","OpenTypeFileBuilder","writeInt16","writeInt32","writeData","sfnt","tables","entriesCount","entrySize","maxPower2","searchRange","rangeShift","OTF_HEADER_SIZE","OTF_TABLE_ENTRY_SIZE","toArray","tablesNames","tableName","numTables","tableOffsets","checksum","quad","addTable","missingFile","glyphCache","toFontChar","fallbackToSystemFont","_getFontFileType","getFontFileType","_getFontFileType2","mimetype","cff","CFFFont","Type1Font","convert","checkAndRepair","isOpenType","seacMap","int16","writeSignedInt16","signedInt16","int32","string16","safeString16","isTrueTypeFile","isTrueTypeCollectionFile","isOpenTypeFile","isType1File","isCFFFile","fileType","fileSubtype","buildToFontChar","adjustMapping","charCodeToGlyphId","hasGlyph","newGlyphZeroId","newMap","privateUseAreaIndex","nextAvailableFontCharCode","privateUseOffetEnd","originalCharCode","glyphId","fontCharCode","getRanges","numGlyphs","codeIndices","createCmapTable","bmpLength","trailingRangesCount","segCount","startCount","endCount","idDeltas","idRangeOffsets","glyphsIds","contiguous","startCode","format314","format31012","header31012","validateOS2Table","os2","selection","usWinAscent","createOS2Table","charstrings","override","unitsPerEm","yMax","yMin","ulUnicodeRange1","ulUnicodeRange2","ulUnicodeRange3","ulUnicodeRange4","firstCharIndex","lastCharIndex","getUnicodeRangeFor","ascentScaled","typoAscent","typoDescent","winAscent","winDescent","createPostTable","angle","createNameTable","strings","stringsUnicode","strBufUnicode","platforms","encodings","languages","namesRecordCount","nameTable","strOffset","strs","nameRecord","FontRendererFactory","exportDataProperties","nonStdFontMap","getNonStdFontMap","isStandardFont","remeasure","GlyphMapForStandardFonts","getGlyphMapForStandardFonts","SupplementalGlyphMapForArialBlack","getSupplementalGlyphMapForArialBlack","_charCode","SupplementalGlyphMapForCalibri","getSupplementalGlyphMapForCalibri","_charCode2","isIdentityUnicode","unicodeCharCode","getDingbatsGlyphsUnicode","_GlyphMapForStandardFonts","_charCode3","VALID_TABLES","readTables","hhea","hmtx","maxp","readTableEntry","previousPosition","readOpenTypeHeader","ttf","entrySelector","readTrueTypeCollectionHeader","ttc","ttcTag","majorVersion","minorVersion","numFonts","offsetTable","dsigTag","dsigLength","dsigOffset","readTrueTypeCollectionData","_readTrueTypeCollecti","potentialHeader","potentialTables","readNameTable","nameEntry","readCmapTable","platformId","encodingId","mappings","hasShortCmap","potentialTable","canBreak","useTable","format","segIndex","offsetsCount","rangeOffset","offsetIndex","offsets","sanitizeMetrics","dupFirstEntry","numOfMetrics","numOfSidebearings","numMissing","sanitizeGlyph","sourceStart","sourceEnd","hintsValid","glyphProfile","sizeOfInstructions","glyf","contoursCount","flagsCount","endPoint","instructionsStart","instructionsLength","instructionsEnd","coordinatesLength","xLength","yLength","xyLength","glyphDataLength","sanitizeHead","locaLength","indexToLocFormat","numGlyphsPlusOne","sanitizeGlyphLocations","loca","isGlyphLocationsLong","maxSizeOfInstructions","itemSize","itemDecode","itemEncode","numGlyphsOut","locaDataSize","locaData","oldGlyfData","oldGlyfDataLength","newGlyfData","locaEntries","missingGlyphs","writeOffset","simpleGlyph","firstEntryLength","readPostScriptTable","propertiesObj","maxpNumGlyphs","glyphNames","valid","glyphNameIndexes","customNames","FORMAT_0_HEADER_LENGTH","numRecords","stringsStart","records","NAME_RECORD_LENGTH","platform","language","nameIndex","cffFile","TTOpsStackDeltas","sanitizeTTProgram","ttContext","funcId","lastEndf","lastDeff","callstack","functionsCalled","tooComplexToFollowFunctions","inFDEF","ifLevel","inELSE","op","functionsStackDeltas","stackTop","functionsDefined","functionsUsed","newStackLength","stackDelta","foldTTTable","checkInvalidFunctions","maxFunctionDefs","sanitizeTTPrograms","fpgm","prep","cvt","cvtData","ttcData","isTrueType","isComposite","maxZones","glyphsInfo","metricsOverride","isCidToGidMapEmpty","cmapTable","cmapPlatformId","cmapEncodingId","cmapMappings","cmapMappingsLength","standardGlyphName","unicodeOrCharCode","_charCode4","glyphZeroId","newMapping","CFFParser","duplicateFirstGlyph","compiler","CFFCompiler","compile","namePrototype","builder","tableTag","getGlyphMapping","hasGlyphId","getCharCodes","charCodes","createCharCode","seacs","charset","getCharset","seac","baseGlyphName","accentGlyphName","baseGlyphId","accentGlyphId","accentOffset","baseFontCharCode","accentFontCharCode","tan","cffWidths","_i5","charstring","possibleSpaceReplacements","charToGlyph","widthCode","mapSpecialUnicodeValues","charsCache","charsCacheKey","readCharCode","type1FontGlyphMapping","findBlock","streamBytes","startIndex","streamBytesLength","getHeaderBlock","suggestedLength","headerBytes","headerBytesLength","EEXEC_SIGNATURE","streamStartPos","getEexecBlock","eexecBytes","PFB_HEADER_SIZE","headerBlockLength","eexecBlockLength","pfbHeader","pfbHeaderPresent","headerBlock","headerBlockParser","Type1Parser","extractFontHeader","eexecBlock","eexecBlockParser","extractFontProgram","type2Charstrings","getType2Charstrings","subrs","getType2Subrs","getSeacs","_glyphId","charstringsLen","_charCode5","type1Charstrings","type1Subrs","type2Subrs","CFF","CFFHeader","CFFTopDict","setByName","CFFStrings","globalSubrIndex","CFFIndex","charsetArray","CFFStandardStrings","CFFCharset","charStringsIndex","charStrings","privateDict","CFFPrivateDict","privateData","subrIndex","subrsIndex","charsets","isCIDFont","CFFFDSelect","_charsets","MAX_SUBR_NESTING","NUM_STANDARD_CFF_STRINGS","CharstringValidationData","stackClearing","stem","resetStack","undefStack","CharstringValidationData12","stackFn","seacAnalysisEnabled","parseHeader","parseIndex","topDictIndex","stringIndex","topDictParsed","parseDict","createDict","parseNameIndex","parseStringIndex","parsePrivateDict","hasName","charStringOffset","charStringIndex","fontBBox","fdArrayIndex","dictRaw","fontDict","fdArray","parseCharsets","fdSelect","parseFDSelect","parseEncoding","charStringsAndSeacs","parseCharStrings","localSubrIndex","hdrSize","offSize","parseOperand","parseFloatOperand","operands","cffIndex","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","readSupplement","supplementsCount","sid","ExpertEncoding","dataStart","glyphsCount","rangesCount","gid","CFFEncoding","glyphZero","objects","CFFDict","keyToNameMap","nameToKeyMap","defaults","types","opcodes","valueLength","layout","_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","MacExpertEncoding","encodingName","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","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","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","hexStr","nameLen","toUpperCase","UnicodeRanges","isRTLRangeFor","charsLength","getLong","getUshort","getSubroutineBias","numSubrs","parseCmap","idDelta","idOffset","parseCff","gsubrs","isCFFCIDFont","parseGlyfTable","lookupCmap","compileGlyf","cmds","quadraticCurveTo","xa","ya","numberOfContours","arg1","arg2","scale01","scale10","subglyph","endPtsOfContours","instructionLength","numberOfPoints","points","startPoint","contour","compileCharString","charStringCode","bezierCurveTo","stems","xb","yb","y3","subrCode","stackClean","subrsBias","achar","bchar","glyphNameMap","gsubrsBias","NOOP","CompiledFont","compiledGlyphs","compiledCharCodeToGlyphId","compileGlyph","compileGlyphImpl","TrueTypeCompiled","_CompiledFont","Type2Compiled","_CompiledFont2","cffInfo","HINTING_ENABLED","Type1CharString","COMMAND_MAP","hstem","vstem","vmoveto","rlineto","hlineto","vlineto","rrcurveto","callsubr","flex","drop","endchar","rmoveto","hmoveto","vhcurveto","hvcurveto","lsb","flexing","wx","sbx","executeCommand","dy","asb","sby","num2","num1","flexArgs","howManyArgs","command","keepStack","stackLength","EEXEC_ENCRYPT_KEY","CHAR_STRS_ENCRYPT_KEY","isHexDigit","discardNumber","c1","c2","decrypted","decryptAscii","digit1","digit2","encrypted","isBinary","readNumberArray","getToken","readInt","readBoolean","readCharStrings","lenIV","program","blueArray","charString","charStringObject","_index","encodingArg","ShadingType","FUNCTION_BASED","AXIAL","RADIAL","FREE_FORM_MESH","LATTICE_FORM_MESH","COONS_PATCH_MESH","TENSOR_PATCH_MESH","getPattern","ctx","Shadings","RadialAxial","Mesh","Dummy","xstep","ystep","paintType","tilingType","SMALL_NUMBER","coordsArr","shadingType","domainArr","extendStart","extendEnd","extendArr","r1","r2","distance","fnObj","createFromArray","NUMBER_OF_SAMPLES","colorStops","cssColor","makeCssRgb","background","r0","singularValueDecompose2dScale","MeshStreamReader","tmpCompsBuf","csNumComps","tmpCsCompsBuf","colorFn","decodeType4Shading","mesh","coords","operators","ps","verticesLeft","hasData","readFlag","coord","readCoordinate","readComponents","align","figures","decodeType5Shading","verticesPerRow","bitsPerFlag","bitsPerCoordinate","yi","ci","MIN_SPLIT_PATCH_CHUNKS_AMOUNT","MAX_SPLIT_PATCH_CHUNKS_AMOUNT","TRIANGLE_DENSITY","getB","buildB","lut","t_","buildFigureFromPatch","figure","figureMinX","figureMinY","figureMaxX","figureMaxY","splitXBy","bounds","splitYBy","figureCoords","figureColors","cl","cr","c0","c3","bRow","bCol","newColor","decodeType6Shading","tmp4","decodeType7Shading","updateBounds","packData","coordsPacked","xy","colorsPacked","decodeContext","patchMesh","PostScriptCompiler","PostScriptEvaluator","_ps_parser","_ref$isEvalSupported","_localFunctionCache","cachedFunction","parsedFunction","PDFFunction","parseArray","fnRef","localFunction","toNumberArray","CONSTRUCT_SAMPLED","CONSTRUCT_INTERPOLATED","CONSTRUCT_STICHED","CONSTRUCT_POSTSCRIPT","getSampleArray","outputSize","bps","sampleMul","strBytes","strIdx","constructSampled","constructInterpolated","constructStiched","constructPostScript","typeFn","fromIR","IR","constructSampledFromIR","constructInterpolatedFromIR","constructStichedFromIR","constructPostScriptFromIR","toMultiArray","inputSize","samples","interpolate","xmin","xmax","ymin","ymax","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","MAX_CACHE_SIZE","cache_available","cachedValue","execute","stackIndex","bound","fnDict","PostScriptStack","MAX_STACK_SIZE","initialStack","copy","roll","operator","atan","cos","LN10","sin","AstNode","AstArgument","AstLiteral","AstBinaryOperation","AstMin","AstVariable","AstVariableDefinition","ExpressionBuilderVisitor","buildAddOperation","buildMulOperation","buildSubOperation","buildMinOperation","visit","visitArgument","visitLiteral","visitBinaryOperation","visitMin","visitVariable","visitVariableDefinition","literal","definition","ast1","ast2","tmpVar","instructions","lastRegister","instruction","statementBuilder","expr","nextToken","accept","expect","PostScriptTokenTypes","LBRACE","parseBlock","RBRACE","NUMBER","OPERATOR","parseCondition","conditionLocation","IF","jumpLocation","endOfTrue","IFELSE","PostScriptToken","opCache","opValue","getOperator","baseTypes","arabicTypes","isOdd","isEven","findUnequal","setValues","reverseValues","createBidiText","isLTR","startLevel","strLength","numBidi","charType","sor","eor","lastType","before","after","highestLevel","lowestOddLevel","Courier","SEED","MASK_HIGH","MASK_LOW","seed","blockCounts","tailLength","dataUint32","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","decodeAndClamp","addend","coefficient","resizeImageMask","_ref$isInline","_ref$smask","_ref$mask","_ref$isMask","isMask","matte","needsDecode","decodeCoefficients","decodeAddends","isIndexed","maskDict","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","_buildImage","_ref2$isInline","imageData","smaskData","maskData","computedLength","haveFullData","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","ah","_postMessage","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","_deleteStreamController2","_msgHandler","_contentLength","_fullRequestReader","_rangeRequestReaders","PDFWorkerStreamReader","PDFWorkerStreamRangeReader","readers","_isRangeSupported","_isStreamingSupported","_headersReady","_read","_yield$this$_reader$r","_read2","_yield$this$_reader$r2","base64","ieee754","typedArraySupport","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","isEncoding","actual","fromArrayLike","isBuffer","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","indexSize","valLength","readUInt16BE","foundIndex","hexWrite","parsed","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","MAX_ARGUMENTS_LENGTH","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","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","trim","units","leadSurrogate","byteArray","hi","lo"],"mappings":"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S,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,SAClS6pD,EAAkB,CAAC,IAAI7pD,WAAW,CAAC,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,KAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,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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AAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGA,GAAe,CAAC,EAAGD,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,GAAc,CAAC,EAAGA,IAC/wEQ,EAAc,CAAC,EAAE,GAAI,GAAI,CAAC,GAAIZ,GAAW,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,OAC9Wa,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,MAAO,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,KAAM,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IACx3IC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAId,GAAW,CAAC,GAAIA,GAAW,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,MAAO,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAC53Ce,EAAc,CAAC,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,GAAI,KAAM,CAAC,GAAI,KAAM,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,IAAK,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,GAAI,GAAI,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,IAAK,CAAC,EAAG,KACjwDC,EAAc,CAAC,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,EAAE,GAAI,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,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ACJosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,EAAG,GACF,CACDpsF,GAAI,EACJosF,EAAG,GACF,CACDpsF,GAAI,EACJosF,EAAG,GACF,CACDpsF,GAAI,EACJosF,EAAG,IACD,CAAC,CACHpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,EAAG,GACF,CACDpsF,GAAI,EACJosF,EAAG,GACF,CACDpsF,GAAI,EACJosF,EAAG,IACD,CAAC,CACHpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,EAAG,GACF,CACDpsF,GAAI,EACJosF,EAAG,IACD,CAAC,CACHpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,EAAG,EACHosF,GAAI,GACH,CACDpsF,GAAI,EACJosF,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AAI,KACJC,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,IACJC,KAAM,GACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,EACNC,KAAM,EACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,EACNC,KAAM,GACNC,WAAY,GACX,CACDH,GAAI,MACJC,KAAM,EACNC,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,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,KAA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,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,KACphDuC,KAAKm3H,OAAS,IAAI15H,WAAW,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM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,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,IACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,GACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,IAAM,IACRA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,KACTA,EAAE,KAAO,KACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,IACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,KAAO,MACTA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,IACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,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,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,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ,KACVA,EAAE,MAAQ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5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,MAEN,CACC4sE,MAAO,KACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,MAAO,MACP5sE,IAAK,OAEN,CACC4sE,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,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,OACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,OACdA,EAAE,KAAY,UACdA,EAAE,KAAY,SACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,KACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,MACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE,KAAY,IACdA,EAAE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M,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,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","file":"1e4ac91c0c4786ffbd80.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 = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"b4a5\");\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\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 }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/**\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\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf.worker\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf.worker\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf.worker\"] = root.pdfjsWorker = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"WorkerMessageHandler\", {\n enumerable: true,\n get: function get() {\n return _worker.WorkerMessageHandler;\n }\n});\n\nvar _worker = __w_pdfjs_require__(1);\n\nvar pdfjsVersion = '2.6.347';\nvar pdfjsBuild = '3be9c65f';\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WorkerMessageHandler = exports.WorkerTask = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _pdf_manager = __w_pdfjs_require__(203);\n\nvar _writer = __w_pdfjs_require__(224);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(243);\n\nvar _worker_stream = __w_pdfjs_require__(244);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WorkerTask = /*#__PURE__*/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\nexports.WorkerTask = WorkerTask;\n\nvar WorkerMessageHandler = /*#__PURE__*/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( /*#__PURE__*/_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\nexports.WorkerMessageHandler = WorkerMessageHandler;\n\nfunction isMessagePort(maybePort) {\n return typeof maybePort.postMessage === \"function\" && \"onmessage\" in maybePort;\n}\n\nif (typeof window === \"undefined\" && !_is_node.isNodeJS && typeof self !== \"undefined\" && isMessagePort(self)) {\n WorkerMessageHandler.initializeFromPort(self);\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined;\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function 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\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = [];\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.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\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar StreamType = {\n UNKNOWN: \"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};\nexports.StreamType = StreamType;\nvar 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};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n 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};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n 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\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nvar 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\nexports.BaseException = BaseException;\n\nvar PasswordException = /*#__PURE__*/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\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/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\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/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\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/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\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/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\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/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\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/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\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && _typeof(bytes) === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\nfunction 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\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nvar IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nvar rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nvar Util = /*#__PURE__*/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\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n var 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\nfunction escapeString(str) {\n return str.replace(/([\\(\\)\\\\])/g, \"\\\\$1\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return _typeof(v) === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction 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\nfunction createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get: function get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.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\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(7);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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\nif (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/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(9);\nmodule.exports = __w_pdfjs_require__(11);\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar setGlobal = __w_pdfjs_require__(30);\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar isForced = __w_pdfjs_require__(52);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n redefine(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar has = __w_pdfjs_require__(23);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (has(O, P))\n return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IndexedObject = __w_pdfjs_require__(18);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar split = ''.split;\nmodule.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/***/ (function(module, exports) {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (it == undefined)\n throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar createElement = __w_pdfjs_require__(25);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(24);\nvar anObject = __w_pdfjs_require__(28);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar setGlobal = __w_pdfjs_require__(30);\nvar inspectSource = __w_pdfjs_require__(31);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar 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 if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name'))\n createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple)\n O[key] = value;\n else\n setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple)\n O[key] = value;\n else\n 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/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar store = __w_pdfjs_require__(32);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setGlobal = __w_pdfjs_require__(30);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar objectHas = __w_pdfjs_require__(23);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar inspectSource = __w_pdfjs_require__(31);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(38);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(32);\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/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar ownKeys = __w_pdfjs_require__(41);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key))\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar anObject = __w_pdfjs_require__(28);\nmodule.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/* 42 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar global = __w_pdfjs_require__(11);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.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/* 43 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar indexOf = __w_pdfjs_require__(46).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(39);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toLength = __w_pdfjs_require__(47);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar createMethod = function (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)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(54);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'startsWith');\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n 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/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isRegExp = __w_pdfjs_require__(56);\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n }\n return it;\n};\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar shared = __w_pdfjs_require__(36);\nvar has = __w_pdfjs_require__(23);\nvar uid = __w_pdfjs_require__(38);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name))\n WellKnownSymbolsStore[name] = Symbol[name];\n else\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar MATCH = wellKnownSymbol('match');\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\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/* 61 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar bind = __w_pdfjs_require__(62);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar aFunction = __w_pdfjs_require__(63);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n return fn;\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(65);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'endsWith');\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar toLength = __w_pdfjs_require__(47);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n$({\n 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/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(67);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'includes');\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar notARegExp = __w_pdfjs_require__(55);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar correctIsRegExpLogic = __w_pdfjs_require__(60);\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/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(69);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('Array', 'includes');\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $includes = __w_pdfjs_require__(46).includes;\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar arrayMethodUsesToLength = __w_pdfjs_require__(75);\nvar 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});\naddToUnscopables('includes');\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar create = __w_pdfjs_require__(71);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar defineProperties = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(50);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(25);\nvar sharedKey = __w_pdfjs_require__(35);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\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};\nvar activeXDocument;\nvar NullProtoObject = function () {\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 while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar anObject = __w_pdfjs_require__(28);\nvar objectKeys = __w_pdfjs_require__(73);\nmodule.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 while (length > index)\n definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar internalObjectKeys = __w_pdfjs_require__(45);\nvar enumBugKeys = __w_pdfjs_require__(50);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = Object.defineProperty;\nvar cache = {};\nvar thrower = function (it) {\n throw it;\n};\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME))\n return cache[METHOD_NAME];\n if (!options)\n 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)\n return true;\n var O = { length: -1 };\n if (ACCESSORS)\n defineProperty(O, 1, {\n enumerable: true,\n get: thrower\n });\n else\n O[1] = 1;\n method.call(O, argument0, argument1);\n });\n};\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(89);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Array.from;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(78).charAt;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(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)\n 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/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar createMethod = function (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)\n 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};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar Iterators = __w_pdfjs_require__(86);\nvar IteratorsCore = __w_pdfjs_require__(81);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || 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 if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\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 setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return nativeIterator.call(this);\n };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar Iterators = __w_pdfjs_require__(86);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nif (IteratorPrototype == undefined)\n IteratorPrototype = {};\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar has = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(83);\nvar sharedKey = __w_pdfjs_require__(35);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.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/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar has = __w_pdfjs_require__(23);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.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/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aPossiblePrototype = __w_pdfjs_require__(88);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\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)\n setter.call(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar from = __w_pdfjs_require__(90);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n$({\n target: 'Array',\n stat: true,\n forced: INCORRECT_ITERATION\n}, { from: from });\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(62);\nvar toObject = __w_pdfjs_require__(83);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.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)\n mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (; !(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n step.value,\n index\n ], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (; length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nmodule.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)\n anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar Iterators = __w_pdfjs_require__(86);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(95);\nvar Iterators = __w_pdfjs_require__(86);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classofRaw = __w_pdfjs_require__(19);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.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/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(99);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.assign;\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar assign = __w_pdfjs_require__(100);\n$({\n target: 'Object',\n stat: true,\n forced: Object.assign !== assign\n}, { assign: assign });\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fails = __w_pdfjs_require__(14);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar toObject = __w_pdfjs_require__(83);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1)\n 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 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 while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n T[key] = S[key];\n }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(102);\n__w_pdfjs_require__(103);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.fromEntries;\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(86);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar defineIterator = __w_pdfjs_require__(79);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.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 if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar iterate = __w_pdfjs_require__(104);\nvar createProperty = __w_pdfjs_require__(93);\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/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isArrayIteratorMethod = __w_pdfjs_require__(92);\nvar toLength = __w_pdfjs_require__(47);\nvar bind = __w_pdfjs_require__(62);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(91);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar 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 if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function')\n throw TypeError('Target is not iterable');\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)\n return result;\n }\n return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result)\n return result;\n }\n return new Result(false);\n};\niterate.stop = function (result) {\n return new Result(true, result);\n};\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(106);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Math.log2;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar log = Math.log;\nvar 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/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(108);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isNaN;\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\n$({\n target: 'Number',\n stat: true\n}, {\n isNaN: function isNaN(number) {\n return number != number;\n }\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(110);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Number.isInteger;\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar isInteger = __w_pdfjs_require__(111);\n$({\n target: 'Number',\n stat: true\n}, { isInteger: isInteger });\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(113);\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(114);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar fails = __w_pdfjs_require__(14);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $slice = [].slice;\nvar FORCED = fails(function () {\n new Int8Array(1).slice();\n});\nexportTypedArrayMethod('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 while (length > index)\n result[index] = list[index++];\n return result;\n}, FORCED);\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(115);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(95);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar uid = __w_pdfjs_require__(38);\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar isPrototypeOf = ObjectPrototype.isPrototypeOf;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar isView = function isView(it) {\n var klass = classof(it);\n return klass === 'DataView' || has(TypedArrayConstructorsList, klass);\n};\nvar isTypedArray = function (it) {\n return isObject(it) && has(TypedArrayConstructorsList, classof(it));\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (setPrototypeOf) {\n if (isPrototypeOf.call(TypedArray, C))\n return C;\n } else\n for (var ARRAY in TypedArrayConstructorsList)\n if (has(TypedArrayConstructorsList, NAME)) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {\n return C;\n }\n }\n throw TypeError('Target is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n if (!DESCRIPTORS)\n return;\n if (forced)\n for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {\n delete TypedArrayConstructor.prototype[KEY];\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n return;\n if (setPrototypeOf) {\n if (forced)\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {\n delete TypedArrayConstructor[KEY];\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 }\n } else\n return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n redefine(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n if (!global[NAME])\n NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList)\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\nmodule.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/***/ (function(module, exports) {\n\nmodule.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar aFunction = __w_pdfjs_require__(63);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.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/* 117 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\n__w_pdfjs_require__(122);\n__w_pdfjs_require__(136);\n__w_pdfjs_require__(137);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar redefine = __w_pdfjs_require__(29);\nvar toString = __w_pdfjs_require__(119);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);\nvar classof = __w_pdfjs_require__(95);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar DOMIterables = __w_pdfjs_require__(121);\nvar ArrayIteratorMethods = __w_pdfjs_require__(102);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n if (CollectionPrototype[ITERATOR] !== ArrayValues)\n try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME])\n for (var METHOD_NAME in ArrayIteratorMethods) {\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n 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/* 121 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar NativePromise = __w_pdfjs_require__(123);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar setSpecies = __w_pdfjs_require__(125);\nvar isObject = __w_pdfjs_require__(22);\nvar aFunction = __w_pdfjs_require__(63);\nvar anInstance = __w_pdfjs_require__(126);\nvar classof = __w_pdfjs_require__(19);\nvar inspectSource = __w_pdfjs_require__(31);\nvar iterate = __w_pdfjs_require__(104);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar task = __w_pdfjs_require__(127).set;\nvar microtask = __w_pdfjs_require__(130);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar hostReportErrors = __w_pdfjs_require__(133);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar isForced = __w_pdfjs_require__(52);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n if (V8_VERSION === 66)\n return true;\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function')\n return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () {\n }, function () {\n });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, state, isReject) {\n if (state.notified)\n 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 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 try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED)\n onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true)\n result = value;\n else {\n if (domain)\n domain.enter();\n result = handler(value);\n if (domain) {\n domain.exit();\n exited = true;\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\n resolve(result);\n } else\n reject(value);\n } catch (error) {\n if (domain && !exited)\n domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection)\n onUnhandled(promise, state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else\n event = {\n promise: promise,\n reason: reason\n };\n if (handler = global['on' + name])\n handler(event);\n else if (name === UNHANDLED_REJECTION)\n hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else\n dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error)\n throw result.value;\n }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else\n dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done)\n return;\n state.done = true;\n if (unwrap)\n state = unwrap;\n try {\n if (promise === value)\n throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n 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, { done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\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 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)\n notify(this, state, false);\n return reaction.promise;\n },\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\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 newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\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 }, { unsafe: true });\n if (typeof $fetch == 'function')\n $({\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 global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = 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)\n return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error)\n 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)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar redefine = __w_pdfjs_require__(29);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar fails = __w_pdfjs_require__(14);\nvar classof = __w_pdfjs_require__(19);\nvar bind = __w_pdfjs_require__(62);\nvar html = __w_pdfjs_require__(74);\nvar createElement = __w_pdfjs_require__(25);\nvar IS_IOS = __w_pdfjs_require__(128);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i)\n args.push(arguments[i++]);\n queue[++counter] = function () {\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n } else if (Dispatch && Dispatch.now) {\n defer = function (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 (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getBuiltIn = __w_pdfjs_require__(42);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;\nvar classof = __w_pdfjs_require__(19);\nvar macrotask = __w_pdfjs_require__(127).set;\nvar IS_IOS = __w_pdfjs_require__(128);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain))\n parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head)\n notify();\n else\n last = undefined;\n throw error;\n }\n }\n last = undefined;\n if (parent)\n parent.enter();\n };\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n } else if (Promise && Promise.resolve) {\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n } else {\n notify = function () {\n macrotask.call(global, flush);\n };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n fn: fn,\n next: undefined\n };\n if (last)\n last.next = task;\n if (!head) {\n head = task;\n notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar newPromiseCapability = __w_pdfjs_require__(132);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(63);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined)\n throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports) {\n\nmodule.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/* 135 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar userAgent = __w_pdfjs_require__(129);\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match)\n version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar aFunction = __w_pdfjs_require__(63);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(132);\nvar perform = __w_pdfjs_require__(134);\nvar iterate = __w_pdfjs_require__(104);\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)\n return;\n alreadyCalled = true;\n values[index] = {\n status: 'fulfilled',\n value: value\n };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled)\n 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)\n reject(result.value);\n return capability.promise;\n }\n});\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar NativePromise = __w_pdfjs_require__(123);\nvar fails = __w_pdfjs_require__(14);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar speciesConstructor = __w_pdfjs_require__(116);\nvar promiseResolve = __w_pdfjs_require__(131);\nvar redefine = __w_pdfjs_require__(29);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n then: function () {\n }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n}, {\n 'finally': function (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});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(139);\n__w_pdfjs_require__(144);\n__w_pdfjs_require__(142);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(77);\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar global = __w_pdfjs_require__(11);\nvar defineProperties = __w_pdfjs_require__(72);\nvar redefine = __w_pdfjs_require__(29);\nvar anInstance = __w_pdfjs_require__(126);\nvar has = __w_pdfjs_require__(23);\nvar assign = __w_pdfjs_require__(100);\nvar arrayFrom = __w_pdfjs_require__(90);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\nvar toASCII = __w_pdfjs_require__(141);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar URLSearchParamsModule = __w_pdfjs_require__(142);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']')\n return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result)\n return INVALID_HOST;\n url.host = result;\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input))\n return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null)\n return INVALID_HOST;\n url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '')\n return input;\n radix = 10;\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 if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength))\n return null;\n } else if (number > 255)\n return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n return input.charAt(pointer);\n };\n if (char() == ':') {\n if (input.charAt(1) != ':')\n return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8)\n return;\n if (char() == ':') {\n if (compress !== null)\n return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0)\n return;\n pointer -= length;\n if (pieceIndex > 6)\n return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4)\n pointer++;\n else\n return;\n }\n if (!DIGIT.test(char()))\n return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null)\n ipv4Piece = number;\n else if (ipv4Piece == 0)\n return;\n else\n ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255)\n return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4)\n pieceIndex++;\n }\n if (numbersSeen != 4)\n return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char())\n return;\n } else if (char())\n return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\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)\n return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null)\n currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n }\n return result.join('.');\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0)\n continue;\n if (ignore0)\n ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7)\n result += ':';\n }\n }\n return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (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};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (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 var codePoints, char, bufferCodePoints, failure;\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 input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else\n return INVALID_SCHEME;\n break;\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n url.port = null;\n return;\n }\n buffer = '';\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\n return INVALID_SCHEME;\n break;\n case NO_SCHEME:\n if (!base || base.cannotBeABaseURL && char != '#')\n return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\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 state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n }\n break;\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == 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 (char == '/' || char == '\\\\' && isSpecial(url)) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\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 (char == '#') {\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 break;\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\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 break;\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/')\n continue;\n pointer++;\n break;\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n }\n break;\n case AUTHORITY:\n if (char == '@') {\n if (seenAt)\n buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken)\n url.password += encodedCodePoints;\n else\n url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (seenAt && buffer == '')\n return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else\n buffer += char;\n break;\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '')\n return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME)\n return;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n if (isSpecial(url) && buffer == '')\n return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n return;\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride)\n return;\n continue;\n } else {\n if (char == '[')\n seenBracket = true;\n else if (char == ']')\n seenBracket = false;\n buffer += char;\n }\n break;\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF)\n return INVALID_PORT;\n url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n buffer = '';\n }\n if (stateOverride)\n return;\n state = PATH_START;\n continue;\n } else\n return INVALID_PORT;\n break;\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\')\n state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\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 state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n }\n break;\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true))\n url.path.push(base.path[0]);\n else\n url.host = base.host;\n }\n state = PATH;\n continue;\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride)\n return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure)\n return failure;\n if (url.host == 'localhost')\n url.host = '';\n if (stateOverride)\n return;\n buffer = '';\n state = PATH_START;\n }\n continue;\n } else\n buffer += char;\n break;\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\')\n continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/')\n continue;\n }\n break;\n case PATH:\n if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host)\n url.host = '';\n buffer = buffer.charAt(0) + ':';\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n }\n break;\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url))\n url.query += '%27';\n else if (char == '#')\n url.query += '%23';\n else\n url.query += percentEncode(char, C0ControlPercentEncodeSet);\n }\n break;\n case FRAGMENT:\n if (char != EOF)\n url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n pointer++;\n }\n};\nvar 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, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor)\n baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure)\n throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\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};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\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 if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null)\n output += ':' + port;\n } else if (scheme == 'file')\n output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n output += '?' + query;\n if (fragment !== null)\n output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url))\n return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\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};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: getter,\n set: setter,\n configurable: true,\n enumerable: true\n };\n};\nif (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)\n 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))\n return;\n url.username = '';\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))\n return;\n url.password = '';\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)\n return;\n parseURL(url, String(host), HOST);\n }),\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url))\n return;\n port = String(port);\n if (port == '')\n url.port = null;\n else\n parseURL(url, port, PORT);\n }),\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL)\n 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 if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0))\n search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\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 if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0))\n hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n if (nativeRevokeObjectURL)\n redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.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/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\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 return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (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 for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n var q = delta;\n for (var k = base;; k += base) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t)\n 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 output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n ++delta;\n ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n__w_pdfjs_require__(102);\nvar $ = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar USE_NATIVE_URL = __w_pdfjs_require__(140);\nvar redefine = __w_pdfjs_require__(29);\nvar redefineAll = __w_pdfjs_require__(124);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar createIteratorConstructor = __w_pdfjs_require__(80);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar anInstance = __w_pdfjs_require__(126);\nvar hasOwn = __w_pdfjs_require__(23);\nvar bind = __w_pdfjs_require__(62);\nvar classof = __w_pdfjs_require__(95);\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar getIterator = __w_pdfjs_require__(143);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\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};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n throw TypeError('Not enough arguments');\n};\nvar 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 if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n entry.key,\n entry.value\n ];\n }\n return step;\n});\nvar 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 () {\n },\n updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\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)\n throw TypeError('Expected sequence with length 2');\n entries.push({\n key: first.value + '',\n value: second.value + ''\n });\n }\n } else\n for (key in init)\n if (hasOwn(init, key))\n entries.push({\n key: key,\n value: init[key] + ''\n });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(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 (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 while (index < entries.length) {\n if (entries[index].key === key)\n entries.splice(index, 1);\n else\n index++;\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 for (; index < entries.length; index++) {\n if (entries[index].key === key)\n return entries[index].value;\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 for (; index < entries.length; index++) {\n if (entries[index].key === key)\n result.push(entries[index].value);\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 while (index < entries.length) {\n if (entries[index++].key === key)\n return true;\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 for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found)\n entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found)\n 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 for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\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 if (entriesIndex === sliceIndex)\n entries.push(entry);\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 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}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nif (!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 if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n }\n return $fetch.apply(this, args);\n }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar anObject = __w_pdfjs_require__(28);\nvar getIteratorMethod = __w_pdfjs_require__(94);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\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/***/ (function(module, exports, __w_pdfjs_require__) {\n\n(function (global, factory) {\n true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n return x !== x;\n };\n var rethrowAssertionErrorRejection = noop;\n function typeIsObject(x) {\n return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function createArrayFromList(elements) {\n return elements.slice();\n }\n function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function IsFiniteNonNegativeNumber(v) {\n if (IsNonNegativeNumber(v) === false) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n }\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n }\n function Call(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\n var method = underlyingObject[methodName];\n if (method !== undefined) {\n if (typeof method !== 'function') {\n throw new TypeError(method + \" is not a method\");\n }\n switch (algoArgCount) {\n case 0: {\n return function () {\n return PromiseCall(method, underlyingObject, extraArgs);\n };\n }\n case 1: {\n return function (arg) {\n var fullArgs = [arg].concat(extraArgs);\n return PromiseCall(method, underlyingObject, fullArgs);\n };\n }\n }\n }\n return function () {\n return promiseResolvedWith(undefined);\n };\n }\n function InvokeOrNoop(O, P, args) {\n var method = O[P];\n if (method === undefined) {\n return undefined;\n }\n return Call(method, O, args);\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 function TransferArrayBuffer(O) {\n return O;\n }\n function IsDetachedBuffer(O) {\n return false;\n }\n function ValidateAndNormalizeHighWaterMark(highWaterMark) {\n highWaterMark = Number(highWaterMark);\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 return highWaterMark;\n }\n function MakeSizeAlgorithmFromSizeFunction(size) {\n if (size === undefined) {\n return function () {\n return 1;\n };\n }\n if (typeof size !== 'function') {\n throw new TypeError('size property of a queuing strategy must be a function');\n }\n return function (chunk) {\n return size(chunk);\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 function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\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 Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: true,\n configurable: true\n });\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\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 if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n elements[oldCursor] = undefined;\n return element;\n };\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\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 if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n SimpleQueue.prototype.peek = function () {\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }();\n function ReadableStreamCreateReadResult(value, done, forAuthorCode) {\n var prototype = null;\n if (forAuthorCode === true) {\n prototype = Object.prototype;\n }\n var obj = Object.create(prototype);\n obj.value = value;\n obj.done = done;\n return obj;\n }\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._forAuthorCode = true;\n reader._ownerReadableStream = stream;\n stream._reader = reader;\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 function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\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 reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\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 function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamDefaultReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readRequests.push(readRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\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 if (IsReadableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n return ReadableStreamDefaultReaderRead(this);\n };\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\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 ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n }();\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultReaderRead(reader) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return stream._readableStreamController[PullSteps]();\n }\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n }, _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n var done = result.done;\n if (done) {\n ReadableStreamReaderGenericRelease(reader);\n }\n var value = result.value;\n return ReadableStreamCreateReadResult(value, done, true);\n });\n },\n return: function (value) {\n if (IsReadableStreamAsyncIterator(this) === false) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n var reader = this._asyncIteratorReader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\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 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 ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\n Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n if (preventCancel === void 0) {\n preventCancel = false;\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 function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\n return false;\n }\n return true;\n }\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n function DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({\n value: value,\n size: size\n });\n container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var WritableStream = function () {\n function WritableStream(underlyingSink, strategy) {\n if (underlyingSink === void 0) {\n underlyingSink = {};\n }\n if (strategy === void 0) {\n strategy = {};\n }\n InitializeWritableStream(this);\n var size = strategy.size;\n var highWaterMark = strategy.highWaterMark;\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n get: function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n WritableStream.prototype.abort = function (reason) {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('abort'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n WritableStream.prototype.close = function () {\n if (IsWritableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException('close'));\n }\n if (IsWritableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n WritableStream.prototype.getWriter = function () {\n if (IsWritableStream(this) === false) {\n throw streamBrandCheckException('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }();\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\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 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 function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n reason = undefined;\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 if (wasAlreadyErroring === false) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n }\n function WritableStreamClose(stream) {\n var state = stream._state;\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 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 if (writer !== undefined && stream._backpressure === true && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\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 if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring === true) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure === true) {\n defaultWriterReadyPromiseReset(writer);\n } else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\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 if (IsWritableStreamLocked(stream) === true) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\n defaultWriterReadyPromiseInitialize(this);\n } else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\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 Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n get: function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: true,\n configurable: true\n });\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n WritableStreamDefaultWriter.prototype.close = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (IsWritableStreamDefaultWriter(this) === false) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (IsWritableStreamDefaultWriter(this) === false) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }();\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n } else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\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 function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\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 function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\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 if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var WritableStreamDefaultController = function () {\n function WritableStreamDefaultController() {\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\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 var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }();\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\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 function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\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 function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, 'close', 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\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 function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n var writeRecord = { chunk: chunk };\n try {\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\n } catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (controller._started === false) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var writeRecord = PeekQueueValue(controller);\n if (writeRecord === 'close') {\n WritableStreamDefaultControllerProcessClose(controller);\n } else {\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\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 function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\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 function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n } catch (_a) {\n return false;\n }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n } catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\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 var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\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 if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (preventAbort === false) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (preventCancel === false) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () {\n return Promise.all(actions.map(function (action) {\n return action();\n }));\n }, true, error);\n };\n if (signal.aborted === true) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\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 next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown === true) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {\n if (result.done === true) {\n return true;\n }\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);\n return false;\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 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 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 setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () {\n return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\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 function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n } else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n } else {\n doTheRest();\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 function shutdown(isError, error) {\n if (shuttingDown === true) {\n return;\n }\n shuttingDown = true;\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 function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n } else {\n resolve(undefined);\n }\n }\n });\n }\n var ReadableStreamDefaultController = function () {\n function ReadableStreamDefaultController() {\n throw new TypeError();\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamDefaultController.prototype.close = function () {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('close');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (IsReadableStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested === true && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n } else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\n }\n var pendingPromise = ReadableStreamAddReadRequest(stream);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n return pendingPromise;\n };\n return ReadableStreamDefaultController;\n }();\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n } else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n } catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n } catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (controller._closeRequested === false && state === 'readable') {\n return true;\n }\n return false;\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 function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\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 function defaultControllerBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\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 function pullAlgorithm() {\n if (reading === true) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {\n reading = false;\n var done = result.done;\n if (done === true) {\n if (canceled1 === false) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n return;\n }\n var value = result.value;\n var value1 = value;\n var value2 = value;\n if (canceled1 === false) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (canceled2 === false) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n setPromiseIsHandledToTrue(readPromise);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1 === true) {\n var compositeReason = createArrayFromList([\n reason1,\n reason2\n ]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\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 [\n branch1,\n branch2\n ];\n }\n var NumberIsInteger = Number.isInteger || function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n var ReadableStreamBYOBRequest = function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n get: function () {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer) === true);\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (IsReadableStreamBYOBRequest(this) === false) {\n throw byobRequestBrandCheckException('respond');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (IsDetachedBuffer(view.buffer) === true);\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }();\n var ReadableByteStreamController = function () {\n function ReadableByteStreamController() {\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\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 return this._byobRequest;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n get: function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableByteStreamController.prototype.close = function () {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested === true) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\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 ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n if (this._closeRequested === true) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\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 if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\n }\n if (IsDetachedBuffer(chunk.buffer) === true);\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n ReadableByteStreamController.prototype.error = function (e) {\n if (IsReadableByteStreamController(this) === false) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n ReadableByteStreamController.prototype[PullSteps] = function () {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = void 0;\n try {\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (viewE) {\n return promiseRejectedWith(viewE);\n }\n return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n } catch (bufferE) {\n return promiseRejectedWith(bufferE);\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 this._pendingPullIntos.push(pullIntoDescriptor);\n }\n var promise = ReadableStreamAddReadRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n return promise;\n };\n return ReadableByteStreamController;\n }();\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (shouldPull === false) {\n return;\n }\n if (controller._pulling === true) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain === true) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n } else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\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 function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength\n });\n controller._queueTotalSize += byteLength;\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 if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\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 if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n } else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\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 function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === undefined) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = undefined;\n controller._byobRequest = undefined;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\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 if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n return ReadableStreamAddReadIntoRequest(stream);\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 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 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 controller._pendingPullIntos.push(pullIntoDescriptor);\n var promise = ReadableStreamAddReadIntoRequest(stream);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream) === true) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\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 ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\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 pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var stream = controller._controlledReadableByteStream;\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 ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested === true) {\n return false;\n }\n if (controller._started === false) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\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 ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\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 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 ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var stream = controller._controlledReadableByteStream;\n var state = stream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\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 function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n function startAlgorithm() {\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\n }\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\n }\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\n if (forAuthorCode === void 0) {\n forAuthorCode = false;\n }\n var reader = new ReadableStreamBYOBReader(stream);\n reader._forAuthorCode = forAuthorCode;\n return reader;\n }\n function ReadableStreamAddReadIntoRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var readIntoRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._reader._readIntoRequests.push(readIntoRequest);\n });\n return promise;\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\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 if (IsReadableByteStreamController(stream._readableStreamController) === false) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n }\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: true,\n configurable: true\n });\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (IsDetachedBuffer(view.buffer) === true);\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n return ReadableStreamBYOBReaderRead(this, view);\n };\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\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 ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n }();\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\n }\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n var ReadableStream = function () {\n function ReadableStream(underlyingSource, strategy) {\n if (underlyingSource === void 0) {\n underlyingSource = {};\n }\n if (strategy === void 0) {\n strategy = {};\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 if (typeString === 'bytes') {\n if (size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n if (highWaterMark === undefined) {\n highWaterMark = 0;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n } else if (type === undefined) {\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\n if (highWaterMark === undefined) {\n highWaterMark = 1;\n }\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n } else {\n throw new RangeError('Invalid type is specified');\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n get: function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: true,\n configurable: true\n });\n ReadableStream.prototype.cancel = function (reason) {\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (_a) {\n var mode = (_a === void 0 ? {} : _a).mode;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getReader');\n }\n if (mode === undefined) {\n return AcquireReadableStreamDefaultReader(this, true);\n }\n mode = String(mode);\n if (mode === 'byob') {\n return AcquireReadableStreamBYOBReader(this, true);\n }\n throw new RangeError('Invalid mode is specified');\n };\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\n var writable = _a.writable, readable = _a.readable;\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n if (IsWritableStream(writable) === false) {\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\n }\n if (IsReadableStream(readable) === false) {\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\n }\n if (IsReadableStreamLocked(this) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(writable) === true) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\n setPromiseIsHandledToTrue(promise);\n return readable;\n };\n ReadableStream.prototype.pipeTo = function (dest, _a) {\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\n if (IsReadableStream(this) === false) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (IsWritableStream(dest) === false) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\n }\n preventClose = Boolean(preventClose);\n preventAbort = Boolean(preventAbort);\n preventCancel = Boolean(preventCancel);\n if (signal !== undefined && !isAbortSignal(signal)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\n }\n if (IsReadableStreamLocked(this) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(dest) === true) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\n };\n ReadableStream.prototype.tee = function () {\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return createArrayFromList(branches);\n };\n ReadableStream.prototype.getIterator = function (_a) {\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\n if (IsReadableStream(this) === false) {\n throw streamBrandCheckException$1('getIterator');\n }\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\n };\n return ReadableStream;\n }();\n if (typeof 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 function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) {\n highWaterMark = 1;\n }\n if (sizeAlgorithm === void 0) {\n sizeAlgorithm = function () {\n return 1;\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 function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\n });\n reader._readRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseResolve(reader);\n }\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._reject(e);\n });\n reader._readRequests = new SimpleQueue();\n } else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._reject(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n defaultReaderClosedPromiseReject(reader, e);\n }\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n var ByteLengthQueuingStrategy = function () {\n function ByteLengthQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\n return chunk.byteLength;\n };\n return ByteLengthQueuingStrategy;\n }();\n var CountQueuingStrategy = function () {\n function CountQueuingStrategy(_a) {\n var highWaterMark = _a.highWaterMark;\n this.highWaterMark = highWaterMark;\n }\n CountQueuingStrategy.prototype.size = function () {\n return 1;\n };\n return CountQueuingStrategy;\n }();\n var TransformStream = function () {\n function TransformStream(transformer, writableStrategy, readableStrategy) {\n if (transformer === void 0) {\n transformer = {};\n }\n if (writableStrategy === void 0) {\n writableStrategy = {};\n }\n if (readableStrategy === void 0) {\n readableStrategy = {};\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 if (writableType !== undefined) {\n throw new RangeError('Invalid writable type specified');\n }\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\n if (writableHighWaterMark === undefined) {\n writableHighWaterMark = 1;\n }\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\n var readableType = transformer.readableType;\n if (readableType !== undefined) {\n throw new RangeError('Invalid readable type specified');\n }\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\n if (readableHighWaterMark === undefined) {\n readableHighWaterMark = 0;\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 Object.defineProperty(TransformStream.prototype, \"readable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('readable');\n }\n return this._readable;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n get: function () {\n if (IsTransformStream(this) === false) {\n throw streamBrandCheckException$2('writable');\n }\n return this._writable;\n },\n enumerable: true,\n configurable: true\n });\n return TransformStream;\n }();\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\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 function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure === true) {\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n var TransformStreamDefaultController = function () {\n function TransformStreamDefaultController() {\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n get: function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: true,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n TransformStreamDefaultController.prototype.terminate = function () {\n if (IsTransformStreamDefaultController(this) === false) {\n throw defaultControllerBrandCheckException$1('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }();\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\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 function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n } catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var transformMethod = transformer.transform;\n if (transformMethod !== undefined) {\n if (typeof transformMethod !== 'function') {\n throw new TypeError('transform is not a method');\n }\n transformAlgorithm = function (chunk) {\n return PromiseCall(transformMethod, transformer, [\n chunk,\n controller\n ]);\n };\n }\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\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 if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n var readableController = readable._readableStreamController;\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\n ReadableStreamDefaultControllerClose(readableController);\n }\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n TransformStreamSetBackpressure(stream, false);\n return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\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', { value: true });\n}));\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(147);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Map;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.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/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar isForced = __w_pdfjs_require__(52);\nvar redefine = __w_pdfjs_require__(29);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar iterate = __w_pdfjs_require__(104);\nvar anInstance = __w_pdfjs_require__(126);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(14);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(97);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar inheritIfRequired = __w_pdfjs_require__(151);\nmodule.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 var fixMethod = function (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 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 while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\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)\n iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\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)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar isObject = __w_pdfjs_require__(22);\nvar has = __w_pdfjs_require__(23);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar uid = __w_pdfjs_require__(38);\nvar FREEZING = __w_pdfjs_require__(150);\nvar METADATA = uid('meta');\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + ++id,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(87);\nmodule.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)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar create = __w_pdfjs_require__(71);\nvar redefineAll = __w_pdfjs_require__(124);\nvar bind = __w_pdfjs_require__(62);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar defineIterator = __w_pdfjs_require__(79);\nvar setSpecies = __w_pdfjs_require__(125);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar fastKey = __w_pdfjs_require__(149).fastKey;\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nmodule.exports = {\n getConstructor: function (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)\n that.size = 0;\n if (iterable != undefined)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\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)\n state.first = entry;\n if (previous)\n previous.next = entry;\n if (DESCRIPTORS)\n state.size++;\n else\n that.size++;\n if (index !== 'F')\n state.index[index] = entry;\n }\n return that;\n };\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F')\n return state.index[index];\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key)\n return entry;\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 while (entry) {\n entry.removed = true;\n if (entry.previous)\n entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS)\n state.size = 0;\n else\n that.size = 0;\n },\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\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)\n prev.next = next;\n if (next)\n next.previous = prev;\n if (state.first == entry)\n state.first = next;\n if (state.last == entry)\n state.last = prev;\n if (DESCRIPTORS)\n state.size--;\n else\n that.size--;\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 while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n while (entry && entry.removed)\n entry = entry.previous;\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)\n defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (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 while (entry && entry.removed)\n entry = entry.previous;\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 if (kind == 'keys')\n return {\n value: entry.key,\n done: false\n };\n if (kind == 'values')\n return {\n value: entry.value,\n done: false\n };\n return {\n value: [\n entry.key,\n entry.value\n ],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(154);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(77);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Set;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionStrong = __w_pdfjs_require__(152);\nmodule.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/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(156);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakMap;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar global = __w_pdfjs_require__(11);\nvar redefineAll = __w_pdfjs_require__(124);\nvar InternalMetadataModule = __w_pdfjs_require__(149);\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\nvar isObject = __w_pdfjs_require__(22);\nvar enforceIternalState = __w_pdfjs_require__(33).enforce;\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(34);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\nif (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 (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen)\n state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\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)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\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)\n state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\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)\n state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else\n nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar redefineAll = __w_pdfjs_require__(124);\nvar getWeakData = __w_pdfjs_require__(149).getWeakData;\nvar anObject = __w_pdfjs_require__(28);\nvar isObject = __w_pdfjs_require__(22);\nvar anInstance = __w_pdfjs_require__(126);\nvar iterate = __w_pdfjs_require__(104);\nvar ArrayIterationModule = __w_pdfjs_require__(158);\nvar $has = __w_pdfjs_require__(23);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry)\n entry[1] = value;\n else\n this.entries.push([\n key,\n value\n ]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index)\n this.entries.splice(index, 1);\n return !!~index;\n }\n};\nmodule.exports = {\n getConstructor: function (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)\n iterate(iterable, that[ADDER], that, IS_MAP);\n });\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true)\n uncaughtFrozenStore(state).set(key, value);\n else\n data[state.id] = value;\n return that;\n };\n redefineAll(C.prototype, {\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key))\n return false;\n var data = getWeakData(key);\n if (data === true)\n 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))\n return false;\n var data = getWeakData(key);\n if (data === true)\n 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 if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true)\n 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/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar bind = __w_pdfjs_require__(62);\nvar IndexedObject = __w_pdfjs_require__(18);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar push = [].push;\nvar createMethod = function (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 for (; length > index; index++)\n if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP)\n target[index] = result;\n else if (result)\n switch (TYPE) {\n case 3:\n return true;\n case 5:\n return value;\n case 6:\n return index;\n case 2:\n push.call(target, value);\n }\n else if (IS_EVERY)\n return false;\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\nmodule.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/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar isObject = __w_pdfjs_require__(22);\nvar isArray = __w_pdfjs_require__(160);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n if (typeof C == 'function' && (C === Array || isArray(C.prototype)))\n C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null)\n C = undefined;\n }\n }\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar classof = __w_pdfjs_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(162);\n__w_pdfjs_require__(120);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.WeakSet;\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(148);\nvar collectionWeak = __w_pdfjs_require__(157);\ncollection('WeakSet', function (init) {\n return function WeakSet() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionWeak);\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(164);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'codePointAt');\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar codeAt = __w_pdfjs_require__(78).codeAt;\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/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(166);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.String.fromCodePoint;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar toAbsoluteIndex = __w_pdfjs_require__(49);\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\nvar 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 while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code)\n 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 return elements.join('');\n }\n});\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(168);\n__w_pdfjs_require__(118);\n__w_pdfjs_require__(170);\n__w_pdfjs_require__(174);\n__w_pdfjs_require__(175);\n__w_pdfjs_require__(176);\n__w_pdfjs_require__(177);\n__w_pdfjs_require__(178);\n__w_pdfjs_require__(179);\n__w_pdfjs_require__(180);\n__w_pdfjs_require__(181);\n__w_pdfjs_require__(182);\n__w_pdfjs_require__(183);\n__w_pdfjs_require__(184);\n__w_pdfjs_require__(185);\n__w_pdfjs_require__(186);\n__w_pdfjs_require__(187);\n__w_pdfjs_require__(188);\n__w_pdfjs_require__(189);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Symbol;\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(14);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(83);\nvar toLength = __w_pdfjs_require__(47);\nvar createProperty = __w_pdfjs_require__(93);\nvar arraySpeciesCreate = __w_pdfjs_require__(159);\nvar arrayMethodHasSpeciesSupport = __w_pdfjs_require__(169);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar 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});\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\nvar isConcatSpreadable = function (O) {\n if (!isObject(O))\n return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\nvar 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 for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++)\n if (k in E)\n createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER)\n throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar fails = __w_pdfjs_require__(14);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar V8_VERSION = __w_pdfjs_require__(135);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (METHOD_NAME) {\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar global = __w_pdfjs_require__(11);\nvar getBuiltIn = __w_pdfjs_require__(42);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(58);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);\nvar fails = __w_pdfjs_require__(14);\nvar has = __w_pdfjs_require__(23);\nvar isArray = __w_pdfjs_require__(160);\nvar isObject = __w_pdfjs_require__(22);\nvar anObject = __w_pdfjs_require__(28);\nvar toObject = __w_pdfjs_require__(83);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar toPrimitive = __w_pdfjs_require__(21);\nvar createPropertyDescriptor = __w_pdfjs_require__(16);\nvar nativeObjectCreate = __w_pdfjs_require__(71);\nvar objectKeys = __w_pdfjs_require__(73);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(44);\nvar getOwnPropertyNamesExternal = __w_pdfjs_require__(171);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(51);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(27);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(15);\nvar createNonEnumerableProperty = __w_pdfjs_require__(26);\nvar redefine = __w_pdfjs_require__(29);\nvar shared = __w_pdfjs_require__(36);\nvar sharedKey = __w_pdfjs_require__(35);\nvar hiddenKeys = __w_pdfjs_require__(39);\nvar uid = __w_pdfjs_require__(38);\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\nvar setToStringTag = __w_pdfjs_require__(85);\nvar InternalStateModule = __w_pdfjs_require__(33);\nvar $forEach = __w_pdfjs_require__(158).forEach;\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () {\n return nativeDefineProperty(this, 'a', { value: 7 }).a;\n }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor)\n delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\nvar wrap = function (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)\n symbol.description = description;\n return symbol;\n};\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype)\n $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN))\n nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key])\n O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n }\n return setSymbolDescriptor(O, key, Attributes);\n }\n return nativeDefineProperty(O, key, Attributes);\n};\nvar $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))\n $defineProperty(O, key, properties[key]);\n });\n return O;\n};\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\nvar $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))\n return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\nvar $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))\n return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\nvar $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))\n result.push(key);\n });\n return result;\n};\nvar $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};\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol)\n 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 var setter = function (value) {\n if (this === ObjectPrototype)\n setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag))\n this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER)\n setSymbolDescriptor(ObjectPrototype, tag, {\n configurable: true,\n set: setter\n });\n return wrap(tag, description);\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 wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n if (DESCRIPTORS) {\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n$({\n global: true,\n wrap: true,\n forced: !NATIVE_SYMBOL,\n sham: !NATIVE_SYMBOL\n}, { Symbol: $Symbol });\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 (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string))\n 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))\n throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym))\n return SymbolToStringRegistry[sym];\n },\n useSetter: function () {\n USE_SETTER = true;\n },\n useSimple: function () {\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});\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $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 while (arguments.length > index)\n args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it))\n return;\n if (!isArray(replacer))\n replacer = function (key, value) {\n if (typeof $replacer == 'function')\n value = $replacer.call(this, key, value);\n if (!isSymbol(value))\n return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\nsetToStringTag($Symbol, SYMBOL);\nhiddenKeys[HIDDEN] = true;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;\nvar toString = {}.toString;\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar wellKnownSymbol = __w_pdfjs_require__(57);\nexports.f = wellKnownSymbol;\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar path = __w_pdfjs_require__(43);\nvar has = __w_pdfjs_require__(23);\nvar wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);\nvar defineProperty = __w_pdfjs_require__(27).f;\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME))\n defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });\n};\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('asyncIterator');\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar global = __w_pdfjs_require__(11);\nvar has = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar defineProperty = __w_pdfjs_require__(27).f;\nvar copyConstructorProperties = __w_pdfjs_require__(40);\nvar NativeSymbol = global.Symbol;\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {\n var EmptyStringDescriptionStore = {};\n var SymbolWrapper = function Symbol() {\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 === '')\n EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\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))\n 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 }, { Symbol: SymbolWrapper });\n}\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('hasInstance');\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('isConcatSpreadable');\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('iterator');\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('match');\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('matchAll');\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('replace');\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('search');\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('species');\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('split');\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toPrimitive');\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('toStringTag');\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar defineWellKnownSymbol = __w_pdfjs_require__(173);\ndefineWellKnownSymbol('unscopables');\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(Math, 'Math', true);\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar global = __w_pdfjs_require__(11);\nvar setToStringTag = __w_pdfjs_require__(85);\nsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(191);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padStart = __w_pdfjs_require__(192).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\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/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar toLength = __w_pdfjs_require__(47);\nvar repeat = __w_pdfjs_require__(193);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nvar ceil = Math.ceil;\nvar createMethod = function (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 == '')\n return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen)\n stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(48);\nvar requireObjectCoercible = __w_pdfjs_require__(20);\nmodule.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)\n throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n if (n & 1)\n result += str;\n return result;\n};\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar userAgent = __w_pdfjs_require__(129);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(196);\nvar entryUnbind = __w_pdfjs_require__(61);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(10);\nvar $padEnd = __w_pdfjs_require__(192).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(194);\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/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(198);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $values = __w_pdfjs_require__(199).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n return $values(O);\n }\n});\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar DESCRIPTORS = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(73);\nvar toIndexedObject = __w_pdfjs_require__(17);\nvar propertyIsEnumerable = __w_pdfjs_require__(15).f;\nvar createMethod = function (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 while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [\n key,\n O[key]\n ] : O[key]);\n }\n }\n return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n__w_pdfjs_require__(201);\nvar path = __w_pdfjs_require__(43);\nmodule.exports = path.Object.entries;\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar $ = __w_pdfjs_require__(10);\nvar $entries = __w_pdfjs_require__(199).entries;\n$({\n target: 'Object',\n stat: true\n}, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clearPrimitiveCaches = clearPrimitiveCaches;\nexports.isEOF = isEOF;\nexports.isCmd = isCmd;\nexports.isDict = isDict;\nexports.isName = isName;\nexports.isRef = isRef;\nexports.isRefsEqual = isRefsEqual;\nexports.isStream = isStream;\nexports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.Dict = exports.Cmd = exports.EOF = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar EOF = {};\nexports.EOF = EOF;\n\nvar Name = function NameClosure() {\n var nameCache = Object.create(null);\n\n function Name(name) {\n this.name = name;\n }\n\n Name.prototype = {};\n\n Name.get = function Name_get(name) {\n var nameValue = nameCache[name];\n return nameValue ? nameValue : nameCache[name] = new Name(name);\n };\n\n Name._clearCache = function () {\n nameCache = Object.create(null);\n };\n\n return Name;\n}();\n\nexports.Name = Name;\n\nvar Cmd = function CmdClosure() {\n var cmdCache = Object.create(null);\n\n function Cmd(cmd) {\n this.cmd = cmd;\n }\n\n Cmd.prototype = {};\n\n Cmd.get = function Cmd_get(cmd) {\n var cmdValue = cmdCache[cmd];\n return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);\n };\n\n Cmd._clearCache = function () {\n cmdCache = Object.create(null);\n };\n\n return Cmd;\n}();\n\nexports.Cmd = Cmd;\n\nvar Dict = function DictClosure() {\n var nonSerializable = function nonSerializableClosure() {\n return nonSerializable;\n };\n\n function Dict(xref) {\n this._map = Object.create(null);\n this.xref = xref;\n this.objId = null;\n this.suppressEncryption = false;\n this.__nonSerializable__ = nonSerializable;\n }\n\n Dict.prototype = {\n assignXref: function Dict_assignXref(newXref) {\n this.xref = newXref;\n },\n\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( /*#__PURE__*/_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\nexports.Dict = Dict;\n\nvar Ref = function RefClosure() {\n var refCache = Object.create(null);\n\n function Ref(num, gen) {\n this.num = num;\n this.gen = gen;\n }\n\n Ref.prototype = {\n toString: function Ref_toString() {\n if (this.gen === 0) {\n return \"\".concat(this.num, \"R\");\n }\n\n return \"\".concat(this.num, \"R\").concat(this.gen);\n }\n };\n\n Ref.get = function (num, gen) {\n var key = gen === 0 ? \"\".concat(num, \"R\") : \"\".concat(num, \"R\").concat(gen);\n var refValue = refCache[key];\n return refValue ? refValue : refCache[key] = new Ref(num, gen);\n };\n\n Ref._clearCache = function () {\n refCache = Object.create(null);\n };\n\n return Ref;\n}();\n\nexports.Ref = Ref;\n\nvar RefSet = /*#__PURE__*/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\nexports.RefSet = RefSet;\n\nvar RefSetCache = /*#__PURE__*/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\nexports.RefSetCache = RefSetCache;\n\nfunction isEOF(v) {\n return v === EOF;\n}\n\nfunction isName(v, name) {\n return v instanceof Name && (name === undefined || v.name === name);\n}\n\nfunction isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n return v instanceof Dict && (type === undefined || isName(v.get(\"Type\"), type));\n}\n\nfunction isRef(v) {\n return v instanceof Ref;\n}\n\nfunction isRefsEqual(v1, v2) {\n return v1.num === v2.num && v1.gen === v2.gen;\n}\n\nfunction isStream(v) {\n return _typeof(v) === \"object\" && v !== null && v.getBytes !== undefined;\n}\n\nfunction clearPrimitiveCaches() {\n Cmd._clearCache();\n\n Name._clearCache();\n\n Ref._clearCache();\n}\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _chunked_stream = __w_pdfjs_require__(204);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _document = __w_pdfjs_require__(206);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BasePdfManager = /*#__PURE__*/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( /*#__PURE__*/_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\nvar LocalPdfManager = /*#__PURE__*/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( /*#__PURE__*/_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\nexports.LocalPdfManager = LocalPdfManager;\n\nvar NetworkPdfManager = /*#__PURE__*/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( /*#__PURE__*/_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\nexports.NetworkPdfManager = NetworkPdfManager;\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ChunkedStreamManager = exports.ChunkedStream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ChunkedStream = /*#__PURE__*/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\nexports.ChunkedStream = ChunkedStream;\n\nvar ChunkedStreamManager = /*#__PURE__*/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\nexports.ChunkedStreamManager = ChunkedStreamManager;\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.getInheritableProperty = getInheritableProperty;\nexports.toRomanNumerals = toRomanNumerals;\nexports.log2 = log2;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.isWhiteSpace = isWhiteSpace;\nexports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction getLookupTableFactory(initializer) {\n var lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n\n return lookup;\n };\n}\n\nvar MissingDataException = /*#__PURE__*/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\nexports.MissingDataException = MissingDataException;\n\nvar XRefEntryException = /*#__PURE__*/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\nexports.XRefEntryException = XRefEntryException;\n\nvar XRefParseException = /*#__PURE__*/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\nexports.XRefParseException = XRefParseException;\n\nfunction getInheritableProperty(_ref) {\n var dict = _ref.dict,\n key = _ref.key,\n _ref$getArray = _ref.getArray,\n getArray = _ref$getArray === void 0 ? false : _ref$getArray,\n _ref$stopWhenFound = _ref.stopWhenFound,\n stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;\n var LOOP_LIMIT = 100;\n var loopCount = 0;\n var values;\n\n while (dict) {\n var value = getArray ? dict.getArray(key) : dict.get(key);\n\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n\n if (!values) {\n values = [];\n }\n\n values.push(value);\n }\n\n if (++loopCount > LOOP_LIMIT) {\n (0, _util.warn)(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n break;\n }\n\n dict = dict.get(\"Parent\");\n }\n\n return values;\n}\n\nvar ROMAN_NUMBER_MAP = [\"\", \"C\", \"CC\", \"CCC\", \"CD\", \"D\", \"DC\", \"DCC\", \"DCCC\", \"CM\", \"\", \"X\", \"XX\", \"XXX\", \"XL\", \"L\", \"LX\", \"LXX\", \"LXXX\", \"XC\", \"\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\"];\n\nfunction toRomanNumerals(number) {\n var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n (0, _util.assert)(Number.isInteger(number) && number > 0, \"The number should be a positive integer.\");\n var 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\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, offset) {\n return data[offset] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n}\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDocument = exports.Page = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(207);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _annotation = __w_pdfjs_require__(222);\n\nvar _crypto = __w_pdfjs_require__(219);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _operator_list = __w_pdfjs_require__(223);\n\nvar _evaluator = __w_pdfjs_require__(225);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_USER_UNIT = 1.0;\nvar LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\nfunction isAnnotationRenderable(annotation, intent) {\n return intent === \"display\" && annotation.viewable || intent === \"print\" && annotation.printable;\n}\n\nvar Page = /*#__PURE__*/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 = /*#__PURE__*/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\nexports.Page = Page;\nvar PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);\nvar STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);\nvar ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);\nvar FINGERPRINT_FIRST_BYTES = 1024;\nvar EMPTY_FINGERPRINT = \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";\nvar PDF_HEADER_VERSION_REGEXP = /^[1-9]\\.[0-9]$/;\n\nfunction 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\nvar PDFDocument = /*#__PURE__*/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 = /*#__PURE__*/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\"]( /*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/_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( /*#__PURE__*/_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\nexports.PDFDocument = PDFDocument;\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FileSpec = exports.XRef = exports.ObjectLoader = exports.Catalog = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _crypto = __w_pdfjs_require__(219);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _image_utils = __w_pdfjs_require__(221);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction fetchDestination(dest) {\n return (0, _primitives.isDict)(dest) ? dest.get(\"D\") : dest;\n}\n\nvar Catalog = /*#__PURE__*/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\nexports.Catalog = Catalog;\n\nvar XRef = function XRefClosure() {\n function XRef(stream, pdfManager) {\n this.stream = stream;\n this.pdfManager = pdfManager;\n this.entries = [];\n this.xrefstms = Object.create(null);\n this._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( /*#__PURE__*/_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( /*#__PURE__*/_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\nexports.XRef = XRef;\n\nvar NameOrNumberTree = /*#__PURE__*/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\nvar NameTree = /*#__PURE__*/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\nvar NumberTree = /*#__PURE__*/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\nvar FileSpec = function FileSpecClosure() {\n function FileSpec(root, xref) {\n if (!root || !(0, _primitives.isDict)(root)) {\n return;\n }\n\n this.xref = xref;\n this.root = root;\n\n if (root.has(\"FS\")) {\n this.fs = root.get(\"FS\");\n }\n\n this.description = root.has(\"Desc\") ? (0, _util.stringToPDFString)(root.get(\"Desc\")) : \"\";\n\n if (root.has(\"RF\")) {\n (0, _util.warn)(\"Related file specifications are not supported\");\n }\n\n this.contentAvailable = true;\n\n if (!root.has(\"EF\")) {\n this.contentAvailable = false;\n (0, _util.warn)(\"Non-embedded file specifications are not supported\");\n }\n }\n\n function pickPlatformItem(dict) {\n if (dict.has(\"UF\")) {\n return dict.get(\"UF\");\n } else if (dict.has(\"F\")) {\n return dict.get(\"F\");\n } else if (dict.has(\"Unix\")) {\n return dict.get(\"Unix\");\n } else if (dict.has(\"Mac\")) {\n return dict.get(\"Mac\");\n } else if (dict.has(\"DOS\")) {\n return dict.get(\"DOS\");\n }\n\n return null;\n }\n\n FileSpec.prototype = {\n get filename() {\n if (!this._filename && this.root) {\n var filename = pickPlatformItem(this.root) || \"unnamed\";\n this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\\\\\/g, \"\\\\\").replace(/\\\\\\//g, \"/\").replace(/\\\\/g, \"/\");\n }\n\n return this._filename;\n },\n\n get content() {\n if (!this.contentAvailable) {\n return null;\n }\n\n if (!this.contentRef && this.root) {\n this.contentRef = pickPlatformItem(this.root.get(\"EF\"));\n }\n\n var content = null;\n\n if (this.contentRef) {\n var xref = this.xref;\n var fileObj = xref.fetchIfRef(this.contentRef);\n\n if (fileObj && (0, _primitives.isStream)(fileObj)) {\n content = fileObj.getBytes();\n } else {\n (0, _util.warn)(\"Embedded file specification points to non-existing/invalid \" + \"content\");\n }\n } else {\n (0, _util.warn)(\"Embedded file specification does not have a content\");\n }\n\n return content;\n },\n\n get serializable() {\n return {\n filename: this.filename,\n content: this.content\n };\n }\n\n };\n return FileSpec;\n}();\n\nexports.FileSpec = FileSpec;\n\nvar ObjectLoader = function () {\n function mayHaveChildren(value) {\n return 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( /*#__PURE__*/_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( /*#__PURE__*/_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\nexports.ObjectLoader = ObjectLoader;\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Parser = exports.Linearization = exports.Lexer = void 0;\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _ccitt_stream = __w_pdfjs_require__(210);\n\nvar _jbig2_stream = __w_pdfjs_require__(212);\n\nvar _jpeg_stream = __w_pdfjs_require__(215);\n\nvar _jpx_stream = __w_pdfjs_require__(217);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_LENGTH_TO_CACHE = 1000;\nvar MAX_ADLER32_LENGTH = 5552;\n\nfunction computeAdler32(bytes) {\n var bytesLength = bytes.length;\n var a = 1,\n b = 0;\n\n for (var i = 0; i < bytesLength; ++i) {\n a += bytes[i] & 0xff;\n b += a;\n }\n\n return b % 65521 << 16 | a % 65521;\n}\n\nvar Parser = /*#__PURE__*/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\nexports.Parser = Parser;\nvar specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\nfunction toHexDigit(ch) {\n if (ch >= 0x30 && ch <= 0x39) {\n return ch & 0x0f;\n }\n\n if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n return (ch & 0x0f) + 9;\n }\n\n return -1;\n}\n\nvar Lexer = /*#__PURE__*/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\nexports.Lexer = Lexer;\n\nvar Linearization = /*#__PURE__*/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\nexports.Linearization = Linearization;\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LZWStream = exports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.FlateStream = exports.DecodeStream = exports.DecryptStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar Stream = function StreamClosure() {\n function Stream(arrayBuffer, start, length, dict) {\n this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n this.start = start || 0;\n this.pos = this.start;\n this.end = start + length || this.bytes.length;\n this.dict = dict;\n }\n\n Stream.prototype = {\n get length() {\n return this.end - this.start;\n },\n\n get isEmpty() {\n return this.length === 0;\n },\n\n getByte: function Stream_getByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.bytes[this.pos++];\n },\n getUint16: function Stream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function Stream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n\n if (!length) {\n var _subarray = bytes.subarray(pos, strEnd);\n\n return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n }\n\n var end = pos + length;\n\n if (end > strEnd) {\n end = strEnd;\n }\n\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function Stream_peekByte() {\n var peekedByte = this.getByte();\n\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\nexports.Stream = Stream;\n\nvar StringStream = function StringStreamClosure() {\n function StringStream(str) {\n var bytes = (0, _util.stringToBytes)(str);\n Stream.call(this, bytes);\n }\n\n StringStream.prototype = Stream.prototype;\n return StringStream;\n}();\n\nexports.StringStream = StringStream;\n\nvar DecodeStream = function DecodeStreamClosure() {\n var emptyBuffer = new Uint8Array(0);\n\n function DecodeStream(maybeMinBufferLength) {\n this._rawMinBufferLength = maybeMinBufferLength || 0;\n this.pos = 0;\n this.bufferLength = 0;\n this.eof = false;\n this.buffer = emptyBuffer;\n this.minBufferLength = 512;\n\n if (maybeMinBufferLength) {\n while (this.minBufferLength < maybeMinBufferLength) {\n this.minBufferLength *= 2;\n }\n }\n }\n\n DecodeStream.prototype = {\n get isEmpty() {\n while (!this.eof && this.bufferLength === 0) {\n this.readBlock();\n }\n\n return this.bufferLength === 0;\n },\n\n ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n var buffer = this.buffer;\n\n if (requested <= buffer.byteLength) {\n return buffer;\n }\n\n var size = this.minBufferLength;\n\n while (size < requested) {\n size *= 2;\n }\n\n var buffer2 = new Uint8Array(size);\n buffer2.set(buffer);\n return this.buffer = buffer2;\n },\n getByte: function DecodeStream_getByte() {\n var pos = this.pos;\n\n while (this.bufferLength <= pos) {\n if (this.eof) {\n return -1;\n }\n\n this.readBlock();\n }\n\n return this.buffer[this.pos++];\n },\n getUint16: function DecodeStream_getUint16() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n\n return (b0 << 8) + b1;\n },\n getInt32: function DecodeStream_getInt32() {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n },\n getBytes: function getBytes(length) {\n var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var end,\n pos = this.pos;\n\n if (length) {\n this.ensureBuffer(pos + length);\n end = pos + length;\n\n while (!this.eof && this.bufferLength < end) {\n this.readBlock();\n }\n\n var bufEnd = this.bufferLength;\n\n if (end > bufEnd) {\n end = bufEnd;\n }\n } else {\n while (!this.eof) {\n this.readBlock();\n }\n\n end = this.bufferLength;\n }\n\n this.pos = end;\n var subarray = this.buffer.subarray(pos, end);\n return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;\n },\n peekByte: function DecodeStream_peekByte() {\n var peekedByte = this.getByte();\n\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\nexports.DecodeStream = DecodeStream;\n\nvar StreamsSequenceStream = function StreamsSequenceStreamClosure() {\n function StreamsSequenceStream(streams) {\n this.streams = streams;\n var maybeLength = 0;\n\n for (var i = 0, ii = streams.length; i < ii; i++) {\n var stream = streams[i];\n\n if (stream instanceof DecodeStream) {\n maybeLength += stream._rawMinBufferLength;\n } else {\n maybeLength += stream.length;\n }\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n\n StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n var streams = this.streams;\n\n if (streams.length === 0) {\n this.eof = true;\n return;\n }\n\n var stream = streams.shift();\n var chunk = stream.getBytes();\n var bufferLength = this.bufferLength;\n var newLength = bufferLength + chunk.length;\n var buffer = this.ensureBuffer(newLength);\n buffer.set(chunk, bufferLength);\n this.bufferLength = newLength;\n };\n\n StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n var baseStreams = [];\n\n for (var i = 0, ii = this.streams.length; i < ii; i++) {\n var stream = this.streams[i];\n\n if (stream.getBaseStreams) {\n baseStreams.push.apply(baseStreams, _toConsumableArray(stream.getBaseStreams()));\n }\n }\n\n return baseStreams;\n };\n\n return StreamsSequenceStream;\n}();\n\nexports.StreamsSequenceStream = StreamsSequenceStream;\n\nvar FlateStream = function FlateStreamClosure() {\n var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\n var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\n var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\n var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\n\n function FlateStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n var cmf = str.getByte();\n var flg = str.getByte();\n\n if (cmf === -1 || flg === -1) {\n throw new _util.FormatError(\"Invalid header in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if ((cmf & 0x0f) !== 0x08) {\n throw new _util.FormatError(\"Unknown compression method in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (((cmf << 8) + flg) % 31 !== 0) {\n throw new _util.FormatError(\"Bad FCHECK in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n if (flg & 0x20) {\n throw new _util.FormatError(\"FDICT bit set in flate stream: \".concat(cmf, \", \").concat(flg));\n }\n\n this.codeSize = 0;\n this.codeBuf = 0;\n DecodeStream.call(this, maybeLength);\n }\n\n FlateStream.prototype = Object.create(DecodeStream.prototype);\n\n FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n var str = this.str;\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < bits) {\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad encoding in flate stream\");\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n b = codeBuf & (1 << bits) - 1;\n this.codeBuf = codeBuf >> bits;\n this.codeSize = codeSize -= bits;\n return b;\n };\n\n FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n var str = this.str;\n var codes = table[0];\n var maxLen = table[1];\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n\n while (codeSize < maxLen) {\n if ((b = str.getByte()) === -1) {\n break;\n }\n\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n\n var code = codes[codeBuf & (1 << maxLen) - 1];\n var codeLen = code >> 16;\n var codeVal = code & 0xffff;\n\n if (codeLen < 1 || codeSize < codeLen) {\n throw new _util.FormatError(\"Bad encoding in flate stream\");\n }\n\n this.codeBuf = codeBuf >> codeLen;\n this.codeSize = codeSize - codeLen;\n return codeVal;\n };\n\n FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {\n var n = lengths.length;\n var maxLen = 0;\n var i;\n\n for (i = 0; i < n; ++i) {\n if (lengths[i] > maxLen) {\n maxLen = lengths[i];\n }\n }\n\n var size = 1 << maxLen;\n var codes = new Int32Array(size);\n\n for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n for (var val = 0; val < n; ++val) {\n if (lengths[val] === len) {\n var code2 = 0;\n var t = code;\n\n for (i = 0; i < len; ++i) {\n code2 = code2 << 1 | t & 1;\n t >>= 1;\n }\n\n for (i = code2; i < size; i += skip) {\n codes[i] = len << 16 | val;\n }\n\n ++code;\n }\n }\n }\n\n return [codes, maxLen];\n };\n\n FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n var buffer, len;\n var str = this.str;\n var hdr = this.getBits(3);\n\n if (hdr & 1) {\n this.eof = true;\n }\n\n hdr >>= 1;\n\n if (hdr === 0) {\n var b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n var blockLen = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n blockLen |= b << 8;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n var check = b;\n\n if ((b = str.getByte()) === -1) {\n throw new _util.FormatError(\"Bad block header in flate stream\");\n }\n\n check |= b << 8;\n\n if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n throw new _util.FormatError(\"Bad uncompressed block length in flate stream\");\n }\n\n this.codeBuf = 0;\n this.codeSize = 0;\n var bufferLength = this.bufferLength,\n 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\nexports.FlateStream = FlateStream;\n\nvar PredictorStream = function PredictorStreamClosure() {\n function PredictorStream(str, maybeLength, params) {\n if (!(0, _primitives.isDict)(params)) {\n return str;\n }\n\n var predictor = this.predictor = params.get(\"Predictor\") || 1;\n\n if (predictor <= 1) {\n return str;\n }\n\n if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n if (predictor === 2) {\n this.readBlock = this.readBlockTiff;\n } else {\n this.readBlock = this.readBlockPng;\n }\n\n this.str = str;\n this.dict = str.dict;\n var colors = this.colors = params.get(\"Colors\") || 1;\n var bits = this.bits = params.get(\"BitsPerComponent\") || 8;\n var columns = this.columns = params.get(\"Columns\") || 1;\n this.pixBytes = colors * bits + 7 >> 3;\n this.rowBytes = columns * colors * bits + 7 >> 3;\n DecodeStream.call(this, maybeLength);\n return this;\n }\n\n PredictorStream.prototype = Object.create(DecodeStream.prototype);\n\n PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n var rowBytes = this.rowBytes;\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var bits = this.bits;\n var colors = this.colors;\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var inbuf = 0,\n outbuf = 0;\n var inbits = 0,\n outbits = 0;\n var pos = bufferLength;\n var i;\n\n if (bits === 1 && colors === 1) {\n for (i = 0; i < rowBytes; ++i) {\n var c = rawBytes[i] ^ inbuf;\n c ^= c >> 1;\n c ^= c >> 2;\n c ^= c >> 4;\n inbuf = (c & 1) << 7;\n buffer[pos++] = c;\n }\n } else if (bits === 8) {\n for (i = 0; i < colors; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[pos] = buffer[pos - colors] + rawBytes[i];\n pos++;\n }\n } else if (bits === 16) {\n var bytesPerPixel = colors * 2;\n\n for (i = 0; i < bytesPerPixel; ++i) {\n buffer[pos++] = rawBytes[i];\n }\n\n for (; i < rowBytes; i += 2) {\n var sum = ((rawBytes[i] & 0xff) << 8) + (rawBytes[i + 1] & 0xff) + ((buffer[pos - bytesPerPixel] & 0xff) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xff);\n buffer[pos++] = sum >> 8 & 0xff;\n buffer[pos++] = sum & 0xff;\n }\n } else {\n var compArray = new Uint8Array(colors + 1);\n var bitMask = (1 << bits) - 1;\n var j = 0,\n k = bufferLength;\n var columns = this.columns;\n\n for (i = 0; i < columns; ++i) {\n for (var kk = 0; kk < colors; ++kk) {\n if (inbits < bits) {\n inbuf = inbuf << 8 | rawBytes[j++] & 0xff;\n inbits += 8;\n }\n\n compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n inbits -= bits;\n outbuf = outbuf << bits | compArray[kk];\n outbits += bits;\n\n if (outbits >= 8) {\n buffer[k++] = outbuf >> outbits - 8 & 0xff;\n outbits -= 8;\n }\n }\n }\n\n if (outbits > 0) {\n buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n }\n }\n\n this.bufferLength += rowBytes;\n };\n\n PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n var rowBytes = this.rowBytes;\n var pixBytes = this.pixBytes;\n var predictor = this.str.getByte();\n var rawBytes = this.str.getBytes(rowBytes);\n this.eof = !rawBytes.length;\n\n if (this.eof) {\n return;\n }\n\n var bufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(bufferLength + rowBytes);\n var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n\n if (prevRow.length === 0) {\n prevRow = new Uint8Array(rowBytes);\n }\n\n var i,\n j = bufferLength,\n up,\n c;\n\n switch (predictor) {\n case 0:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n break;\n\n case 1:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xff;\n j++;\n }\n\n break;\n\n case 2:\n for (i = 0; i < rowBytes; ++i) {\n buffer[j++] = prevRow[i] + rawBytes[i] & 0xff;\n }\n\n break;\n\n case 3:\n for (i = 0; i < pixBytes; ++i) {\n buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n }\n\n for (; i < rowBytes; ++i) {\n buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xff;\n j++;\n }\n\n break;\n\n case 4:\n for (i = 0; i < pixBytes; ++i) {\n up = prevRow[i];\n c = rawBytes[i];\n buffer[j++] = up + c;\n }\n\n for (; i < rowBytes; ++i) {\n up = prevRow[i];\n var upLeft = prevRow[i - pixBytes];\n var left = buffer[j - pixBytes];\n var p = left + up - upLeft;\n var pa = p - left;\n\n if (pa < 0) {\n pa = -pa;\n }\n\n var pb = p - up;\n\n if (pb < 0) {\n pb = -pb;\n }\n\n var pc = p - upLeft;\n\n if (pc < 0) {\n pc = -pc;\n }\n\n c = rawBytes[i];\n\n if (pa <= pb && pa <= pc) {\n buffer[j++] = left + c;\n } else if (pb <= pc) {\n buffer[j++] = up + c;\n } else {\n buffer[j++] = upLeft + c;\n }\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n }\n\n this.bufferLength += rowBytes;\n };\n\n return PredictorStream;\n}();\n\nexports.PredictorStream = PredictorStream;\n\nvar DecryptStream = function DecryptStreamClosure() {\n function DecryptStream(str, maybeLength, decrypt) {\n this.str = str;\n this.dict = str.dict;\n this.decrypt = decrypt;\n this.nextChunk = null;\n this.initialized = false;\n DecodeStream.call(this, maybeLength);\n }\n\n var chunkSize = 512;\n DecryptStream.prototype = Object.create(DecodeStream.prototype);\n\n DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n var chunk;\n\n if (this.initialized) {\n chunk = this.nextChunk;\n } else {\n chunk = this.str.getBytes(chunkSize);\n this.initialized = true;\n }\n\n if (!chunk || chunk.length === 0) {\n this.eof = true;\n return;\n }\n\n this.nextChunk = this.str.getBytes(chunkSize);\n var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n var decrypt = this.decrypt;\n chunk = decrypt(chunk, !hasMoreData);\n var bufferLength = this.bufferLength;\n var i,\n n = chunk.length;\n var buffer = this.ensureBuffer(bufferLength + n);\n\n for (i = 0; i < n; i++) {\n buffer[bufferLength++] = chunk[i];\n }\n\n this.bufferLength = bufferLength;\n };\n\n return DecryptStream;\n}();\n\nexports.DecryptStream = DecryptStream;\n\nvar Ascii85Stream = function Ascii85StreamClosure() {\n function Ascii85Stream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.input = new Uint8Array(5);\n\n if (maybeLength) {\n maybeLength = 0.8 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n\n Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n var TILDA_CHAR = 0x7e;\n var Z_LOWER_CHAR = 0x7a;\n var EOF = -1;\n var str = this.str;\n var c = str.getByte();\n\n while ((0, _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\nexports.Ascii85Stream = Ascii85Stream;\n\nvar AsciiHexStream = function AsciiHexStreamClosure() {\n function AsciiHexStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n this.firstDigit = -1;\n\n if (maybeLength) {\n maybeLength = 0.5 * maybeLength;\n }\n\n DecodeStream.call(this, maybeLength);\n }\n\n AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n\n AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n var UPSTREAM_BLOCK_SIZE = 8000;\n var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n\n if (!bytes.length) {\n this.eof = true;\n return;\n }\n\n var maxDecodeLength = bytes.length + 1 >> 1;\n var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n var bufferLength = this.bufferLength;\n var firstDigit = this.firstDigit;\n\n for (var i = 0, ii = bytes.length; i < ii; i++) {\n var ch = bytes[i],\n digit;\n\n if (ch >= 0x30 && ch <= 0x39) {\n digit = ch & 0x0f;\n } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n digit = (ch & 0x0f) + 9;\n } else if (ch === 0x3e) {\n this.eof = true;\n break;\n } else {\n continue;\n }\n\n if (firstDigit < 0) {\n firstDigit = digit;\n } else {\n buffer[bufferLength++] = firstDigit << 4 | digit;\n firstDigit = -1;\n }\n }\n\n if (firstDigit >= 0 && this.eof) {\n buffer[bufferLength++] = firstDigit << 4;\n firstDigit = -1;\n }\n\n this.firstDigit = firstDigit;\n this.bufferLength = bufferLength;\n };\n\n return AsciiHexStream;\n}();\n\nexports.AsciiHexStream = AsciiHexStream;\n\nvar RunLengthStream = function RunLengthStreamClosure() {\n function RunLengthStream(str, maybeLength) {\n this.str = str;\n this.dict = str.dict;\n DecodeStream.call(this, maybeLength);\n }\n\n RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n\n RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n var repeatHeader = this.str.getBytes(2);\n\n if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n this.eof = true;\n return;\n }\n\n var buffer;\n var bufferLength = this.bufferLength;\n var n = repeatHeader[0];\n\n if (n < 128) {\n buffer = this.ensureBuffer(bufferLength + n + 1);\n buffer[bufferLength++] = repeatHeader[1];\n\n if (n > 0) {\n var source = this.str.getBytes(n);\n buffer.set(source, bufferLength);\n bufferLength += n;\n }\n } else {\n n = 257 - n;\n var b = repeatHeader[1];\n buffer = this.ensureBuffer(bufferLength + n + 1);\n\n for (var i = 0; i < n; i++) {\n buffer[bufferLength++] = b;\n }\n }\n\n this.bufferLength = bufferLength;\n };\n\n return RunLengthStream;\n}();\n\nexports.RunLengthStream = RunLengthStream;\n\nvar LZWStream = function LZWStreamClosure() {\n function LZWStream(str, maybeLength, earlyChange) {\n this.str = str;\n this.dict = str.dict;\n this.cachedData = 0;\n this.bitsCached = 0;\n var maxLzwDictionarySize = 4096;\n var lzwState = {\n earlyChange: earlyChange,\n codeLength: 9,\n nextCode: 258,\n dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n currentSequence: new Uint8Array(maxLzwDictionarySize),\n currentSequenceLength: 0\n };\n\n for (var i = 0; i < 256; ++i) {\n lzwState.dictionaryValues[i] = i;\n lzwState.dictionaryLengths[i] = 1;\n }\n\n this.lzwState = lzwState;\n DecodeStream.call(this, maybeLength);\n }\n\n LZWStream.prototype = Object.create(DecodeStream.prototype);\n\n LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n var bitsCached = this.bitsCached;\n var cachedData = this.cachedData;\n\n while (bitsCached < n) {\n var c = this.str.getByte();\n\n if (c === -1) {\n this.eof = true;\n return null;\n }\n\n cachedData = cachedData << 8 | c;\n bitsCached += 8;\n }\n\n this.bitsCached = bitsCached -= n;\n this.cachedData = cachedData;\n this.lastCode = null;\n return cachedData >>> bitsCached & (1 << n) - 1;\n };\n\n LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n var blockSize = 512;\n var estimatedDecodedSize = blockSize * 2,\n decodedSizeDelta = blockSize;\n var i, j, q;\n var lzwState = this.lzwState;\n\n if (!lzwState) {\n return;\n }\n\n var earlyChange = lzwState.earlyChange;\n var nextCode = lzwState.nextCode;\n var dictionaryValues = lzwState.dictionaryValues;\n var dictionaryLengths = lzwState.dictionaryLengths;\n var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n var codeLength = lzwState.codeLength;\n var prevCode = lzwState.prevCode;\n var currentSequence = lzwState.currentSequence;\n var currentSequenceLength = lzwState.currentSequenceLength;\n var decodedLength = 0;\n var currentBufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n\n for (i = 0; i < blockSize; i++) {\n var code = this.readBits(codeLength);\n var hasPrev = currentSequenceLength > 0;\n\n if (code < 256) {\n currentSequence[0] = code;\n currentSequenceLength = 1;\n } else if (code >= 258) {\n if (code < nextCode) {\n currentSequenceLength = dictionaryLengths[code];\n\n for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n currentSequence[j] = dictionaryValues[q];\n q = dictionaryPrevCodes[q];\n }\n } else {\n currentSequence[currentSequenceLength++] = currentSequence[0];\n }\n } else if (code === 256) {\n codeLength = 9;\n nextCode = 258;\n currentSequenceLength = 0;\n continue;\n } else {\n this.eof = true;\n delete this.lzwState;\n break;\n }\n\n if (hasPrev) {\n dictionaryPrevCodes[nextCode] = prevCode;\n dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n dictionaryValues[nextCode] = currentSequence[0];\n nextCode++;\n codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n }\n\n prevCode = code;\n decodedLength += currentSequenceLength;\n\n if (estimatedDecodedSize < decodedLength) {\n do {\n estimatedDecodedSize += decodedSizeDelta;\n } while (estimatedDecodedSize < decodedLength);\n\n buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n }\n\n for (j = 0; j < currentSequenceLength; j++) {\n buffer[currentBufferLength++] = currentSequence[j];\n }\n }\n\n lzwState.nextCode = nextCode;\n lzwState.codeLength = codeLength;\n lzwState.prevCode = prevCode;\n lzwState.currentSequenceLength = currentSequenceLength;\n this.bufferLength = currentBufferLength;\n };\n\n return LZWStream;\n}();\n\nexports.LZWStream = LZWStream;\n\nvar NullStream = function NullStreamClosure() {\n function NullStream() {\n Stream.call(this, new Uint8Array(0));\n }\n\n NullStream.prototype = Stream.prototype;\n return NullStream;\n}();\n\nexports.NullStream = NullStream;\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CCITTFaxStream = void 0;\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _ccitt = __w_pdfjs_require__(211);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar CCITTFaxStream = function CCITTFaxStreamClosure() {\n function CCITTFaxStream(str, maybeLength, params) {\n this.str = str;\n this.dict = str.dict;\n\n if (!(0, _primitives.isDict)(params)) {\n params = _primitives.Dict.empty;\n }\n\n var source = {\n next: function next() {\n return str.getByte();\n }\n };\n this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n K: params.get(\"K\"),\n EndOfLine: params.get(\"EndOfLine\"),\n EncodedByteAlign: params.get(\"EncodedByteAlign\"),\n Columns: params.get(\"Columns\"),\n Rows: params.get(\"Rows\"),\n EndOfBlock: params.get(\"EndOfBlock\"),\n BlackIs1: params.get(\"BlackIs1\")\n });\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n\n CCITTFaxStream.prototype.readBlock = function () {\n while (!this.eof) {\n var c = this.ccittFaxDecoder.readNextChar();\n\n if (c === -1) {\n this.eof = true;\n return;\n }\n\n this.ensureBuffer(this.bufferLength + 1);\n this.buffer[this.bufferLength++] = c;\n }\n };\n\n return CCITTFaxStream;\n}();\n\nexports.CCITTFaxStream = CCITTFaxStream;\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CCITTFaxDecoder = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar CCITTFaxDecoder = function CCITTFaxDecoder() {\n var ccittEOL = -2;\n var ccittEOF = -1;\n var twoDimPass = 0;\n var twoDimHoriz = 1;\n var twoDimVert0 = 2;\n var twoDimVertR1 = 3;\n var twoDimVertL1 = 4;\n var twoDimVertR2 = 5;\n var twoDimVertL2 = 6;\n var twoDimVertR3 = 7;\n var twoDimVertL3 = 8;\n var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\n var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];\n var whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];\n var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];\n var blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];\n var blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];\n\n function CCITTFaxDecoder(source) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!source || typeof source.next !== \"function\") {\n throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n }\n\n this.source = source;\n this.eof = false;\n this.encoding = options.K || 0;\n this.eoline = options.EndOfLine || false;\n this.byteAlign = options.EncodedByteAlign || false;\n this.columns = options.Columns || 1728;\n this.rows = options.Rows || 0;\n var eoblock = options.EndOfBlock;\n\n if (eoblock === null || eoblock === undefined) {\n eoblock = true;\n }\n\n this.eoblock = eoblock;\n this.black = options.BlackIs1 || false;\n this.codingLine = new Uint32Array(this.columns + 1);\n this.refLine = new Uint32Array(this.columns + 2);\n this.codingLine[0] = this.columns;\n this.codingPos = 0;\n this.row = 0;\n this.nextLine2D = this.encoding < 0;\n this.inputBits = 0;\n this.inputBuf = 0;\n this.outputBits = 0;\n this.rowsDone = false;\n var code1;\n\n while ((code1 = this._lookBits(12)) === 0) {\n this._eatBits(1);\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n }\n\n if (this.encoding > 0) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n\n CCITTFaxDecoder.prototype = {\n readNextChar: function readNextChar() {\n if (this.eof) {\n return -1;\n }\n\n var refLine = this.refLine;\n var codingLine = this.codingLine;\n var columns = this.columns;\n var refPos, blackPixels, bits, i;\n\n if (this.outputBits === 0) {\n if (this.rowsDone) {\n this.eof = true;\n }\n\n if (this.eof) {\n return -1;\n }\n\n this.err = false;\n var code1, code2, code3;\n\n if (this.nextLine2D) {\n for (i = 0; codingLine[i] < columns; ++i) {\n refLine[i] = codingLine[i];\n }\n\n refLine[i++] = columns;\n refLine[i] = columns;\n codingLine[0] = 0;\n this.codingPos = 0;\n refPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = this._getTwoDimCode();\n\n switch (code1) {\n case twoDimPass:\n this._addPixels(refLine[refPos + 1], blackPixels);\n\n if (refLine[refPos + 1] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimHoriz:\n code1 = code2 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n\n do {\n code2 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n if (codingLine[this.codingPos] < columns) {\n this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n\n break;\n\n case twoDimVertR3:\n this._addPixels(refLine[refPos] + 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR2:\n this._addPixels(refLine[refPos] + 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertR1:\n this._addPixels(refLine[refPos] + 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVert0:\n this._addPixels(refLine[refPos], blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL3:\n this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL2:\n this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case twoDimVertL1:\n this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n\n blackPixels ^= 1;\n\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n\n while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n refPos += 2;\n }\n }\n\n break;\n\n case ccittEOF:\n this._addPixels(columns, 0);\n\n this.eof = true;\n break;\n\n default:\n (0, _util.info)(\"bad 2d code\");\n\n this._addPixels(columns, 0);\n\n this.err = true;\n }\n }\n } else {\n codingLine[0] = 0;\n this.codingPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = 0;\n\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n }\n\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n blackPixels ^= 1;\n }\n }\n\n var gotEOL = false;\n\n if (this.byteAlign) {\n this.inputBits &= ~7;\n }\n\n if (!this.eoblock && this.row === this.rows - 1) {\n this.rowsDone = true;\n } else {\n code1 = this._lookBits(12);\n\n if (this.eoline) {\n while (code1 !== ccittEOF && code1 !== 1) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n } else {\n while (code1 === 0) {\n this._eatBits(1);\n\n code1 = this._lookBits(12);\n }\n }\n\n if (code1 === 1) {\n this._eatBits(12);\n\n gotEOL = true;\n } else if (code1 === ccittEOF) {\n this.eof = true;\n }\n }\n\n if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n this.nextLine2D = !this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.eoblock && gotEOL && this.byteAlign) {\n code1 = this._lookBits(12);\n\n if (code1 === 1) {\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n\n if (this.encoding >= 0) {\n for (i = 0; i < 4; ++i) {\n code1 = this._lookBits(12);\n\n if (code1 !== 1) {\n (0, _util.info)(\"bad rtc code: \" + code1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._lookBits(1);\n\n this._eatBits(1);\n }\n }\n }\n\n this.eof = true;\n }\n } else if (this.err && this.eoline) {\n while (true) {\n code1 = this._lookBits(13);\n\n if (code1 === ccittEOF) {\n this.eof = true;\n return -1;\n }\n\n if (code1 >> 1 === 1) {\n break;\n }\n\n this._eatBits(1);\n }\n\n this._eatBits(12);\n\n if (this.encoding > 0) {\n this._eatBits(1);\n\n this.nextLine2D = !(code1 & 1);\n }\n }\n\n if (codingLine[0] > 0) {\n this.outputBits = codingLine[this.codingPos = 0];\n } else {\n this.outputBits = codingLine[this.codingPos = 1];\n }\n\n this.row++;\n }\n\n var c;\n\n if (this.outputBits >= 8) {\n c = this.codingPos & 1 ? 0 : 0xff;\n this.outputBits -= 8;\n\n if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n }\n } else {\n bits = 8;\n c = 0;\n\n do {\n if (this.outputBits > bits) {\n c <<= bits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xff >> 8 - bits;\n }\n\n this.outputBits -= bits;\n bits = 0;\n } else {\n c <<= this.outputBits;\n\n if (!(this.codingPos & 1)) {\n c |= 0xff >> 8 - this.outputBits;\n }\n\n bits -= this.outputBits;\n this.outputBits = 0;\n\n if (codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n } else if (bits > 0) {\n c <<= bits;\n bits = 0;\n }\n }\n } while (bits);\n }\n\n if (this.black) {\n c ^= 0xff;\n }\n\n return c;\n },\n _addPixels: function _addPixels(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {\n var codingLine = this.codingLine;\n var codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n (0, _util.info)(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n\n if (codingPos & 1 ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n } else if (a1 < codingLine[codingPos]) {\n if (a1 < 0) {\n (0, _util.info)(\"invalid code\");\n this.err = true;\n a1 = 0;\n }\n\n while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n --codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n },\n _findTableCode: function _findTableCode(start, end, table, limit) {\n var limitValue = limit || 0;\n\n for (var i = start; i <= end; ++i) {\n var code = this._lookBits(i);\n\n if (code === ccittEOF) {\n return [true, 1, false];\n }\n\n if (i < end) {\n code <<= end - i;\n }\n\n if (!limitValue || code >= limitValue) {\n var p = table[code - limitValue];\n\n if (p[0] === i) {\n this._eatBits(i);\n\n return [true, p[1], true];\n }\n }\n }\n\n return [false, 0, false];\n },\n _getTwoDimCode: function _getTwoDimCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(7);\n p = twoDimTable[code];\n\n if (p && p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 7, twoDimTable);\n\n if (result[0] && result[2]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"Bad two dim code\");\n return ccittEOF;\n },\n _getWhiteCode: function _getWhiteCode() {\n var code = 0;\n var p;\n\n if (this.eoblock) {\n code = this._lookBits(12);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 5 === 0) {\n p = whiteTable1[code];\n } else {\n p = whiteTable2[code >> 3];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(1, 9, whiteTable2);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(11, 12, whiteTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"bad white code\");\n\n this._eatBits(1);\n\n return 1;\n },\n _getBlackCode: function _getBlackCode() {\n var code, p;\n\n if (this.eoblock) {\n code = this._lookBits(13);\n\n if (code === ccittEOF) {\n return 1;\n }\n\n if (code >> 7 === 0) {\n p = blackTable1[code];\n } else if (code >> 9 === 0 && code >> 7 !== 0) {\n p = blackTable2[(code >> 1) - 64];\n } else {\n p = blackTable3[code >> 7];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n\n return p[1];\n }\n } else {\n var result = this._findTableCode(2, 6, blackTable3);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(7, 12, blackTable2, 64);\n\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(10, 13, blackTable1);\n\n if (result[0]) {\n return result[1];\n }\n }\n\n (0, _util.info)(\"bad black code\");\n\n this._eatBits(1);\n\n return 1;\n },\n _lookBits: function _lookBits(n) {\n var c;\n\n while (this.inputBits < n) {\n if ((c = this.source.next()) === -1) {\n if (this.inputBits === 0) {\n return ccittEOF;\n }\n\n return this.inputBuf << n - this.inputBits & 0xffff >> 16 - n;\n }\n\n this.inputBuf = this.inputBuf << 8 | c;\n this.inputBits += 8;\n }\n\n return this.inputBuf >> this.inputBits - n & 0xffff >> 16 - n;\n },\n _eatBits: function _eatBits(n) {\n if ((this.inputBits -= n) < 0) {\n this.inputBits = 0;\n }\n }\n };\n return CCITTFaxDecoder;\n}();\n\nexports.CCITTFaxDecoder = CCITTFaxDecoder;\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Jbig2Stream = void 0;\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _jbig = __w_pdfjs_require__(213);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar Jbig2Stream = function Jbig2StreamClosure() {\n function Jbig2Stream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(Jbig2Stream.prototype, \"bytes\", {\n get: function get() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n Jbig2Stream.prototype.ensureBuffer = function (requested) {};\n\n Jbig2Stream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jbig2Image = new _jbig.Jbig2Image();\n var chunks = [];\n\n if ((0, _primitives.isDict)(this.params)) {\n var globalsStream = this.params.get(\"JBIG2Globals\");\n\n if ((0, _primitives.isStream)(globalsStream)) {\n var globals = globalsStream.getBytes();\n chunks.push({\n data: globals,\n start: 0,\n end: globals.length\n });\n }\n }\n\n chunks.push({\n data: this.bytes,\n start: 0,\n end: this.bytes.length\n });\n var data = jbig2Image.parseChunks(chunks);\n var dataLength = data.length;\n\n for (var i = 0; i < dataLength; i++) {\n data[i] ^= 0xff;\n }\n\n this.buffer = data;\n this.bufferLength = dataLength;\n this.eof = true;\n };\n\n return Jbig2Stream;\n}();\n\nexports.Jbig2Stream = Jbig2Stream;\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Jbig2Image = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(214);\n\nvar _ccitt = __w_pdfjs_require__(211);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Jbig2Error = /*#__PURE__*/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\nvar Jbig2Image = function Jbig2ImageClosure() {\n function ContextCache() {}\n\n ContextCache.prototype = {\n getContexts: function getContexts(id) {\n if (id in this) {\n return this[id];\n }\n\n return this[id] = new Int8Array(1 << 16);\n }\n };\n\n function DecodingContext(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n }\n\n DecodingContext.prototype = {\n get decoder() {\n var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n return (0, _util.shadow)(this, \"decoder\", decoder);\n },\n\n get contextCache() {\n var cache = new ContextCache();\n return (0, _util.shadow)(this, \"contextCache\", cache);\n }\n\n };\n\n function decodeInteger(contextCache, procedure, decoder) {\n var contexts = contextCache.getContexts(procedure);\n var prev = 1;\n\n function readBits(length) {\n var v = 0;\n\n for (var i = 0; i < length; i++) {\n var bit = decoder.readBit(contexts, prev);\n prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n v = v << 1 | bit;\n }\n\n return v >>> 0;\n }\n\n var sign = readBits(1);\n var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);\n\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\nexports.Jbig2Image = Jbig2Image;\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ArithmeticDecoder = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar QeTable = [{\n qe: 0x5601,\n nmps: 1,\n nlps: 1,\n switchFlag: 1\n}, {\n qe: 0x3401,\n nmps: 2,\n nlps: 6,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 3,\n nlps: 9,\n switchFlag: 0\n}, {\n qe: 0x0ac1,\n nmps: 4,\n nlps: 12,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 5,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 38,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 7,\n nlps: 6,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 8,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 9,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 10,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 11,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 12,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x1c01,\n nmps: 13,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 29,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 15,\n nlps: 14,\n switchFlag: 1\n}, {\n qe: 0x5401,\n nmps: 16,\n nlps: 14,\n switchFlag: 0\n}, {\n qe: 0x5101,\n nmps: 17,\n nlps: 15,\n switchFlag: 0\n}, {\n qe: 0x4801,\n nmps: 18,\n nlps: 16,\n switchFlag: 0\n}, {\n qe: 0x3801,\n nmps: 19,\n nlps: 17,\n switchFlag: 0\n}, {\n qe: 0x3401,\n nmps: 20,\n nlps: 18,\n switchFlag: 0\n}, {\n qe: 0x3001,\n nmps: 21,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2801,\n nmps: 22,\n nlps: 19,\n switchFlag: 0\n}, {\n qe: 0x2401,\n nmps: 23,\n nlps: 20,\n switchFlag: 0\n}, {\n qe: 0x2201,\n nmps: 24,\n nlps: 21,\n switchFlag: 0\n}, {\n qe: 0x1c01,\n nmps: 25,\n nlps: 22,\n switchFlag: 0\n}, {\n qe: 0x1801,\n nmps: 26,\n nlps: 23,\n switchFlag: 0\n}, {\n qe: 0x1601,\n nmps: 27,\n nlps: 24,\n switchFlag: 0\n}, {\n qe: 0x1401,\n nmps: 28,\n nlps: 25,\n switchFlag: 0\n}, {\n qe: 0x1201,\n nmps: 29,\n nlps: 26,\n switchFlag: 0\n}, {\n qe: 0x1101,\n nmps: 30,\n nlps: 27,\n switchFlag: 0\n}, {\n qe: 0x0ac1,\n nmps: 31,\n nlps: 28,\n switchFlag: 0\n}, {\n qe: 0x09c1,\n nmps: 32,\n nlps: 29,\n switchFlag: 0\n}, {\n qe: 0x08a1,\n nmps: 33,\n nlps: 30,\n switchFlag: 0\n}, {\n qe: 0x0521,\n nmps: 34,\n nlps: 31,\n switchFlag: 0\n}, {\n qe: 0x0441,\n nmps: 35,\n nlps: 32,\n switchFlag: 0\n}, {\n qe: 0x02a1,\n nmps: 36,\n nlps: 33,\n switchFlag: 0\n}, {\n qe: 0x0221,\n nmps: 37,\n nlps: 34,\n switchFlag: 0\n}, {\n qe: 0x0141,\n nmps: 38,\n nlps: 35,\n switchFlag: 0\n}, {\n qe: 0x0111,\n nmps: 39,\n nlps: 36,\n switchFlag: 0\n}, {\n qe: 0x0085,\n nmps: 40,\n nlps: 37,\n switchFlag: 0\n}, {\n qe: 0x0049,\n nmps: 41,\n nlps: 38,\n switchFlag: 0\n}, {\n qe: 0x0025,\n nmps: 42,\n nlps: 39,\n switchFlag: 0\n}, {\n qe: 0x0015,\n nmps: 43,\n nlps: 40,\n switchFlag: 0\n}, {\n qe: 0x0009,\n nmps: 44,\n nlps: 41,\n switchFlag: 0\n}, {\n qe: 0x0005,\n nmps: 45,\n nlps: 42,\n switchFlag: 0\n}, {\n qe: 0x0001,\n nmps: 45,\n nlps: 43,\n switchFlag: 0\n}, {\n qe: 0x5601,\n nmps: 46,\n nlps: 46,\n switchFlag: 0\n}];\n\nvar ArithmeticDecoder = /*#__PURE__*/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\nexports.ArithmeticDecoder = ArithmeticDecoder;\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpegStream = void 0;\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _jpg = __w_pdfjs_require__(216);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar JpegStream = function JpegStreamClosure() {\n function JpegStream(stream, maybeLength, dict, params) {\n var ch;\n\n while ((ch = stream.getByte()) !== -1) {\n if (ch === 0xff) {\n stream.skip(-1);\n break;\n }\n }\n\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpegStream.prototype, \"bytes\", {\n get: function JpegStream_bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpegStream.prototype.ensureBuffer = function (requested) {};\n\n JpegStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpegOptions = {\n decodeTransform: undefined,\n colorTransform: undefined\n };\n var decodeArr = this.dict.getArray(\"Decode\", \"D\");\n\n if (this.forceRGB && Array.isArray(decodeArr)) {\n var bitsPerComponent = this.dict.get(\"BitsPerComponent\") || 8;\n var decodeArrLength = decodeArr.length;\n var transform = new Int32Array(decodeArrLength);\n var transformNeeded = false;\n var maxValue = (1 << bitsPerComponent) - 1;\n\n for (var i = 0; i < decodeArrLength; i += 2) {\n transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n transform[i + 1] = decodeArr[i] * maxValue | 0;\n\n if (transform[i] !== 256 || transform[i + 1] !== 0) {\n transformNeeded = true;\n }\n }\n\n if (transformNeeded) {\n jpegOptions.decodeTransform = transform;\n }\n }\n\n if ((0, _primitives.isDict)(this.params)) {\n var colorTransform = this.params.get(\"ColorTransform\");\n\n if (Number.isInteger(colorTransform)) {\n jpegOptions.colorTransform = colorTransform;\n }\n }\n\n var jpegImage = new _jpg.JpegImage(jpegOptions);\n jpegImage.parse(this.bytes);\n var data = jpegImage.getData({\n width: this.drawWidth,\n height: this.drawHeight,\n forceRGB: this.forceRGB,\n isSourcePDF: true\n });\n this.buffer = data;\n this.bufferLength = data.length;\n this.eof = true;\n };\n\n return JpegStream;\n}();\n\nexports.JpegStream = JpegStream;\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpegImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar JpegError = /*#__PURE__*/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\nvar DNLMarkerError = /*#__PURE__*/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\nvar EOIMarkerError = /*#__PURE__*/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\nvar JpegImage = function JpegImageClosure() {\n var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\n var dctCos1 = 4017;\n var dctSin1 = 799;\n var dctCos3 = 3406;\n var dctSin3 = 2276;\n var dctCos6 = 1567;\n var dctSin6 = 3784;\n var dctSqrt2 = 5793;\n var dctSqrt1d2 = 2896;\n\n function JpegImage() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$decodeTransform = _ref.decodeTransform,\n decodeTransform = _ref$decodeTransform === void 0 ? null : _ref$decodeTransform,\n _ref$colorTransform = _ref.colorTransform,\n colorTransform = _ref$colorTransform === void 0 ? -1 : _ref$colorTransform;\n\n this._decodeTransform = decodeTransform;\n this._colorTransform = colorTransform;\n }\n\n function buildHuffmanTable(codeLengths, values) {\n var k = 0,\n code = [],\n i,\n j,\n length = 16;\n\n while (length > 0 && !codeLengths[length - 1]) {\n length--;\n }\n\n code.push({\n children: [],\n index: 0\n });\n var p = code[0],\n q;\n\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n\n while (p.index > 0) {\n p = code.pop();\n }\n\n p.index++;\n code.push(p);\n\n while (code.length <= i) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n\n k++;\n }\n\n if (i + 1 < length) {\n code.push(q = {\n children: [],\n index: 0\n });\n p.children[p.index] = q.children;\n p = q;\n }\n }\n\n return code[0].children;\n }\n\n function getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n }\n\n function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {\n var parseDNLMarker = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;\n var mcusPerLine = frame.mcusPerLine;\n var progressive = frame.progressive;\n var startOffset = offset;\n 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\nexports.JpegImage = JpegImage;\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpxStream = void 0;\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _jpx = __w_pdfjs_require__(218);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar JpxStream = function JpxStreamClosure() {\n function JpxStream(stream, maybeLength, dict, params) {\n this.stream = stream;\n this.maybeLength = maybeLength;\n this.dict = dict;\n this.params = params;\n\n _stream.DecodeStream.call(this, maybeLength);\n }\n\n JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n Object.defineProperty(JpxStream.prototype, \"bytes\", {\n get: function JpxStream_bytes() {\n return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n },\n configurable: true\n });\n\n JpxStream.prototype.ensureBuffer = function (requested) {};\n\n JpxStream.prototype.readBlock = function () {\n if (this.eof) {\n return;\n }\n\n var jpxImage = new _jpx.JpxImage();\n jpxImage.parse(this.bytes);\n var width = jpxImage.width;\n var height = jpxImage.height;\n var componentsCount = jpxImage.componentsCount;\n var tileCount = jpxImage.tiles.length;\n\n if (tileCount === 1) {\n this.buffer = jpxImage.tiles[0].items;\n } else {\n var data = new Uint8ClampedArray(width * height * componentsCount);\n\n for (var k = 0; k < tileCount; k++) {\n var tileComponents = jpxImage.tiles[k];\n var tileWidth = tileComponents.width;\n var tileHeight = tileComponents.height;\n var tileLeft = tileComponents.left;\n var tileTop = tileComponents.top;\n var src = tileComponents.items;\n var srcPosition = 0;\n var dataPosition = (width * tileTop + tileLeft) * componentsCount;\n var imgRowSize = width * componentsCount;\n var tileRowSize = tileWidth * componentsCount;\n\n for (var j = 0; j < tileHeight; j++) {\n var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n data.set(rowBytes, dataPosition);\n srcPosition += tileRowSize;\n dataPosition += imgRowSize;\n }\n }\n\n this.buffer = data;\n }\n\n this.bufferLength = this.buffer.length;\n this.eof = true;\n };\n\n return JpxStream;\n}();\n\nexports.JpxStream = JpxStream;\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JpxImage = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(214);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar JpxError = /*#__PURE__*/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\nvar JpxImage = function JpxImageClosure() {\n var SubbandsGainLog2 = {\n LL: 0,\n LH: 1,\n HL: 1,\n HH: 2\n };\n\n function JpxImage() {\n this.failOnCorruptedImage = false;\n }\n\n JpxImage.prototype = {\n parse: function JpxImage_parse(data) {\n var head = (0, _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\nexports.JpxImage = JpxImage;\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ARCFourCipher = function ARCFourCipherClosure() {\n function ARCFourCipher(key) {\n this.a = 0;\n this.b = 0;\n var s = new Uint8Array(256);\n var i,\n j = 0,\n tmp,\n keyLength = key.length;\n\n for (i = 0; i < 256; ++i) {\n s[i] = i;\n }\n\n for (i = 0; i < 256; ++i) {\n tmp = s[i];\n j = j + tmp + key[i % keyLength] & 0xff;\n s[i] = s[j];\n s[j] = tmp;\n }\n\n this.s = s;\n }\n\n ARCFourCipher.prototype = {\n encryptBlock: function ARCFourCipher_encryptBlock(data) {\n var i,\n n = data.length,\n tmp,\n tmp2;\n var a = this.a,\n b = this.b,\n s = this.s;\n var output = new Uint8Array(n);\n\n for (i = 0; i < n; ++i) {\n a = a + 1 & 0xff;\n tmp = s[a];\n b = b + tmp & 0xff;\n tmp2 = s[b];\n s[a] = tmp2;\n s[b] = tmp;\n output[i] = data[i] ^ s[tmp + tmp2 & 0xff];\n }\n\n this.a = a;\n this.b = b;\n return output;\n }\n };\n ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n ARCFourCipher.prototype.encrypt = ARCFourCipher.prototype.encryptBlock;\n return ARCFourCipher;\n}();\n\nexports.ARCFourCipher = ARCFourCipher;\n\nvar calculateMD5 = function calculateMD5Closure() {\n var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n\n function hash(data, offset, length) {\n var h0 = 1732584193,\n h1 = -271733879,\n h2 = -1732584194,\n h3 = 271733878;\n var paddedLength = length + 72 & ~63;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = length << 3 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n var w = new Int32Array(16);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j, i += 4) {\n w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n f,\n g;\n\n for (j = 0; j < 64; ++j) {\n if (j < 16) {\n f = b & c | ~b & d;\n g = j;\n } else if (j < 32) {\n f = d & b | ~d & c;\n g = 5 * j + 1 & 15;\n } else if (j < 48) {\n f = b ^ c ^ d;\n g = 3 * j + 5 & 15;\n } else {\n f = c ^ (b | ~d);\n g = 7 * j & 15;\n }\n\n var tmp = d,\n rotateArg = a + f + k[j] + w[g] | 0,\n rotate = r[j];\n d = c;\n c = b;\n b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n a = tmp;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n }\n\n return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateMD5 = calculateMD5;\n\nvar Word64 = function Word64Closure() {\n function Word64(highInteger, lowInteger) {\n this.high = highInteger | 0;\n this.low = lowInteger | 0;\n }\n\n Word64.prototype = {\n and: function Word64_and(word) {\n this.high &= word.high;\n this.low &= word.low;\n },\n xor: function Word64_xor(word) {\n this.high ^= word.high;\n this.low ^= word.low;\n },\n or: function Word64_or(word) {\n this.high |= word.high;\n this.low |= word.low;\n },\n shiftRight: function Word64_shiftRight(places) {\n if (places >= 32) {\n this.low = this.high >>> places - 32 | 0;\n this.high = 0;\n } else {\n this.low = this.low >>> places | this.high << 32 - places;\n this.high = this.high >>> places | 0;\n }\n },\n shiftLeft: function Word64_shiftLeft(places) {\n if (places >= 32) {\n this.high = this.low << places - 32;\n this.low = 0;\n } else {\n this.high = this.high << places | this.low >>> 32 - places;\n this.low = this.low << places;\n }\n },\n rotateRight: function Word64_rotateRight(places) {\n var low, high;\n\n if (places & 32) {\n high = this.low;\n low = this.high;\n } else {\n low = this.low;\n high = this.high;\n }\n\n places &= 31;\n this.low = low >>> places | high << 32 - places;\n this.high = high >>> places | low << 32 - places;\n },\n not: function Word64_not() {\n this.high = ~this.high;\n this.low = ~this.low;\n },\n add: function Word64_add(word) {\n var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n var highAdd = (this.high >>> 0) + (word.high >>> 0);\n\n if (lowAdd > 0xffffffff) {\n highAdd += 1;\n }\n\n this.low = lowAdd | 0;\n this.high = highAdd | 0;\n },\n copyTo: function Word64_copyTo(bytes, offset) {\n bytes[offset] = this.high >>> 24 & 0xff;\n bytes[offset + 1] = this.high >> 16 & 0xff;\n bytes[offset + 2] = this.high >> 8 & 0xff;\n bytes[offset + 3] = this.high & 0xff;\n bytes[offset + 4] = this.low >>> 24 & 0xff;\n bytes[offset + 5] = this.low >> 16 & 0xff;\n bytes[offset + 6] = this.low >> 8 & 0xff;\n bytes[offset + 7] = this.low & 0xff;\n },\n assign: function Word64_assign(word) {\n this.high = word.high;\n this.low = word.low;\n }\n };\n return Word64;\n}();\n\nvar calculateSHA256 = function calculateSHA256Closure() {\n function rotr(x, n) {\n return x >>> n | x << 32 - n;\n }\n\n function ch(x, y, z) {\n return x & y ^ ~x & z;\n }\n\n function maj(x, y, z) {\n return x & y ^ x & z ^ y & z;\n }\n\n function sigma(x) {\n return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n }\n\n function sigmaPrime(x) {\n return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n }\n\n function littleSigma(x) {\n return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n }\n\n function littleSigmaPrime(x) {\n return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n }\n\n var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n\n function hash(data, offset, length) {\n var h0 = 0x6a09e667,\n h1 = 0xbb67ae85,\n h2 = 0x3c6ef372,\n h3 = 0xa54ff53a,\n h4 = 0x510e527f,\n h5 = 0x9b05688c,\n h6 = 0x1f83d9ab,\n h7 = 0x5be0cd19;\n var paddedLength = Math.ceil((length + 9) / 64) * 64;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 8;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length << 3 & 0xff;\n var w = new Uint32Array(64);\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n i += 4;\n }\n\n for (j = 16; j < 64; ++j) {\n w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n }\n\n var a = h0,\n b = h1,\n c = h2,\n d = h3,\n e = h4,\n f = h5,\n g = h6,\n h = h7,\n t1,\n t2;\n\n for (j = 0; j < 64; ++j) {\n t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n t2 = sigma(a) + maj(a, b, c);\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n h4 = h4 + e | 0;\n h5 = h5 + f | 0;\n h6 = h6 + g | 0;\n h7 = h7 + h | 0;\n }\n\n return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n }\n\n return hash;\n}();\n\nexports.calculateSHA256 = calculateSHA256;\n\nvar calculateSHA512 = function calculateSHA512Closure() {\n function ch(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.not();\n tmp.and(z);\n result.xor(tmp);\n }\n\n function maj(result, x, y, z, tmp) {\n result.assign(x);\n result.and(y);\n tmp.assign(x);\n tmp.and(z);\n result.xor(tmp);\n tmp.assign(y);\n tmp.and(z);\n result.xor(tmp);\n }\n\n function sigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(28);\n tmp.assign(x);\n tmp.rotateRight(34);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(39);\n result.xor(tmp);\n }\n\n function sigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(14);\n tmp.assign(x);\n tmp.rotateRight(18);\n result.xor(tmp);\n tmp.assign(x);\n tmp.rotateRight(41);\n result.xor(tmp);\n }\n\n function littleSigma(result, x, tmp) {\n result.assign(x);\n result.rotateRight(1);\n tmp.assign(x);\n tmp.rotateRight(8);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(7);\n result.xor(tmp);\n }\n\n function littleSigmaPrime(result, x, tmp) {\n result.assign(x);\n result.rotateRight(19);\n tmp.assign(x);\n tmp.rotateRight(61);\n result.xor(tmp);\n tmp.assign(x);\n tmp.shiftRight(6);\n result.xor(tmp);\n }\n\n var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n\n function hash(data, offset, length, mode384) {\n mode384 = !!mode384;\n var h0, h1, h2, h3, h4, h5, h6, h7;\n\n if (!mode384) {\n h0 = new Word64(0x6a09e667, 0xf3bcc908);\n h1 = new Word64(0xbb67ae85, 0x84caa73b);\n h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n h4 = new Word64(0x510e527f, 0xade682d1);\n h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n h7 = new Word64(0x5be0cd19, 0x137e2179);\n } else {\n h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n h1 = new Word64(0x629a292a, 0x367cd507);\n h2 = new Word64(0x9159015a, 0x3070dd17);\n h3 = new Word64(0x152fecd8, 0xf70e5939);\n h4 = new Word64(0x67332667, 0xffc00b31);\n h5 = new Word64(0x8eb44a87, 0x68581511);\n h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n }\n\n var paddedLength = Math.ceil((length + 17) / 128) * 128;\n var padded = new Uint8Array(paddedLength);\n var i, j, n;\n\n for (i = 0; i < length; ++i) {\n padded[i] = data[offset++];\n }\n\n padded[i++] = 0x80;\n n = paddedLength - 16;\n\n while (i < n) {\n padded[i++] = 0;\n }\n\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = 0;\n padded[i++] = length >>> 29 & 0xff;\n padded[i++] = length >> 21 & 0xff;\n padded[i++] = length >> 13 & 0xff;\n padded[i++] = length >> 5 & 0xff;\n padded[i++] = length << 3 & 0xff;\n var w = new Array(80);\n\n for (i = 0; i < 80; i++) {\n w[i] = new Word64(0, 0);\n }\n\n var a = new Word64(0, 0),\n b = new Word64(0, 0),\n c = new Word64(0, 0);\n var d = new Word64(0, 0),\n e = new Word64(0, 0),\n f = new Word64(0, 0);\n var g = new Word64(0, 0),\n h = new Word64(0, 0);\n var t1 = new Word64(0, 0),\n t2 = new Word64(0, 0);\n var tmp1 = new Word64(0, 0),\n tmp2 = new Word64(0, 0),\n tmp3;\n\n for (i = 0; i < paddedLength;) {\n for (j = 0; j < 16; ++j) {\n w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n i += 8;\n }\n\n for (j = 16; j < 80; ++j) {\n tmp3 = w[j];\n littleSigmaPrime(tmp3, w[j - 2], tmp2);\n tmp3.add(w[j - 7]);\n littleSigma(tmp1, w[j - 15], tmp2);\n tmp3.add(tmp1);\n tmp3.add(w[j - 16]);\n }\n\n a.assign(h0);\n b.assign(h1);\n c.assign(h2);\n d.assign(h3);\n e.assign(h4);\n f.assign(h5);\n g.assign(h6);\n h.assign(h7);\n\n for (j = 0; j < 80; ++j) {\n t1.assign(h);\n sigmaPrime(tmp1, e, tmp2);\n t1.add(tmp1);\n ch(tmp1, e, f, g, tmp2);\n t1.add(tmp1);\n t1.add(k[j]);\n t1.add(w[j]);\n sigma(t2, a, tmp2);\n maj(tmp1, a, b, c, tmp2);\n t2.add(tmp1);\n tmp3 = h;\n h = g;\n g = f;\n f = e;\n d.add(t1);\n e = d;\n d = c;\n c = b;\n b = a;\n tmp3.assign(t1);\n tmp3.add(t2);\n a = tmp3;\n }\n\n h0.add(a);\n h1.add(b);\n h2.add(c);\n h3.add(d);\n h4.add(e);\n h5.add(f);\n h6.add(g);\n h7.add(h);\n }\n\n var result;\n\n if (!mode384) {\n result = new Uint8Array(64);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n h6.copyTo(result, 48);\n h7.copyTo(result, 56);\n } else {\n result = new Uint8Array(48);\n h0.copyTo(result, 0);\n h1.copyTo(result, 8);\n h2.copyTo(result, 16);\n h3.copyTo(result, 24);\n h4.copyTo(result, 32);\n h5.copyTo(result, 40);\n }\n\n return result;\n }\n\n return hash;\n}();\n\nexports.calculateSHA512 = calculateSHA512;\n\nvar calculateSHA384 = function calculateSHA384Closure() {\n function hash(data, offset, length) {\n return calculateSHA512(data, offset, length, true);\n }\n\n return hash;\n}();\n\nexports.calculateSHA384 = calculateSHA384;\n\nvar NullCipher = function NullCipherClosure() {\n function NullCipher() {}\n\n NullCipher.prototype = {\n decryptBlock: function NullCipher_decryptBlock(data) {\n return data;\n },\n encrypt: function NullCipher_encrypt(data) {\n return data;\n }\n };\n return NullCipher;\n}();\n\nvar AESBaseCipher = /*#__PURE__*/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\nvar AES128Cipher = /*#__PURE__*/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\nexports.AES128Cipher = AES128Cipher;\n\nvar AES256Cipher = /*#__PURE__*/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\nexports.AES256Cipher = AES256Cipher;\n\nvar PDF17 = function PDF17Closure() {\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n function PDF17() {}\n\n PDF17.prototype = {\n checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculateSHA256(hashData, 0, hashData.length);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculateSHA256(hashData, 0, hashData.length);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF17;\n}();\n\nexports.PDF17 = PDF17;\n\nvar PDF20 = function PDF20Closure() {\n function concatArrays(array1, array2) {\n var t = new Uint8Array(array1.length + array2.length);\n t.set(array1, 0);\n t.set(array2, array1.length);\n return t;\n }\n\n function calculatePDF20Hash(password, input, userBytes) {\n var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n var e = [0];\n var i = 0;\n\n while (i < 64 || e[e.length - 1] > i - 32) {\n var arrayLength = password.length + k.length + userBytes.length;\n var k1 = new Uint8Array(arrayLength * 64);\n var array = concatArrays(password, k);\n array = concatArrays(array, userBytes);\n\n for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n k1.set(array, pos);\n }\n\n var cipher = new AES128Cipher(k.subarray(0, 16));\n e = cipher.encrypt(k1, k.subarray(16, 32));\n var remainder = 0;\n\n for (var z = 0; z < 16; z++) {\n remainder *= 256 % 3;\n remainder %= 3;\n remainder += (e[z] >>> 0) % 3;\n remainder %= 3;\n }\n\n if (remainder === 0) {\n k = calculateSHA256(e, 0, e.length);\n } else if (remainder === 1) {\n k = calculateSHA384(e, 0, e.length);\n } else if (remainder === 2) {\n k = calculateSHA512(e, 0, e.length);\n }\n\n i++;\n }\n\n return k.subarray(0, 32);\n }\n\n function PDF20() {}\n\n function compareByteArrays(array1, array2) {\n if (array1.length !== array2.length) {\n return false;\n }\n\n for (var i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n PDF20.prototype = {\n hash: function PDF20_hash(password, concatBytes, userBytes) {\n return calculatePDF20Hash(password, concatBytes, userBytes);\n },\n checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerValidationSalt, password.length);\n hashData.set(userBytes, password.length + ownerValidationSalt.length);\n var result = calculatePDF20Hash(password, hashData, userBytes);\n return compareByteArrays(result, ownerPassword);\n },\n checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userValidationSalt, password.length);\n var result = calculatePDF20Hash(password, hashData, []);\n return compareByteArrays(result, userPassword);\n },\n getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n var hashData = new Uint8Array(password.length + 56);\n hashData.set(password, 0);\n hashData.set(ownerKeySalt, password.length);\n hashData.set(userBytes, password.length + ownerKeySalt.length);\n var key = calculatePDF20Hash(password, hashData, userBytes);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n },\n getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {\n var hashData = new Uint8Array(password.length + 8);\n hashData.set(password, 0);\n hashData.set(userKeySalt, password.length);\n var key = calculatePDF20Hash(password, hashData, []);\n var cipher = new AES256Cipher(key);\n return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n }\n };\n return PDF20;\n}();\n\nexports.PDF20 = PDF20;\n\nvar CipherTransform = function CipherTransformClosure() {\n function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n this.StringCipherConstructor = stringCipherConstructor;\n this.StreamCipherConstructor = streamCipherConstructor;\n }\n\n CipherTransform.prototype = {\n createStream: function CipherTransform_createStream(stream, length) {\n var cipher = new this.StreamCipherConstructor();\n return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n return cipher.decryptBlock(data, finalize);\n });\n },\n decryptString: function CipherTransform_decryptString(s) {\n var cipher = new this.StringCipherConstructor();\n var data = (0, _util.stringToBytes)(s);\n data = cipher.decryptBlock(data, true);\n return (0, _util.bytesToString)(data);\n },\n 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\nvar CipherTransformFactory = function CipherTransformFactoryClosure() {\n var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n\n function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n if (password) {\n var passwordLength = Math.min(127, password.length);\n password = password.subarray(0, passwordLength);\n } else {\n password = [];\n }\n\n var pdfAlgorithm;\n\n if (revision === 6) {\n pdfAlgorithm = new PDF20();\n } else {\n pdfAlgorithm = new PDF17();\n }\n\n if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n }\n\n return null;\n }\n\n function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n var hashDataSize = 40 + ownerPassword.length + fileId.length;\n var hashData = new Uint8Array(hashDataSize),\n i = 0,\n j,\n n;\n\n if (password) {\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n for (j = 0, n = ownerPassword.length; j < n; ++j) {\n hashData[i++] = ownerPassword[j];\n }\n\n hashData[i++] = flags & 0xff;\n hashData[i++] = flags >> 8 & 0xff;\n hashData[i++] = flags >> 16 & 0xff;\n hashData[i++] = flags >>> 24 & 0xff;\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n if (revision >= 4 && !encryptMetadata) {\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n hashData[i++] = 0xff;\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, keyLengthInBytes);\n }\n }\n\n var encryptionKey = hash.subarray(0, keyLengthInBytes);\n var cipher, checkData;\n\n if (revision >= 3) {\n for (i = 0; i < 32; ++i) {\n hashData[i] = defaultPasswordBytes[i];\n }\n\n for (j = 0, n = fileId.length; j < n; ++j) {\n hashData[i++] = fileId[j];\n }\n\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n n = encryptionKey.length;\n var derivedKey = new Uint8Array(n),\n k;\n\n for (j = 1; j <= 19; ++j) {\n for (k = 0; k < n; ++k) {\n derivedKey[k] = encryptionKey[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n checkData = cipher.encryptBlock(checkData);\n }\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n } else {\n cipher = new ARCFourCipher(encryptionKey);\n checkData = cipher.encryptBlock(defaultPasswordBytes);\n\n for (j = 0, n = checkData.length; j < n; ++j) {\n if (userPassword[j] !== checkData[j]) {\n return null;\n }\n }\n }\n\n return encryptionKey;\n }\n\n function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n var hashData = new Uint8Array(32),\n i = 0,\n j,\n n;\n n = Math.min(32, password.length);\n\n for (; i < n; ++i) {\n hashData[i] = password[i];\n }\n\n j = 0;\n\n while (i < 32) {\n hashData[i++] = defaultPasswordBytes[j++];\n }\n\n var hash = calculateMD5(hashData, 0, i);\n var keyLengthInBytes = keyLength >> 3;\n\n if (revision >= 3) {\n for (j = 0; j < 50; ++j) {\n hash = calculateMD5(hash, 0, hash.length);\n }\n }\n\n var cipher, userPassword;\n\n if (revision >= 3) {\n userPassword = ownerPassword;\n var derivedKey = new Uint8Array(keyLengthInBytes),\n k;\n\n for (j = 19; j >= 0; j--) {\n for (k = 0; k < keyLengthInBytes; ++k) {\n derivedKey[k] = hash[k] ^ j;\n }\n\n cipher = new ARCFourCipher(derivedKey);\n userPassword = cipher.encryptBlock(userPassword);\n }\n } else {\n cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n userPassword = cipher.encryptBlock(ownerPassword);\n }\n\n return userPassword;\n }\n\n var identityName = _primitives.Name.get(\"Identity\");\n\n function CipherTransformFactory(dict, fileId, password) {\n var filter = dict.get(\"Filter\");\n\n if (!(0, _primitives.isName)(filter, \"Standard\")) {\n throw new _util.FormatError(\"unknown encryption method\");\n }\n\n this.dict = dict;\n var algorithm = dict.get(\"V\");\n\n if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n throw new _util.FormatError(\"unsupported encryption algorithm\");\n }\n\n this.algorithm = algorithm;\n var keyLength = dict.get(\"Length\");\n\n if (!keyLength) {\n if (algorithm <= 3) {\n keyLength = 40;\n } else {\n var cfDict = dict.get(\"CF\");\n var streamCryptoName = dict.get(\"StmF\");\n\n if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {\n cfDict.suppressEncryption = true;\n var handlerDict = cfDict.get(streamCryptoName.name);\n keyLength = handlerDict && handlerDict.get(\"Length\") || 128;\n\n if (keyLength < 40) {\n keyLength <<= 3;\n }\n }\n }\n }\n\n if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n throw new _util.FormatError(\"invalid key length\");\n }\n\n var ownerPassword = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(0, 32);\n var userPassword = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 32);\n var flags = dict.get(\"P\");\n var revision = dict.get(\"R\");\n var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get(\"EncryptMetadata\") !== false;\n this.encryptMetadata = encryptMetadata;\n var fileIdBytes = (0, _util.stringToBytes)(fileId);\n var passwordBytes;\n\n if (password) {\n if (revision === 6) {\n try {\n password = (0, _util.utf8StringToString)(password);\n } catch (ex) {\n (0, _util.warn)(\"CipherTransformFactory: \" + \"Unable to convert UTF8 encoded password.\");\n }\n }\n\n passwordBytes = (0, _util.stringToBytes)(password);\n }\n\n var encryptionKey;\n\n if (algorithm !== 5) {\n encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n } else {\n var ownerValidationSalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(32, 40);\n var ownerKeySalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(40, 48);\n var uBytes = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 48);\n var userValidationSalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(32, 40);\n var userKeySalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(40, 48);\n var ownerEncryption = (0, _util.stringToBytes)(dict.get(\"OE\"));\n var userEncryption = (0, _util.stringToBytes)(dict.get(\"UE\"));\n var perms = (0, _util.stringToBytes)(dict.get(\"Perms\"));\n encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n }\n\n if (!encryptionKey && !password) {\n throw new _util.PasswordException(\"No password given\", _util.PasswordResponses.NEED_PASSWORD);\n } else if (!encryptionKey && password) {\n var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n }\n\n if (!encryptionKey) {\n throw new _util.PasswordException(\"Incorrect Password\", _util.PasswordResponses.INCORRECT_PASSWORD);\n }\n\n this.encryptionKey = encryptionKey;\n\n if (algorithm >= 4) {\n var cf = dict.get(\"CF\");\n\n if ((0, _primitives.isDict)(cf)) {\n cf.suppressEncryption = true;\n }\n\n this.cf = cf;\n this.stmf = dict.get(\"StmF\") || identityName;\n this.strf = dict.get(\"StrF\") || identityName;\n this.eff = dict.get(\"EFF\") || this.stmf;\n }\n }\n\n function buildObjectKey(num, gen, encryptionKey, isAes) {\n var key = new Uint8Array(encryptionKey.length + 9),\n i,\n n;\n\n for (i = 0, n = encryptionKey.length; i < n; ++i) {\n key[i] = encryptionKey[i];\n }\n\n key[i++] = num & 0xff;\n key[i++] = num >> 8 & 0xff;\n key[i++] = num >> 16 & 0xff;\n key[i++] = gen & 0xff;\n key[i++] = gen >> 8 & 0xff;\n\n if (isAes) {\n key[i++] = 0x73;\n key[i++] = 0x41;\n key[i++] = 0x6c;\n key[i++] = 0x54;\n }\n\n var hash = calculateMD5(key, 0, i);\n return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n }\n\n function buildCipherConstructor(cf, name, num, gen, key) {\n if (!(0, _primitives.isName)(name)) {\n throw new _util.FormatError(\"Invalid crypt filter name.\");\n }\n\n var cryptFilter = cf.get(name.name);\n var cfm;\n\n if (cryptFilter !== null && cryptFilter !== undefined) {\n cfm = cryptFilter.get(\"CFM\");\n }\n\n if (!cfm || cfm.name === \"None\") {\n return function cipherTransformFactoryBuildCipherConstructorNone() {\n return new NullCipher();\n };\n }\n\n if (cfm.name === \"V2\") {\n return function cipherTransformFactoryBuildCipherConstructorV2() {\n return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n };\n }\n\n if (cfm.name === \"AESV2\") {\n return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n return new AES128Cipher(buildObjectKey(num, gen, key, true));\n };\n }\n\n if (cfm.name === \"AESV3\") {\n return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n return new AES256Cipher(key);\n };\n }\n\n throw new _util.FormatError(\"Unknown crypto method\");\n }\n\n CipherTransformFactory.prototype = {\n createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {\n if (this.algorithm === 4 || this.algorithm === 5) {\n return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));\n }\n\n var key = buildObjectKey(num, gen, this.encryptionKey, false);\n\n var cipherConstructor = function buildCipherCipherConstructor() {\n return new ARCFourCipher(key);\n };\n\n return new CipherTransform(cipherConstructor, cipherConstructor);\n }\n };\n return CipherTransformFactory;\n}();\n\nexports.CipherTransformFactory = CipherTransformFactory;\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorSpace = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n var COMPONENTS = 3;\n alpha01 = alpha01 !== 1 ? 0 : alpha01;\n var xRatio = w1 / w2;\n var yRatio = h1 / h2;\n var newIndex = 0,\n oldIndex;\n var xScaled = new Uint16Array(w2);\n var w1Scanline = w1 * COMPONENTS;\n\n for (var i = 0; i < w2; i++) {\n xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n }\n\n for (var _i = 0; _i < h2; _i++) {\n var py = Math.floor(_i * yRatio) * w1Scanline;\n\n for (var j = 0; j < w2; j++) {\n oldIndex = py + xScaled[j];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n dest[newIndex++] = src[oldIndex++];\n newIndex += alpha01;\n }\n }\n}\n\nvar ColorSpace = /*#__PURE__*/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( /*#__PURE__*/_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\nexports.ColorSpace = ColorSpace;\n\nvar AlternateCS = /*#__PURE__*/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\nvar PatternCS = /*#__PURE__*/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\nvar IndexedCS = /*#__PURE__*/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\nvar DeviceGrayCS = /*#__PURE__*/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\nvar DeviceRgbCS = /*#__PURE__*/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\nvar DeviceCmykCS = function DeviceCmykCSClosure() {\n function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n var c = src[srcOffset] * srcScale;\n var m = src[srcOffset + 1] * srcScale;\n var y = src[srcOffset + 2] * srcScale;\n var k = src[srcOffset + 3] * srcScale;\n dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);\n dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);\n dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);\n }\n\n var DeviceCmykCS = /*#__PURE__*/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\nvar CalGrayCS = function CalGrayCSClosure() {\n function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n var A = src[srcOffset] * scale;\n var AG = Math.pow(A, cs.G);\n var L = cs.YW * AG;\n var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0);\n dest[destOffset] = val;\n dest[destOffset + 1] = val;\n dest[destOffset + 2] = val;\n }\n\n var CalGrayCS = /*#__PURE__*/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\nvar CalRGBCS = function CalRGBCSClosure() {\n var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n var tempNormalizeMatrix = new Float32Array(3);\n var tempConvertMatrix1 = new Float32Array(3);\n var tempConvertMatrix2 = new Float32Array(3);\n var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;\n\n function matrixProduct(a, b, result) {\n result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n }\n\n function convertToFlat(sourceWhitePoint, LMS, result) {\n result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n }\n\n function convertToD65(sourceWhitePoint, LMS, result) {\n var D65X = 0.95047;\n var D65Y = 1;\n var D65Z = 1.08883;\n result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n }\n\n function sRGBTransferFunction(color) {\n if (color <= 0.0031308) {\n return adjustToRange(0, 1, 12.92 * color);\n }\n\n 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 = /*#__PURE__*/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\nvar LabCS = function LabCSClosure() {\n function fn_g(x) {\n var result;\n\n if (x >= 6 / 29) {\n result = x * x * x;\n } else {\n result = 108 / 841 * (x - 4 / 29);\n }\n\n return result;\n }\n\n function decode(value, high1, low2, high2) {\n return low2 + value * (high2 - low2) / high1;\n }\n\n function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n var Ls = src[srcOffset];\n var as = src[srcOffset + 1];\n var bs = src[srcOffset + 2];\n\n if (maxVal !== false) {\n Ls = decode(Ls, maxVal, 0, 100);\n as = decode(as, maxVal, cs.amin, cs.amax);\n bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n }\n\n 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 = /*#__PURE__*/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/* 221 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalImageCache = exports.LocalGStateCache = exports.LocalFunctionCache = exports.LocalColorSpaceCache = exports.LocalImageCache = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseLocalCache = /*#__PURE__*/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\nvar LocalImageCache = /*#__PURE__*/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\nexports.LocalImageCache = LocalImageCache;\n\nvar LocalColorSpaceCache = /*#__PURE__*/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\nexports.LocalColorSpaceCache = LocalColorSpaceCache;\n\nvar LocalFunctionCache = /*#__PURE__*/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\nexports.LocalFunctionCache = LocalFunctionCache;\n\nvar LocalGStateCache = /*#__PURE__*/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\nexports.LocalGStateCache = LocalGStateCache;\n\nvar GlobalImageCache = /*#__PURE__*/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\nexports.GlobalImageCache = GlobalImageCache;\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getQuadPoints = getQuadPoints;\nexports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _obj = __w_pdfjs_require__(207);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _operator_list = __w_pdfjs_require__(223);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _writer = __w_pdfjs_require__(224);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationFactory = /*#__PURE__*/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\nexports.AnnotationFactory = AnnotationFactory;\n\nfunction 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\nfunction 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\nvar Annotation = /*#__PURE__*/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( /*#__PURE__*/_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\nexports.Annotation = Annotation;\n\nvar AnnotationBorderStyle = /*#__PURE__*/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\nexports.AnnotationBorderStyle = AnnotationBorderStyle;\n\nvar MarkupAnnotation = /*#__PURE__*/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\nexports.MarkupAnnotation = MarkupAnnotation;\n\nvar WidgetAnnotation = /*#__PURE__*/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( /*#__PURE__*/_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( /*#__PURE__*/_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( /*#__PURE__*/_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\nvar TextWidgetAnnotation = /*#__PURE__*/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\nvar ButtonWidgetAnnotation = /*#__PURE__*/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( /*#__PURE__*/_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( /*#__PURE__*/_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( /*#__PURE__*/_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\nvar ChoiceWidgetAnnotation = /*#__PURE__*/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\nvar TextAnnotation = /*#__PURE__*/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\nvar LinkAnnotation = /*#__PURE__*/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\nvar PopupAnnotation = /*#__PURE__*/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\nvar FreeTextAnnotation = /*#__PURE__*/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\nvar LineAnnotation = /*#__PURE__*/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\nvar SquareAnnotation = /*#__PURE__*/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\nvar CircleAnnotation = /*#__PURE__*/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\nvar PolylineAnnotation = /*#__PURE__*/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\nvar PolygonAnnotation = /*#__PURE__*/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\nvar CaretAnnotation = /*#__PURE__*/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\nvar InkAnnotation = /*#__PURE__*/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\nvar HighlightAnnotation = /*#__PURE__*/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\nvar UnderlineAnnotation = /*#__PURE__*/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\nvar SquigglyAnnotation = /*#__PURE__*/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\nvar StrikeOutAnnotation = /*#__PURE__*/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\nvar StampAnnotation = /*#__PURE__*/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\nvar FileAttachmentAnnotation = /*#__PURE__*/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/* 223 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OperatorList = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar QueueOptimizer = function QueueOptimizerClosure() {\n function addState(parentState, pattern, checkFn, iterateFn, processFn) {\n var state = parentState;\n\n for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n var item = pattern[i];\n state = state[item] || (state[item] = []);\n }\n\n state[pattern[pattern.length - 1]] = {\n checkFn: checkFn,\n iterateFn: iterateFn,\n processFn: processFn\n };\n }\n\n function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {\n var iFirstPIMXO = iFirstSave + 2;\n\n for (var i = 0; i < count; i++) {\n var arg = argsArray[iFirstPIMXO + 4 * i];\n var imageMask = arg.length === 1 && arg[0];\n\n if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {\n fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;\n continue;\n }\n\n break;\n }\n\n return count - i;\n }\n\n var InitialState = [];\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintInlineImageXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateInlineImageGroup - invalid pos: \".concat(pos));\n }, function foundInlineImageGroup(context, i) {\n var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n var MAX_WIDTH = 1000;\n var IMAGE_PADDING = 1;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIIXO = curr - 1;\n var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n\n if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var maxX = 0;\n var map = [],\n maxLineHeight = 0;\n var currentX = IMAGE_PADDING,\n currentY = IMAGE_PADDING;\n var q;\n\n for (q = 0; q < count; q++) {\n var transform = argsArray[iFirstTransform + (q << 2)];\n var img = argsArray[iFirstPIIXO + (q << 2)][0];\n\n if (currentX + img.width > MAX_WIDTH) {\n maxX = Math.max(maxX, currentX);\n currentY += maxLineHeight + 2 * IMAGE_PADDING;\n currentX = 0;\n maxLineHeight = 0;\n }\n\n map.push({\n transform: transform,\n x: currentX,\n y: currentY,\n w: img.width,\n h: img.height\n });\n currentX += img.width + 2 * IMAGE_PADDING;\n maxLineHeight = Math.max(maxLineHeight, img.height);\n }\n\n var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);\n var imgRowSize = imgWidth << 2;\n\n for (q = 0; q < count; q++) {\n var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n var rowSize = map[q].w << 2;\n var dataOffset = 0;\n var offset = map[q].x + map[q].y * imgWidth << 2;\n imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n\n for (var k = 0, kk = map[q].h; k < kk; k++) {\n imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n dataOffset += rowSize;\n offset += imgRowSize;\n }\n\n imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n\n while (offset >= 0) {\n data[offset - 4] = data[offset];\n data[offset - 3] = data[offset + 1];\n data[offset - 2] = data[offset + 2];\n data[offset - 1] = data[offset + 3];\n data[offset + rowSize] = data[offset + rowSize - 4];\n data[offset + rowSize + 1] = data[offset + rowSize - 3];\n data[offset + rowSize + 2] = data[offset + rowSize - 2];\n data[offset + rowSize + 3] = data[offset + rowSize - 1];\n offset -= imgRowSize;\n }\n }\n\n fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n argsArray.splice(iFirstSave, count * 4, [{\n width: imgWidth,\n height: imgHeight,\n kind: _util.ImageKind.RGBA_32BPP,\n data: imgData\n }, map]);\n return iFirstSave + 1;\n });\n addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {\n var fnArray = context.fnArray;\n var iFirstSave = context.iCurr - 3;\n var pos = (i - iFirstSave) % 4;\n\n switch (pos) {\n case 0:\n return fnArray[i] === _util.OPS.save;\n\n case 1:\n return fnArray[i] === _util.OPS.transform;\n\n case 2:\n return fnArray[i] === _util.OPS.paintImageMaskXObject;\n\n case 3:\n return fnArray[i] === _util.OPS.restore;\n }\n\n throw new Error(\"iterateImageMaskGroup - invalid pos: \".concat(pos));\n }, function foundImageMaskGroup(context, i) {\n var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n var fnArray = context.fnArray,\n argsArray = context.argsArray;\n var curr = context.iCurr;\n var iFirstSave = curr - 3;\n var iFirstTransform = curr - 2;\n var iFirstPIMXO = curr - 1;\n var count = Math.floor((i - iFirstSave) / 4);\n count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);\n\n if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n return i - (i - iFirstSave) % 4;\n }\n\n var q;\n var isSameImage = false;\n var iTransform, transformArgs;\n var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n 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\nvar NullOptimizer = function NullOptimizerClosure() {\n function NullOptimizer(queue) {\n this.queue = queue;\n }\n\n NullOptimizer.prototype = {\n push: function push(fn, args) {\n this.queue.fnArray.push(fn);\n this.queue.argsArray.push(args);\n },\n flush: function flush() {},\n reset: function reset() {}\n };\n return NullOptimizer;\n}();\n\nvar OperatorList = function OperatorListClosure() {\n var CHUNK_SIZE = 1000;\n var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n\n function OperatorList(intent, 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\nexports.OperatorList = OperatorList;\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.writeDict = writeDict;\nexports.incrementalUpdate = incrementalUpdate;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _crypto = __w_pdfjs_require__(219);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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/* 225 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PartialEvaluator = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cmap = __w_pdfjs_require__(226);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _fonts = __w_pdfjs_require__(227);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _unicode = __w_pdfjs_require__(233);\n\nvar _standard_fonts = __w_pdfjs_require__(232);\n\nvar _pattern = __w_pdfjs_require__(236);\n\nvar _function = __w_pdfjs_require__(237);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _image_utils = __w_pdfjs_require__(221);\n\nvar _bidi = __w_pdfjs_require__(239);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _glyphlist = __w_pdfjs_require__(231);\n\nvar _metrics = __w_pdfjs_require__(240);\n\nvar _murmurhash = __w_pdfjs_require__(241);\n\nvar _operator_list = __w_pdfjs_require__(223);\n\nvar _image = __w_pdfjs_require__(242);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DefaultPartialEvaluatorOptions = Object.freeze({\n maxImageSize: -1,\n disableFontFace: false,\n ignoreErrors: false,\n isEvalSupported: true,\n fontExtraProperties: false\n});\nvar PatternType = {\n TILING: 1,\n SHADING: 2\n};\nvar deferred = Promise.resolve();\n\nfunction 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\nvar TimeSlotManager = /*#__PURE__*/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\nvar PartialEvaluator = /*#__PURE__*/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( /*#__PURE__*/_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( /*#__PURE__*/_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( /*#__PURE__*/_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( /*#__PURE__*/_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( /*#__PURE__*/_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( /*#__PURE__*/_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\nexports.PartialEvaluator = PartialEvaluator;\n\nvar TranslatedFont = /*#__PURE__*/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\nvar StateManager = /*#__PURE__*/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\nvar TextState = /*#__PURE__*/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\nvar EvalState = /*#__PURE__*/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\nvar EvaluatorPreprocessor = /*#__PURE__*/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/* 226 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CMapFactory = exports.IdentityCMap = exports.CMap = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _parser = __w_pdfjs_require__(208);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BUILT_IN_CMAPS = [\"Adobe-GB1-UCS2\", \"Adobe-CNS1-UCS2\", \"Adobe-Japan1-UCS2\", \"Adobe-Korea1-UCS2\", \"78-EUC-H\", \"78-EUC-V\", \"78-H\", \"78-RKSJ-H\", \"78-RKSJ-V\", \"78-V\", \"78ms-RKSJ-H\", \"78ms-RKSJ-V\", \"83pv-RKSJ-H\", \"90ms-RKSJ-H\", \"90ms-RKSJ-V\", \"90msp-RKSJ-H\", \"90msp-RKSJ-V\", \"90pv-RKSJ-H\", \"90pv-RKSJ-V\", \"Add-H\", \"Add-RKSJ-H\", \"Add-RKSJ-V\", \"Add-V\", \"Adobe-CNS1-0\", \"Adobe-CNS1-1\", \"Adobe-CNS1-2\", \"Adobe-CNS1-3\", \"Adobe-CNS1-4\", \"Adobe-CNS1-5\", \"Adobe-CNS1-6\", \"Adobe-GB1-0\", \"Adobe-GB1-1\", \"Adobe-GB1-2\", \"Adobe-GB1-3\", \"Adobe-GB1-4\", \"Adobe-GB1-5\", \"Adobe-Japan1-0\", \"Adobe-Japan1-1\", \"Adobe-Japan1-2\", \"Adobe-Japan1-3\", \"Adobe-Japan1-4\", \"Adobe-Japan1-5\", \"Adobe-Japan1-6\", \"Adobe-Korea1-0\", \"Adobe-Korea1-1\", \"Adobe-Korea1-2\", \"B5-H\", \"B5-V\", \"B5pc-H\", \"B5pc-V\", \"CNS-EUC-H\", \"CNS-EUC-V\", \"CNS1-H\", \"CNS1-V\", \"CNS2-H\", \"CNS2-V\", \"ETHK-B5-H\", \"ETHK-B5-V\", \"ETen-B5-H\", \"ETen-B5-V\", \"ETenms-B5-H\", \"ETenms-B5-V\", \"EUC-H\", \"EUC-V\", \"Ext-H\", \"Ext-RKSJ-H\", \"Ext-RKSJ-V\", \"Ext-V\", \"GB-EUC-H\", \"GB-EUC-V\", \"GB-H\", \"GB-V\", \"GBK-EUC-H\", \"GBK-EUC-V\", \"GBK2K-H\", \"GBK2K-V\", \"GBKp-EUC-H\", \"GBKp-EUC-V\", \"GBT-EUC-H\", \"GBT-EUC-V\", \"GBT-H\", \"GBT-V\", \"GBTpc-EUC-H\", \"GBTpc-EUC-V\", \"GBpc-EUC-H\", \"GBpc-EUC-V\", \"H\", \"HKdla-B5-H\", \"HKdla-B5-V\", \"HKdlb-B5-H\", \"HKdlb-B5-V\", \"HKgccs-B5-H\", \"HKgccs-B5-V\", \"HKm314-B5-H\", \"HKm314-B5-V\", \"HKm471-B5-H\", \"HKm471-B5-V\", \"HKscs-B5-H\", \"HKscs-B5-V\", \"Hankaku\", \"Hiragana\", \"KSC-EUC-H\", \"KSC-EUC-V\", \"KSC-H\", \"KSC-Johab-H\", \"KSC-Johab-V\", \"KSC-V\", \"KSCms-UHC-H\", \"KSCms-UHC-HW-H\", \"KSCms-UHC-HW-V\", \"KSCms-UHC-V\", \"KSCpc-EUC-H\", \"KSCpc-EUC-V\", \"Katakana\", \"NWP-H\", \"NWP-V\", \"RKSJ-H\", \"RKSJ-V\", \"Roman\", \"UniCNS-UCS2-H\", \"UniCNS-UCS2-V\", \"UniCNS-UTF16-H\", \"UniCNS-UTF16-V\", \"UniCNS-UTF32-H\", \"UniCNS-UTF32-V\", \"UniCNS-UTF8-H\", \"UniCNS-UTF8-V\", \"UniGB-UCS2-H\", \"UniGB-UCS2-V\", \"UniGB-UTF16-H\", \"UniGB-UTF16-V\", \"UniGB-UTF32-H\", \"UniGB-UTF32-V\", \"UniGB-UTF8-H\", \"UniGB-UTF8-V\", \"UniJIS-UCS2-H\", \"UniJIS-UCS2-HW-H\", \"UniJIS-UCS2-HW-V\", \"UniJIS-UCS2-V\", \"UniJIS-UTF16-H\", \"UniJIS-UTF16-V\", \"UniJIS-UTF32-H\", \"UniJIS-UTF32-V\", \"UniJIS-UTF8-H\", \"UniJIS-UTF8-V\", \"UniJIS2004-UTF16-H\", \"UniJIS2004-UTF16-V\", \"UniJIS2004-UTF32-H\", \"UniJIS2004-UTF32-V\", \"UniJIS2004-UTF8-H\", \"UniJIS2004-UTF8-V\", \"UniJISPro-UCS2-HW-V\", \"UniJISPro-UCS2-V\", \"UniJISPro-UTF8-V\", \"UniJISX0213-UTF32-H\", \"UniJISX0213-UTF32-V\", \"UniJISX02132004-UTF32-H\", \"UniJISX02132004-UTF32-V\", \"UniKS-UCS2-H\", \"UniKS-UCS2-V\", \"UniKS-UTF16-H\", \"UniKS-UTF16-V\", \"UniKS-UTF32-H\", \"UniKS-UTF32-V\", \"UniKS-UTF8-H\", \"UniKS-UTF8-V\", \"V\", \"WP-Symbol\"];\nvar MAX_MAP_RANGE = Math.pow(2, 24) - 1;\n\nvar CMap = /*#__PURE__*/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\nexports.CMap = CMap;\n\nvar IdentityCMap = /*#__PURE__*/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\nexports.IdentityCMap = IdentityCMap;\n\nvar BinaryCMapReader = function BinaryCMapReaderClosure() {\n function hexToInt(a, size) {\n var n = 0;\n\n for (var i = 0; i <= size; i++) {\n n = n << 8 | a[i];\n }\n\n return n >>> 0;\n }\n\n function hexToStr(a, size) {\n if (size === 1) {\n return String.fromCharCode(a[0], a[1]);\n }\n\n if (size === 3) {\n return String.fromCharCode(a[0], a[1], a[2], a[3]);\n }\n\n return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n }\n\n function addHex(a, b, size) {\n var c = 0;\n\n for (var i = size; i >= 0; i--) {\n c += a[i] + b[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n function incHex(a, size) {\n var c = 1;\n\n for (var i = size; i >= 0 && c > 0; i--) {\n c += a[i];\n a[i] = c & 255;\n c >>= 8;\n }\n }\n\n var MAX_NUM_SIZE = 16;\n var MAX_ENCODED_NUM_SIZE = 19;\n\n function BinaryCMapStream(data) {\n this.buffer = data;\n this.pos = 0;\n this.end = data.length;\n this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n }\n\n BinaryCMapStream.prototype = {\n readByte: function readByte() {\n if (this.pos >= this.end) {\n return -1;\n }\n\n return this.buffer[this.pos++];\n },\n readNumber: function readNumber() {\n var n = 0;\n var last;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError(\"unexpected EOF in bcmap\");\n }\n\n last = !(b & 0x80);\n n = n << 7 | b & 0x7f;\n } while (!last);\n\n return n;\n },\n readSigned: function readSigned() {\n var n = this.readNumber();\n return n & 1 ? ~(n >>> 1) : n >>> 1;\n },\n readHex: function readHex(num, size) {\n num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n this.pos += size + 1;\n },\n readHexNumber: function readHexNumber(num, size) {\n var last;\n var stack = this.tmpBuf,\n sp = 0;\n\n do {\n var b = this.readByte();\n\n if (b < 0) {\n throw new _util.FormatError(\"unexpected EOF in bcmap\");\n }\n\n last = !(b & 0x80);\n stack[sp++] = b & 0x7f;\n } while (!last);\n\n var i = size,\n buffer = 0,\n bufferSize = 0;\n\n while (i >= 0) {\n while (bufferSize < 8 && stack.length > 0) {\n buffer = stack[--sp] << bufferSize | buffer;\n bufferSize += 7;\n }\n\n num[i] = buffer & 255;\n i--;\n buffer >>= 8;\n bufferSize -= 8;\n }\n },\n readHexSigned: function readHexSigned(num, size) {\n this.readHexNumber(num, size);\n var sign = num[size] & 1 ? 255 : 0;\n var c = 0;\n\n for (var i = 0; i <= size; i++) {\n c = (c & 1) << 8 | num[i];\n num[i] = c >> 1 ^ sign;\n }\n },\n readString: function readString() {\n var len = this.readNumber();\n var s = \"\";\n\n for (var i = 0; i < len; i++) {\n s += String.fromCharCode(this.readNumber());\n }\n\n return s;\n }\n };\n\n function processBinaryCMap(data, cMap, extend) {\n return new Promise(function (resolve, reject) {\n var stream = new BinaryCMapStream(data);\n var header = stream.readByte();\n cMap.vertical = !!(header & 1);\n var useCMap = null;\n var start = new Uint8Array(MAX_NUM_SIZE);\n var end = new Uint8Array(MAX_NUM_SIZE);\n\n var _char = new Uint8Array(MAX_NUM_SIZE);\n\n var charCode = new Uint8Array(MAX_NUM_SIZE);\n var tmp = new Uint8Array(MAX_NUM_SIZE);\n var code;\n var b;\n\n while ((b = stream.readByte()) >= 0) {\n var type = b >> 5;\n\n if (type === 7) {\n switch (b & 0x1f) {\n case 0:\n stream.readString();\n break;\n\n case 1:\n useCMap = stream.readString();\n break;\n }\n\n continue;\n }\n\n var sequence = !!(b & 0x10);\n var dataSize = b & 15;\n\n if (dataSize + 1 > MAX_NUM_SIZE) {\n throw new Error(\"processBinaryCMap: Invalid dataSize.\");\n }\n\n var ucs2DataSize = 1;\n var subitemsCount = stream.readNumber();\n var i;\n\n switch (type) {\n case 0:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n }\n\n break;\n\n case 1:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n stream.readNumber();\n }\n\n break;\n\n case 2:\n stream.readHex(_char, dataSize);\n code = stream.readNumber();\n cMap.mapOne(hexToInt(_char, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(_char, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, dataSize);\n addHex(_char, tmp, dataSize);\n }\n\n code = stream.readSigned() + (code + 1);\n cMap.mapOne(hexToInt(_char, dataSize), code);\n }\n\n break;\n\n case 3:\n stream.readHex(start, dataSize);\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, dataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, dataSize);\n addHex(start, end, dataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, dataSize);\n addHex(end, start, dataSize);\n code = stream.readNumber();\n cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n }\n\n break;\n\n case 4:\n stream.readHex(_char, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(_char, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(tmp, ucs2DataSize);\n addHex(_char, tmp, ucs2DataSize);\n }\n\n incHex(charCode, dataSize);\n stream.readHexSigned(tmp, dataSize);\n addHex(charCode, tmp, dataSize);\n cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n case 5:\n stream.readHex(start, ucs2DataSize);\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n\n for (i = 1; i < subitemsCount; i++) {\n incHex(end, ucs2DataSize);\n\n if (!sequence) {\n stream.readHexNumber(start, ucs2DataSize);\n addHex(start, end, ucs2DataSize);\n } else {\n start.set(end);\n }\n\n stream.readHexNumber(end, ucs2DataSize);\n addHex(end, start, ucs2DataSize);\n stream.readHex(charCode, dataSize);\n cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n }\n\n break;\n\n default:\n reject(new Error(\"processBinaryCMap: Unknown type: \" + type));\n return;\n }\n }\n\n if (useCMap) {\n resolve(extend(useCMap));\n return;\n }\n\n resolve(cMap);\n });\n }\n\n function BinaryCMapReader() {}\n\n BinaryCMapReader.prototype = {\n process: processBinaryCMap\n };\n return BinaryCMapReader;\n}();\n\nvar CMapFactory = function CMapFactoryClosure() {\n function strToInt(str) {\n var a = 0;\n\n for (var i = 0; i < str.length; i++) {\n a = a << 8 | str.charCodeAt(i);\n }\n\n return a >>> 0;\n }\n\n function expectString(obj) {\n if (!(0, _util.isString)(obj)) {\n throw new _util.FormatError(\"Malformed CMap: expected string.\");\n }\n }\n\n function expectInt(obj) {\n if (!Number.isInteger(obj)) {\n throw new _util.FormatError(\"Malformed CMap: expected int.\");\n }\n }\n\n function parseBfChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endbfchar\")) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseBfRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endbfrange\")) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n\n if (Number.isInteger(obj) || (0, _util.isString)(obj)) {\n var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n cMap.mapBfRange(low, high, dstLow);\n } else if ((0, _primitives.isCmd)(obj, \"[\")) {\n obj = lexer.getObj();\n var array = [];\n\n while (!(0, _primitives.isCmd)(obj, \"]\") && !(0, _primitives.isEOF)(obj)) {\n array.push(obj);\n obj = lexer.getObj();\n }\n\n cMap.mapBfRangeToArray(low, high, array);\n } else {\n break;\n }\n }\n\n throw new _util.FormatError(\"Invalid bf range.\");\n }\n\n function parseCidChar(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcidchar\")) {\n return;\n }\n\n expectString(obj);\n var src = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dst = obj;\n cMap.mapOne(src, dst);\n }\n }\n\n function parseCidRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcidrange\")) {\n return;\n }\n\n expectString(obj);\n var low = strToInt(obj);\n obj = lexer.getObj();\n expectString(obj);\n var high = strToInt(obj);\n obj = lexer.getObj();\n expectInt(obj);\n var dstLow = obj;\n cMap.mapCidRange(low, high, dstLow);\n }\n }\n\n function parseCodespaceRange(cMap, lexer) {\n while (true) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n }\n\n if ((0, _primitives.isCmd)(obj, \"endcodespacerange\")) {\n return;\n }\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var low = strToInt(obj);\n obj = lexer.getObj();\n\n if (!(0, _util.isString)(obj)) {\n break;\n }\n\n var high = strToInt(obj);\n cMap.addCodespaceRange(obj.length, low, high);\n }\n\n throw new _util.FormatError(\"Invalid codespace range.\");\n }\n\n function parseWMode(cMap, lexer) {\n var obj = lexer.getObj();\n\n if (Number.isInteger(obj)) {\n cMap.vertical = !!obj;\n }\n }\n\n function parseCMapName(cMap, lexer) {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {\n cMap.name = obj.name;\n }\n }\n\n function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n var previous;\n var embeddedUseCMap;\n\n objLoop: while (true) {\n try {\n var obj = lexer.getObj();\n\n if ((0, _primitives.isEOF)(obj)) {\n break;\n } else if ((0, _primitives.isName)(obj)) {\n if (obj.name === \"WMode\") {\n parseWMode(cMap, lexer);\n } else if (obj.name === \"CMapName\") {\n parseCMapName(cMap, lexer);\n }\n\n previous = obj;\n } else if ((0, _primitives.isCmd)(obj)) {\n switch (obj.cmd) {\n case \"endcmap\":\n break objLoop;\n\n case \"usecmap\":\n if ((0, _primitives.isName)(previous)) {\n embeddedUseCMap = previous.name;\n }\n\n break;\n\n case \"begincodespacerange\":\n parseCodespaceRange(cMap, lexer);\n break;\n\n case \"beginbfchar\":\n parseBfChar(cMap, lexer);\n break;\n\n case \"begincidchar\":\n parseCidChar(cMap, lexer);\n break;\n\n case \"beginbfrange\":\n parseBfRange(cMap, lexer);\n break;\n\n case \"begincidrange\":\n parseCidRange(cMap, lexer);\n break;\n }\n }\n } catch (ex) {\n if (ex instanceof _core_utils.MissingDataException) {\n throw ex;\n }\n\n (0, _util.warn)(\"Invalid cMap data: \" + ex);\n continue;\n }\n }\n\n if (!useCMap && embeddedUseCMap) {\n useCMap = embeddedUseCMap;\n }\n\n if (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n }\n\n return Promise.resolve(cMap);\n }\n\n function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {\n cMap.useCMap = newCMap;\n\n if (cMap.numCodespaceRanges === 0) {\n var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n\n for (var i = 0; i < useCodespaceRanges.length; i++) {\n cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n }\n\n cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n }\n\n cMap.useCMap.forEach(function (key, value) {\n if (!cMap.contains(key)) {\n cMap.mapOne(key, cMap.useCMap.lookup(key));\n }\n });\n return cMap;\n });\n }\n\n function createBuiltInCMap(name, fetchBuiltInCMap) {\n if (name === \"Identity-H\") {\n return Promise.resolve(new IdentityCMap(false, 2));\n } else if (name === \"Identity-V\") {\n return Promise.resolve(new IdentityCMap(true, 2));\n }\n\n if (!BUILT_IN_CMAPS.includes(name)) {\n return Promise.reject(new Error(\"Unknown CMap name: \" + name));\n }\n\n if (!fetchBuiltInCMap) {\n return Promise.reject(new Error(\"Built-in CMap parameters are not provided.\"));\n }\n\n return fetchBuiltInCMap(name).then(function (data) {\n var cMapData = data.cMapData,\n compressionType = data.compressionType;\n var cMap = new CMap(true);\n\n if (compressionType === _util.CMapCompressionType.BINARY) {\n return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {\n return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n });\n }\n\n if (compressionType === _util.CMapCompressionType.NONE) {\n var lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n }\n\n return Promise.reject(new Error(\"TODO: Only BINARY/NONE CMap compression is currently supported.\"));\n });\n }\n\n return {\n create: function create(params) {\n return _asyncToGenerator( /*#__PURE__*/_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\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFontType = getFontType;\nexports.IdentityToUnicodeMap = exports.ToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = exports.SEAC_ANALYSIS_ENABLED = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cff_parser = __w_pdfjs_require__(228);\n\nvar _glyphlist = __w_pdfjs_require__(231);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _standard_fonts = __w_pdfjs_require__(232);\n\nvar _unicode = __w_pdfjs_require__(233);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _font_renderer = __w_pdfjs_require__(234);\n\nvar _cmap = __w_pdfjs_require__(226);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _type1_parser = __w_pdfjs_require__(235);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar PRIVATE_USE_AREAS = [[0xe000, 0xf8ff], [0x100000, 0x10fffd]];\nvar PDF_GLYPH_SPACE_UNITS = 1000;\nvar SEAC_ANALYSIS_ENABLED = true;\nexports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\nvar 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\"];\nvar EXPORT_DATA_EXTRA_PROPERTIES = [\"cMap\", \"defaultEncoding\", \"differences\", \"isSymbolicFont\", \"seacMap\", \"toFontChar\", \"toUnicode\", \"vmetrics\", \"widths\"];\nvar FontFlags = {\n FixedPitch: 1,\n Serif: 2,\n Symbolic: 4,\n Script: 8,\n Nonsymbolic: 32,\n Italic: 64,\n AllCap: 65536,\n SmallCap: 131072,\n ForceBold: 262144\n};\nexports.FontFlags = FontFlags;\nvar MacStandardGlyphOrdering = [\".notdef\", \".null\", \"nonmarkingreturn\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"nonbreakingspace\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"Lslash\", \"lslash\", \"Scaron\", \"scaron\", \"Zcaron\", \"zcaron\", \"brokenbar\", \"Eth\", \"eth\", \"Yacute\", \"yacute\", \"Thorn\", \"thorn\", \"minus\", \"multiply\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"onehalf\", \"onequarter\", \"threequarters\", \"franc\", \"Gbreve\", \"gbreve\", \"Idotaccent\", \"Scedilla\", \"scedilla\", \"Cacute\", \"cacute\", \"Ccaron\", \"ccaron\", \"dcroat\"];\n\nfunction adjustWidths(properties) {\n if (!properties.fontMatrix) {\n return;\n }\n\n if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n return;\n }\n\n var scale = 0.001 / properties.fontMatrix[0];\n var glyphsWidths = properties.widths;\n\n for (var glyph in glyphsWidths) {\n glyphsWidths[glyph] *= scale;\n }\n\n properties.defaultWidth *= scale;\n}\n\nfunction adjustToUnicode(properties, builtInEncoding) {\n if (properties.hasIncludedToUnicodeMap) {\n return;\n }\n\n if (properties.hasEncoding) {\n return;\n }\n\n if (builtInEncoding === properties.defaultEncoding) {\n return;\n }\n\n if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n return;\n }\n\n var toUnicode = [],\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n for (var charCode in builtInEncoding) {\n var glyphName = builtInEncoding[charCode];\n var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n toUnicode[charCode] = String.fromCharCode(unicode);\n }\n }\n\n properties.toUnicode.amend(toUnicode);\n}\n\nfunction getFontType(type, subtype) {\n switch (type) {\n case \"Type1\":\n return subtype === \"Type1C\" ? _util.FontType.TYPE1C : _util.FontType.TYPE1;\n\n case \"CIDFontType0\":\n return subtype === \"CIDFontType0C\" ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;\n\n case \"OpenType\":\n return _util.FontType.OPENTYPE;\n\n case \"TrueType\":\n return _util.FontType.TRUETYPE;\n\n case \"CIDFontType2\":\n return _util.FontType.CIDFONTTYPE2;\n\n case \"MMType1\":\n return _util.FontType.MMTYPE1;\n\n case \"Type0\":\n return _util.FontType.TYPE0;\n\n default:\n return _util.FontType.UNKNOWN;\n }\n}\n\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n if (glyphsUnicodeMap[name] !== undefined) {\n return name;\n }\n\n var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n\n if (unicode !== -1) {\n for (var key in glyphsUnicodeMap) {\n if (glyphsUnicodeMap[key] === unicode) {\n return key;\n }\n }\n }\n\n (0, _util.info)(\"Unable to recover a standard glyph name for: \" + name);\n return name;\n}\n\nvar Glyph = function GlyphClosure() {\n function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n this.fontChar = fontChar;\n this.unicode = unicode;\n this.accent = accent;\n this.width = width;\n this.vmetric = vmetric;\n this.operatorListId = operatorListId;\n this.isSpace = isSpace;\n this.isInFont = isInFont;\n }\n\n Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;\n };\n\n return Glyph;\n}();\n\nvar ToUnicodeMap = function ToUnicodeMapClosure() {\n function ToUnicodeMap() {\n var cmap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._map = cmap;\n }\n\n ToUnicodeMap.prototype = {\n get length() {\n return this._map.length;\n },\n\n forEach: function forEach(callback) {\n for (var charCode in this._map) {\n callback(charCode, this._map[charCode].charCodeAt(0));\n }\n },\n has: function has(i) {\n return this._map[i] !== undefined;\n },\n get: function get(i) {\n return this._map[i];\n },\n charCodeOf: function charCodeOf(value) {\n var map = this._map;\n\n if (map.length <= 0x10000) {\n return map.indexOf(value);\n }\n\n for (var charCode in map) {\n if (map[charCode] === value) {\n return charCode | 0;\n }\n }\n\n return -1;\n },\n amend: function amend(map) {\n for (var charCode in map) {\n this._map[charCode] = map[charCode];\n }\n }\n };\n return ToUnicodeMap;\n}();\n\nexports.ToUnicodeMap = ToUnicodeMap;\n\nvar IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {\n function IdentityToUnicodeMap(firstChar, lastChar) {\n this.firstChar = firstChar;\n this.lastChar = lastChar;\n }\n\n IdentityToUnicodeMap.prototype = {\n get length() {\n return this.lastChar + 1 - this.firstChar;\n },\n\n forEach: function forEach(callback) {\n for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n callback(i, i);\n }\n },\n has: function has(i) {\n return this.firstChar <= i && i <= this.lastChar;\n },\n get: function get(i) {\n if (this.firstChar <= i && i <= this.lastChar) {\n return String.fromCharCode(i);\n }\n\n return undefined;\n },\n charCodeOf: function charCodeOf(v) {\n return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n },\n amend: function amend(map) {\n (0, _util.unreachable)(\"Should not call amend()\");\n }\n };\n return IdentityToUnicodeMap;\n}();\n\nexports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\nvar OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {\n function writeInt16(dest, offset, num) {\n dest[offset] = num >> 8 & 0xff;\n dest[offset + 1] = num & 0xff;\n }\n\n function writeInt32(dest, offset, num) {\n dest[offset] = num >> 24 & 0xff;\n dest[offset + 1] = num >> 16 & 0xff;\n dest[offset + 2] = num >> 8 & 0xff;\n dest[offset + 3] = num & 0xff;\n }\n\n function writeData(dest, offset, data) {\n var i, ii;\n\n if (data instanceof Uint8Array) {\n dest.set(data, offset);\n } else if (typeof data === \"string\") {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data.charCodeAt(i) & 0xff;\n }\n } else {\n for (i = 0, ii = data.length; i < ii; i++) {\n dest[offset++] = data[i] & 0xff;\n }\n }\n }\n\n function OpenTypeFileBuilder(sfnt) {\n this.sfnt = sfnt;\n this.tables = Object.create(null);\n }\n\n OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {\n var maxPower2 = 1,\n log2 = 0;\n\n while ((maxPower2 ^ entriesCount) > maxPower2) {\n maxPower2 <<= 1;\n log2++;\n }\n\n var searchRange = maxPower2 * entrySize;\n return {\n range: searchRange,\n entry: log2,\n rangeShift: entrySize * entriesCount - searchRange\n };\n };\n\n var OTF_HEADER_SIZE = 12;\n var OTF_TABLE_ENTRY_SIZE = 16;\n OpenTypeFileBuilder.prototype = {\n toArray: function OpenTypeFileBuilder_toArray() {\n var sfnt = this.sfnt;\n var tables = this.tables;\n var tablesNames = Object.keys(tables);\n tablesNames.sort();\n var numTables = tablesNames.length;\n var i, j, jj, table, tableName;\n var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n var tableOffsets = [offset];\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n var paddedLength = (table.length + 3 & ~3) >>> 0;\n offset += paddedLength;\n tableOffsets.push(offset);\n }\n\n var file = new Uint8Array(offset);\n\n for (i = 0; i < numTables; i++) {\n table = tables[tablesNames[i]];\n writeData(file, tableOffsets[i], table);\n }\n\n if (sfnt === \"true\") {\n sfnt = (0, _util.string32)(0x00010000);\n }\n\n file[0] = sfnt.charCodeAt(0) & 0xff;\n file[1] = sfnt.charCodeAt(1) & 0xff;\n file[2] = sfnt.charCodeAt(2) & 0xff;\n file[3] = sfnt.charCodeAt(3) & 0xff;\n writeInt16(file, 4, numTables);\n var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n writeInt16(file, 6, searchParams.range);\n writeInt16(file, 8, searchParams.entry);\n writeInt16(file, 10, searchParams.rangeShift);\n offset = OTF_HEADER_SIZE;\n\n for (i = 0; i < numTables; i++) {\n tableName = tablesNames[i];\n file[offset] = tableName.charCodeAt(0) & 0xff;\n file[offset + 1] = tableName.charCodeAt(1) & 0xff;\n file[offset + 2] = tableName.charCodeAt(2) & 0xff;\n file[offset + 3] = tableName.charCodeAt(3) & 0xff;\n var checksum = 0;\n\n for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n var quad = (0, _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\nvar Font = function FontClosure() {\n function Font(name, file, properties) {\n var charCode;\n this.name = name;\n this.loadedName = properties.loadedName;\n this.isType3Font = properties.isType3Font;\n this.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\nexports.Font = Font;\n\nvar ErrorFont = function ErrorFontClosure() {\n function ErrorFont(error) {\n this.error = error;\n this.loadedName = \"g_font_error\";\n this.missingFile = true;\n }\n\n ErrorFont.prototype = {\n charsToGlyphs: function ErrorFont_charsToGlyphs() {\n return [];\n },\n exportData: function 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\nexports.ErrorFont = ErrorFont;\n\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n var charCodeToGlyphId = Object.create(null);\n var glyphId, charCode, baseEncoding;\n var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n\n if (properties.baseEncodingName) {\n baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n } else if (isSymbolicFont) {\n for (charCode in builtInEncoding) {\n charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n }\n } else {\n baseEncoding = _encodings.StandardEncoding;\n\n for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n var differences = properties.differences,\n glyphsUnicodeMap;\n\n if (differences) {\n for (charCode in differences) {\n var glyphName = differences[charCode];\n glyphId = glyphNames.indexOf(glyphName);\n\n if (glyphId === -1) {\n if (!glyphsUnicodeMap) {\n glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n }\n\n var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n\n if (standardGlyphName !== glyphName) {\n glyphId = glyphNames.indexOf(standardGlyphName);\n }\n }\n\n if (glyphId >= 0) {\n charCodeToGlyphId[charCode] = glyphId;\n } else {\n charCodeToGlyphId[charCode] = 0;\n }\n }\n }\n\n return charCodeToGlyphId;\n}\n\nvar Type1Font = function Type1FontClosure() {\n function findBlock(streamBytes, signature, startIndex) {\n var streamBytesLength = streamBytes.length;\n var signatureLength = signature.length;\n var scanLength = streamBytesLength - signatureLength;\n var i = startIndex,\n j,\n found = false;\n\n while (i < scanLength) {\n j = 0;\n\n while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n j++;\n }\n\n if (j >= signatureLength) {\n i += j;\n\n while (i < streamBytesLength && (0, _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\nvar CFFFont = function CFFFontClosure() {\n function CFFFont(file, properties) {\n this.properties = properties;\n var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n this.cff = parser.parse();\n this.cff.duplicateFirstGlyph();\n var compiler = new _cff_parser.CFFCompiler(this.cff);\n this.seacs = this.cff.seacs;\n\n try {\n this.data = compiler.compile();\n } catch (e) {\n (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n this.data = file;\n }\n }\n\n CFFFont.prototype = {\n get numGlyphs() {\n return this.cff.charStrings.count;\n },\n\n getCharset: function CFFFont_getCharset() {\n return this.cff.charset.charset;\n },\n getGlyphMapping: function CFFFont_getGlyphMapping() {\n var cff = this.cff;\n var properties = this.properties;\n var charsets = cff.charset.charset;\n var charCodeToGlyphId;\n var glyphId;\n\n if (properties.composite) {\n charCodeToGlyphId = Object.create(null);\n var charCode;\n\n if (cff.isCIDFont) {\n for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n var cid = charsets[glyphId];\n charCode = properties.cMap.charCodeOf(cid);\n charCodeToGlyphId[charCode] = glyphId;\n }\n } else {\n for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n charCode = properties.cMap.charCodeOf(glyphId);\n charCodeToGlyphId[charCode] = glyphId;\n }\n }\n\n return charCodeToGlyphId;\n }\n\n var encoding = cff.encoding ? cff.encoding.encoding : null;\n charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n return charCodeToGlyphId;\n },\n hasGlyphId: function CFFFont_hasGlyphID(id) {\n return this.cff.hasGlyphId(id);\n }\n };\n return CFFFont;\n}();\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CFFFDSelect = exports.CFFCompiler = exports.CFFPrivateDict = exports.CFFTopDict = exports.CFFCharset = exports.CFFIndex = exports.CFFStrings = exports.CFFHeader = exports.CFF = exports.CFFParser = exports.CFFStandardStrings = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _charsets = __w_pdfjs_require__(229);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_SUBR_NESTING = 10;\nvar CFFStandardStrings = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\", \"001.000\", \"001.001\", \"001.002\", \"001.003\", \"Black\", \"Bold\", \"Book\", \"Light\", \"Medium\", \"Regular\", \"Roman\", \"Semibold\"];\nexports.CFFStandardStrings = CFFStandardStrings;\nvar NUM_STANDARD_CFF_STRINGS = 391;\n\nvar CFFParser = function CFFParserClosure() {\n var CharstringValidationData = [null, {\n id: \"hstem\",\n min: 2,\n stackClearing: true,\n stem: true\n }, null, {\n id: \"vstem\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"vmoveto\",\n min: 1,\n stackClearing: true\n }, {\n id: \"rlineto\",\n min: 2,\n resetStack: true\n }, {\n id: \"hlineto\",\n min: 1,\n resetStack: true\n }, {\n id: \"vlineto\",\n min: 1,\n resetStack: true\n }, {\n id: \"rrcurveto\",\n min: 6,\n resetStack: true\n }, null, {\n id: \"callsubr\",\n min: 1,\n undefStack: true\n }, {\n id: \"return\",\n min: 0,\n undefStack: true\n }, null, null, {\n id: \"endchar\",\n min: 0,\n stackClearing: true\n }, null, null, null, {\n id: \"hstemhm\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"hintmask\",\n min: 0,\n stackClearing: true\n }, {\n id: \"cntrmask\",\n min: 0,\n stackClearing: true\n }, {\n id: \"rmoveto\",\n min: 2,\n stackClearing: true\n }, {\n id: \"hmoveto\",\n min: 1,\n stackClearing: true\n }, {\n id: \"vstemhm\",\n min: 2,\n stackClearing: true,\n stem: true\n }, {\n id: \"rcurveline\",\n min: 8,\n resetStack: true\n }, {\n id: \"rlinecurve\",\n min: 8,\n resetStack: true\n }, {\n id: \"vvcurveto\",\n min: 4,\n resetStack: true\n }, {\n id: \"hhcurveto\",\n min: 4,\n resetStack: true\n }, null, {\n id: \"callgsubr\",\n min: 1,\n undefStack: true\n }, {\n id: \"vhcurveto\",\n min: 4,\n resetStack: true\n }, {\n id: \"hvcurveto\",\n min: 4,\n resetStack: true\n }];\n var CharstringValidationData12 = [null, null, null, {\n id: \"and\",\n min: 2,\n stackDelta: -1\n }, {\n id: \"or\",\n min: 2,\n stackDelta: -1\n }, {\n id: \"not\",\n min: 1,\n stackDelta: 0\n }, null, null, null, {\n id: \"abs\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"add\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] + stack[index - 1];\n }\n }, {\n id: \"sub\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] - stack[index - 1];\n }\n }, {\n id: \"div\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] / stack[index - 1];\n }\n }, null, {\n id: \"neg\",\n min: 1,\n stackDelta: 0,\n stackFn: function stack_div(stack, index) {\n stack[index - 1] = -stack[index - 1];\n }\n }, {\n id: \"eq\",\n min: 2,\n stackDelta: -1\n }, null, null, {\n id: \"drop\",\n min: 1,\n stackDelta: -1\n }, null, {\n id: \"put\",\n min: 2,\n stackDelta: -2\n }, {\n id: \"get\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"ifelse\",\n min: 4,\n stackDelta: -3\n }, {\n id: \"random\",\n min: 0,\n stackDelta: 1\n }, {\n id: \"mul\",\n min: 2,\n stackDelta: -1,\n stackFn: function stack_div(stack, index) {\n stack[index - 2] = stack[index - 2] * stack[index - 1];\n }\n }, null, {\n id: \"sqrt\",\n min: 1,\n stackDelta: 0\n }, {\n id: \"dup\",\n min: 1,\n stackDelta: 1\n }, {\n id: \"exch\",\n min: 2,\n stackDelta: 0\n }, {\n id: \"index\",\n min: 2,\n stackDelta: 0\n }, {\n id: \"roll\",\n min: 3,\n stackDelta: -2\n }, null, null, null, {\n id: \"hflex\",\n min: 7,\n resetStack: true\n }, {\n id: \"flex\",\n min: 13,\n resetStack: true\n }, {\n id: \"hflex1\",\n min: 9,\n resetStack: true\n }, {\n id: \"flex1\",\n min: 11,\n resetStack: true\n }];\n\n var CFFParser = /*#__PURE__*/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\nexports.CFFParser = CFFParser;\n\nvar CFF = /*#__PURE__*/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\nexports.CFF = CFF;\n\nvar 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\nexports.CFFHeader = CFFHeader;\n\nvar CFFStrings = /*#__PURE__*/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\nexports.CFFStrings = CFFStrings;\n\nvar CFFIndex = /*#__PURE__*/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\nexports.CFFIndex = CFFIndex;\n\nvar CFFDict = /*#__PURE__*/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\nvar CFFTopDict = function CFFTopDictClosure() {\n var layout = [[[12, 30], \"ROS\", [\"sid\", \"sid\", \"num\"], null], [[12, 20], \"SyntheticBase\", \"num\", null], [0, \"version\", \"sid\", null], [1, \"Notice\", \"sid\", null], [[12, 0], \"Copyright\", \"sid\", null], [2, \"FullName\", \"sid\", null], [3, \"FamilyName\", \"sid\", null], [4, \"Weight\", \"sid\", null], [[12, 1], \"isFixedPitch\", \"num\", 0], [[12, 2], \"ItalicAngle\", \"num\", 0], [[12, 3], \"UnderlinePosition\", \"num\", -100], [[12, 4], \"UnderlineThickness\", \"num\", 50], [[12, 5], \"PaintType\", \"num\", 0], [[12, 6], \"CharstringType\", \"num\", 2], [[12, 7], \"FontMatrix\", [\"num\", \"num\", \"num\", \"num\", \"num\", \"num\"], [0.001, 0, 0, 0.001, 0, 0]], [13, \"UniqueID\", \"num\", null], [5, \"FontBBox\", [\"num\", \"num\", \"num\", \"num\"], [0, 0, 0, 0]], [[12, 8], \"StrokeWidth\", \"num\", 0], [14, \"XUID\", \"array\", null], [15, \"charset\", \"offset\", 0], [16, \"Encoding\", \"offset\", 0], [17, \"CharStrings\", \"offset\", 0], [18, \"Private\", [\"offset\", \"offset\"], null], [[12, 21], \"PostScript\", \"sid\", null], [[12, 22], \"BaseFontName\", \"sid\", null], [[12, 23], \"BaseFontBlend\", \"delta\", null], [[12, 31], \"CIDFontVersion\", \"num\", 0], [[12, 32], \"CIDFontRevision\", \"num\", 0], [[12, 33], \"CIDFontType\", \"num\", 0], [[12, 34], \"CIDCount\", \"num\", 8720], [[12, 35], \"UIDBase\", \"num\", null], [[12, 37], \"FDSelect\", \"offset\", null], [[12, 36], \"FDArray\", \"offset\", null], [[12, 38], \"FontName\", \"sid\", null]];\n var tables = null;\n\n var CFFTopDict = /*#__PURE__*/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\nexports.CFFTopDict = CFFTopDict;\n\nvar CFFPrivateDict = function CFFPrivateDictClosure() {\n var layout = [[6, \"BlueValues\", \"delta\", null], [7, \"OtherBlues\", \"delta\", null], [8, \"FamilyBlues\", \"delta\", null], [9, \"FamilyOtherBlues\", \"delta\", null], [[12, 9], \"BlueScale\", \"num\", 0.039625], [[12, 10], \"BlueShift\", \"num\", 7], [[12, 11], \"BlueFuzz\", \"num\", 1], [10, \"StdHW\", \"num\", null], [11, \"StdVW\", \"num\", null], [[12, 12], \"StemSnapH\", \"delta\", null], [[12, 13], \"StemSnapV\", \"delta\", null], [[12, 14], \"ForceBold\", \"num\", 0], [[12, 17], \"LanguageGroup\", \"num\", 0], [[12, 18], \"ExpansionFactor\", \"num\", 0.06], [[12, 19], \"initialRandomSeed\", \"num\", 0], [20, \"defaultWidthX\", \"num\", 0], [21, \"nominalWidthX\", \"num\", 0], [19, \"Subrs\", \"offset\", null]];\n var tables = null;\n\n var CFFPrivateDict = /*#__PURE__*/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\nexports.CFFPrivateDict = CFFPrivateDict;\nvar CFFCharsetPredefinedTypes = {\n ISO_ADOBE: 0,\n EXPERT: 1,\n EXPERT_SUBSET: 2\n};\n\nvar 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\nexports.CFFCharset = CFFCharset;\n\nvar 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\nvar CFFFDSelect = /*#__PURE__*/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\nexports.CFFFDSelect = CFFFDSelect;\n\nvar CFFOffsetTracker = /*#__PURE__*/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\nvar CFFCompiler = /*#__PURE__*/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\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ExpertSubsetCharset = exports.ExpertCharset = exports.ISOAdobeCharset = void 0;\nvar ISOAdobeCharset = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\"];\nexports.ISOAdobeCharset = ISOAdobeCharset;\nvar ExpertCharset = [\".notdef\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertCharset = ExpertCharset;\nvar ExpertSubsetCharset = [\".notdef\", \"space\", \"dollaroldstyle\", \"dollarsuperior\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"hyphensuperior\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"centoldstyle\", \"figuredash\", \"hypheninferior\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\"];\nexports.ExpertSubsetCharset = ExpertSubsetCharset;\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getEncoding = getEncoding;\nexports.ExpertEncoding = exports.ZapfDingbatsEncoding = exports.SymbolSetEncoding = exports.MacRomanEncoding = exports.StandardEncoding = exports.WinAnsiEncoding = void 0;\nvar ExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"\", \"\", \"\", \"isuperior\", \"\", \"\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"\", \"\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"\", \"\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"\", \"Dotaccentsmall\", \"\", \"\", \"Macronsmall\", \"\", \"\", \"figuredash\", \"hypheninferior\", \"\", \"\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertEncoding = ExpertEncoding;\nvar MacExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"centoldstyle\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"\", \"threequartersemdash\", \"\", \"questionsmall\", \"\", \"\", \"\", \"\", \"Ethsmall\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"\", \"\", \"\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hypheninferior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"asuperior\", \"centsuperior\", \"\", \"\", \"\", \"\", \"Aacutesmall\", \"Agravesmall\", \"Acircumflexsmall\", \"Adieresissmall\", \"Atildesmall\", \"Aringsmall\", \"Ccedillasmall\", \"Eacutesmall\", \"Egravesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Iacutesmall\", \"Igravesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ntildesmall\", \"Oacutesmall\", \"Ogravesmall\", \"Ocircumflexsmall\", \"Odieresissmall\", \"Otildesmall\", \"Uacutesmall\", \"Ugravesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"\", \"eightsuperior\", \"fourinferior\", \"threeinferior\", \"sixinferior\", \"eightinferior\", \"seveninferior\", \"Scaronsmall\", \"\", \"centinferior\", \"twoinferior\", \"\", \"Dieresissmall\", \"\", \"Caronsmall\", \"osuperior\", \"fiveinferior\", \"\", \"commainferior\", \"periodinferior\", \"Yacutesmall\", \"\", \"dollarinferior\", \"\", \"\", \"Thornsmall\", \"\", \"nineinferior\", \"zeroinferior\", \"Zcaronsmall\", \"AEsmall\", \"Oslashsmall\", \"questiondownsmall\", \"oneinferior\", \"Lslashsmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"Cedillasmall\", \"\", \"\", \"\", \"\", \"\", \"OEsmall\", \"figuredash\", \"hyphensuperior\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"\", \"Ydieresissmall\", \"\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"ninesuperior\", \"zerosuperior\", \"\", \"esuperior\", \"rsuperior\", \"tsuperior\", \"\", \"\", \"isuperior\", \"ssuperior\", \"dsuperior\", \"\", \"\", \"\", \"\", \"\", \"lsuperior\", \"Ogoneksmall\", \"Brevesmall\", \"Macronsmall\", \"bsuperior\", \"nsuperior\", \"msuperior\", \"commasuperior\", \"periodsuperior\", \"Dotaccentsmall\", \"Ringsmall\", \"\", \"\", \"\", \"\"];\nvar MacRomanEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"space\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\"];\nexports.MacRomanEncoding = MacRomanEncoding;\nvar StandardEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"\", \"questiondown\", \"\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"\", \"ring\", \"cedilla\", \"\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"AE\", \"\", \"ordfeminine\", \"\", \"\", \"\", \"\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"\", \"\", \"\", \"\", \"\", \"ae\", \"\", \"\", \"\", \"dotlessi\", \"\", \"\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"\", \"\", \"\", \"\"];\nexports.StandardEncoding = StandardEncoding;\nvar WinAnsiEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"bullet\", \"Euro\", \"bullet\", \"quotesinglbase\", \"florin\", \"quotedblbase\", \"ellipsis\", \"dagger\", \"daggerdbl\", \"circumflex\", \"perthousand\", \"Scaron\", \"guilsinglleft\", \"OE\", \"bullet\", \"Zcaron\", \"bullet\", \"bullet\", \"quoteleft\", \"quoteright\", \"quotedblleft\", \"quotedblright\", \"bullet\", \"endash\", \"emdash\", \"tilde\", \"trademark\", \"scaron\", \"guilsinglright\", \"oe\", \"bullet\", \"zcaron\", \"Ydieresis\", \"space\", \"exclamdown\", \"cent\", \"sterling\", \"currency\", \"yen\", \"brokenbar\", \"section\", \"dieresis\", \"copyright\", \"ordfeminine\", \"guillemotleft\", \"logicalnot\", \"hyphen\", \"registered\", \"macron\", \"degree\", \"plusminus\", \"twosuperior\", \"threesuperior\", \"acute\", \"mu\", \"paragraph\", \"periodcentered\", \"cedilla\", \"onesuperior\", \"ordmasculine\", \"guillemotright\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondown\", \"Agrave\", \"Aacute\", \"Acircumflex\", \"Atilde\", \"Adieresis\", \"Aring\", \"AE\", \"Ccedilla\", \"Egrave\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Igrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Eth\", \"Ntilde\", \"Ograve\", \"Oacute\", \"Ocircumflex\", \"Otilde\", \"Odieresis\", \"multiply\", \"Oslash\", \"Ugrave\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Yacute\", \"Thorn\", \"germandbls\", \"agrave\", \"aacute\", \"acircumflex\", \"atilde\", \"adieresis\", \"aring\", \"ae\", \"ccedilla\", \"egrave\", \"eacute\", \"ecircumflex\", \"edieresis\", \"igrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"eth\", \"ntilde\", \"ograve\", \"oacute\", \"ocircumflex\", \"otilde\", \"odieresis\", \"divide\", \"oslash\", \"ugrave\", \"uacute\", \"ucircumflex\", \"udieresis\", \"yacute\", \"thorn\", \"ydieresis\"];\nexports.WinAnsiEncoding = WinAnsiEncoding;\nvar SymbolSetEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"universal\", \"numbersign\", \"existential\", \"percent\", \"ampersand\", \"suchthat\", \"parenleft\", \"parenright\", \"asteriskmath\", \"plus\", \"comma\", \"minus\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"congruent\", \"Alpha\", \"Beta\", \"Chi\", \"Delta\", \"Epsilon\", \"Phi\", \"Gamma\", \"Eta\", \"Iota\", \"theta1\", \"Kappa\", \"Lambda\", \"Mu\", \"Nu\", \"Omicron\", \"Pi\", \"Theta\", \"Rho\", \"Sigma\", \"Tau\", \"Upsilon\", \"sigma1\", \"Omega\", \"Xi\", \"Psi\", \"Zeta\", \"bracketleft\", \"therefore\", \"bracketright\", \"perpendicular\", \"underscore\", \"radicalex\", \"alpha\", \"beta\", \"chi\", \"delta\", \"epsilon\", \"phi\", \"gamma\", \"eta\", \"iota\", \"phi1\", \"kappa\", \"lambda\", \"mu\", \"nu\", \"omicron\", \"pi\", \"theta\", \"rho\", \"sigma\", \"tau\", \"upsilon\", \"omega1\", \"omega\", \"xi\", \"psi\", \"zeta\", \"braceleft\", \"bar\", \"braceright\", \"similar\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"Euro\", \"Upsilon1\", \"minute\", \"lessequal\", \"fraction\", \"infinity\", \"florin\", \"club\", \"diamond\", \"heart\", \"spade\", \"arrowboth\", \"arrowleft\", \"arrowup\", \"arrowright\", \"arrowdown\", \"degree\", \"plusminus\", \"second\", \"greaterequal\", \"multiply\", \"proportional\", \"partialdiff\", \"bullet\", \"divide\", \"notequal\", \"equivalence\", \"approxequal\", \"ellipsis\", \"arrowvertex\", \"arrowhorizex\", \"carriagereturn\", \"aleph\", \"Ifraktur\", \"Rfraktur\", \"weierstrass\", \"circlemultiply\", \"circleplus\", \"emptyset\", \"intersection\", \"union\", \"propersuperset\", \"reflexsuperset\", \"notsubset\", \"propersubset\", \"reflexsubset\", \"element\", \"notelement\", \"angle\", \"gradient\", \"registerserif\", \"copyrightserif\", \"trademarkserif\", \"product\", \"radical\", \"dotmath\", \"logicalnot\", \"logicaland\", \"logicalor\", \"arrowdblboth\", \"arrowdblleft\", \"arrowdblup\", \"arrowdblright\", \"arrowdbldown\", \"lozenge\", \"angleleft\", \"registersans\", \"copyrightsans\", \"trademarksans\", \"summation\", \"parenlefttp\", \"parenleftex\", \"parenleftbt\", \"bracketlefttp\", \"bracketleftex\", \"bracketleftbt\", \"bracelefttp\", \"braceleftmid\", \"braceleftbt\", \"braceex\", \"\", \"angleright\", \"integral\", \"integraltp\", \"integralex\", \"integralbt\", \"parenrighttp\", \"parenrightex\", \"parenrightbt\", \"bracketrighttp\", \"bracketrightex\", \"bracketrightbt\", \"bracerighttp\", \"bracerightmid\", \"bracerightbt\", \"\"];\nexports.SymbolSetEncoding = SymbolSetEncoding;\nvar ZapfDingbatsEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"a1\", \"a2\", \"a202\", \"a3\", \"a4\", \"a5\", \"a119\", \"a118\", \"a117\", \"a11\", \"a12\", \"a13\", \"a14\", \"a15\", \"a16\", \"a105\", \"a17\", \"a18\", \"a19\", \"a20\", \"a21\", \"a22\", \"a23\", \"a24\", \"a25\", \"a26\", \"a27\", \"a28\", \"a6\", \"a7\", \"a8\", \"a9\", \"a10\", \"a29\", \"a30\", \"a31\", \"a32\", \"a33\", \"a34\", \"a35\", \"a36\", \"a37\", \"a38\", \"a39\", \"a40\", \"a41\", \"a42\", \"a43\", \"a44\", \"a45\", \"a46\", \"a47\", \"a48\", \"a49\", \"a50\", \"a51\", \"a52\", \"a53\", \"a54\", \"a55\", \"a56\", \"a57\", \"a58\", \"a59\", \"a60\", \"a61\", \"a62\", \"a63\", \"a64\", \"a65\", \"a66\", \"a67\", \"a68\", \"a69\", \"a70\", \"a71\", \"a72\", \"a73\", \"a74\", \"a203\", \"a75\", \"a204\", \"a76\", \"a77\", \"a78\", \"a79\", \"a81\", \"a82\", \"a83\", \"a84\", \"a97\", \"a98\", \"a99\", \"a100\", \"\", \"a89\", \"a90\", \"a93\", \"a94\", \"a91\", \"a92\", \"a205\", \"a85\", \"a206\", \"a86\", \"a87\", \"a88\", \"a95\", \"a96\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"a101\", \"a102\", \"a103\", \"a104\", \"a106\", \"a107\", \"a108\", \"a112\", \"a111\", \"a110\", \"a109\", \"a120\", \"a121\", \"a122\", \"a123\", \"a124\", \"a125\", \"a126\", \"a127\", \"a128\", \"a129\", \"a130\", \"a131\", \"a132\", \"a133\", \"a134\", \"a135\", \"a136\", \"a137\", \"a138\", \"a139\", \"a140\", \"a141\", \"a142\", \"a143\", \"a144\", \"a145\", \"a146\", \"a147\", \"a148\", \"a149\", \"a150\", \"a151\", \"a152\", \"a153\", \"a154\", \"a155\", \"a156\", \"a157\", \"a158\", \"a159\", \"a160\", \"a161\", \"a163\", \"a164\", \"a196\", \"a165\", \"a192\", \"a166\", \"a167\", \"a168\", \"a169\", \"a170\", \"a171\", \"a172\", \"a173\", \"a162\", \"a174\", \"a175\", \"a176\", \"a177\", \"a178\", \"a179\", \"a193\", \"a180\", \"a199\", \"a181\", \"a200\", \"a182\", \"\", \"a201\", \"a183\", \"a184\", \"a197\", \"a185\", \"a194\", \"a198\", \"a186\", \"a195\", \"a187\", \"a188\", \"a189\", \"a190\", \"a191\", \"\"];\nexports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\n\nfunction getEncoding(encodingName) {\n switch (encodingName) {\n case \"WinAnsiEncoding\":\n return WinAnsiEncoding;\n\n case \"StandardEncoding\":\n return StandardEncoding;\n\n case \"MacRomanEncoding\":\n return MacRomanEncoding;\n\n case \"SymbolSetEncoding\":\n return SymbolSetEncoding;\n\n case \"ZapfDingbatsEncoding\":\n return ZapfDingbatsEncoding;\n\n case \"ExpertEncoding\":\n return ExpertEncoding;\n\n case \"MacExpertEncoding\":\n return MacExpertEncoding;\n\n default:\n return null;\n }\n}\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(205).getLookupTableFactory;\nvar getGlyphsUnicode = getLookupTableFactory(function (t) {\n t.A = 0x0041;\n t.AE = 0x00c6;\n t.AEacute = 0x01fc;\n t.AEmacron = 0x01e2;\n t.AEsmall = 0xf7e6;\n t.Aacute = 0x00c1;\n t.Aacutesmall = 0xf7e1;\n t.Abreve = 0x0102;\n t.Abreveacute = 0x1eae;\n t.Abrevecyrillic = 0x04d0;\n t.Abrevedotbelow = 0x1eb6;\n t.Abrevegrave = 0x1eb0;\n t.Abrevehookabove = 0x1eb2;\n t.Abrevetilde = 0x1eb4;\n t.Acaron = 0x01cd;\n t.Acircle = 0x24b6;\n t.Acircumflex = 0x00c2;\n t.Acircumflexacute = 0x1ea4;\n t.Acircumflexdotbelow = 0x1eac;\n t.Acircumflexgrave = 0x1ea6;\n t.Acircumflexhookabove = 0x1ea8;\n t.Acircumflexsmall = 0xf7e2;\n t.Acircumflextilde = 0x1eaa;\n t.Acute = 0xf6c9;\n t.Acutesmall = 0xf7b4;\n t.Acyrillic = 0x0410;\n t.Adblgrave = 0x0200;\n t.Adieresis = 0x00c4;\n t.Adieresiscyrillic = 0x04d2;\n t.Adieresismacron = 0x01de;\n t.Adieresissmall = 0xf7e4;\n t.Adotbelow = 0x1ea0;\n t.Adotmacron = 0x01e0;\n t.Agrave = 0x00c0;\n t.Agravesmall = 0xf7e0;\n t.Ahookabove = 0x1ea2;\n t.Aiecyrillic = 0x04d4;\n t.Ainvertedbreve = 0x0202;\n t.Alpha = 0x0391;\n t.Alphatonos = 0x0386;\n t.Amacron = 0x0100;\n t.Amonospace = 0xff21;\n t.Aogonek = 0x0104;\n t.Aring = 0x00c5;\n t.Aringacute = 0x01fa;\n t.Aringbelow = 0x1e00;\n t.Aringsmall = 0xf7e5;\n t.Asmall = 0xf761;\n t.Atilde = 0x00c3;\n t.Atildesmall = 0xf7e3;\n t.Aybarmenian = 0x0531;\n t.B = 0x0042;\n t.Bcircle = 0x24b7;\n t.Bdotaccent = 0x1e02;\n t.Bdotbelow = 0x1e04;\n t.Becyrillic = 0x0411;\n t.Benarmenian = 0x0532;\n t.Beta = 0x0392;\n t.Bhook = 0x0181;\n t.Blinebelow = 0x1e06;\n t.Bmonospace = 0xff22;\n t.Brevesmall = 0xf6f4;\n t.Bsmall = 0xf762;\n t.Btopbar = 0x0182;\n t.C = 0x0043;\n t.Caarmenian = 0x053e;\n t.Cacute = 0x0106;\n t.Caron = 0xf6ca;\n t.Caronsmall = 0xf6f5;\n t.Ccaron = 0x010c;\n t.Ccedilla = 0x00c7;\n t.Ccedillaacute = 0x1e08;\n t.Ccedillasmall = 0xf7e7;\n t.Ccircle = 0x24b8;\n t.Ccircumflex = 0x0108;\n t.Cdot = 0x010a;\n t.Cdotaccent = 0x010a;\n t.Cedillasmall = 0xf7b8;\n t.Chaarmenian = 0x0549;\n t.Cheabkhasiancyrillic = 0x04bc;\n t.Checyrillic = 0x0427;\n t.Chedescenderabkhasiancyrillic = 0x04be;\n t.Chedescendercyrillic = 0x04b6;\n t.Chedieresiscyrillic = 0x04f4;\n t.Cheharmenian = 0x0543;\n t.Chekhakassiancyrillic = 0x04cb;\n t.Cheverticalstrokecyrillic = 0x04b8;\n t.Chi = 0x03a7;\n t.Chook = 0x0187;\n t.Circumflexsmall = 0xf6f6;\n t.Cmonospace = 0xff23;\n t.Coarmenian = 0x0551;\n t.Csmall = 0xf763;\n t.D = 0x0044;\n t.DZ = 0x01f1;\n t.DZcaron = 0x01c4;\n t.Daarmenian = 0x0534;\n t.Dafrican = 0x0189;\n t.Dcaron = 0x010e;\n t.Dcedilla = 0x1e10;\n t.Dcircle = 0x24b9;\n t.Dcircumflexbelow = 0x1e12;\n t.Dcroat = 0x0110;\n t.Ddotaccent = 0x1e0a;\n t.Ddotbelow = 0x1e0c;\n t.Decyrillic = 0x0414;\n t.Deicoptic = 0x03ee;\n t.Delta = 0x2206;\n t.Deltagreek = 0x0394;\n t.Dhook = 0x018a;\n t.Dieresis = 0xf6cb;\n t.DieresisAcute = 0xf6cc;\n t.DieresisGrave = 0xf6cd;\n t.Dieresissmall = 0xf7a8;\n t.Digammagreek = 0x03dc;\n t.Djecyrillic = 0x0402;\n t.Dlinebelow = 0x1e0e;\n t.Dmonospace = 0xff24;\n t.Dotaccentsmall = 0xf6f7;\n t.Dslash = 0x0110;\n t.Dsmall = 0xf764;\n t.Dtopbar = 0x018b;\n t.Dz = 0x01f2;\n t.Dzcaron = 0x01c5;\n t.Dzeabkhasiancyrillic = 0x04e0;\n t.Dzecyrillic = 0x0405;\n t.Dzhecyrillic = 0x040f;\n t.E = 0x0045;\n t.Eacute = 0x00c9;\n t.Eacutesmall = 0xf7e9;\n t.Ebreve = 0x0114;\n t.Ecaron = 0x011a;\n t.Ecedillabreve = 0x1e1c;\n t.Echarmenian = 0x0535;\n t.Ecircle = 0x24ba;\n t.Ecircumflex = 0x00ca;\n t.Ecircumflexacute = 0x1ebe;\n t.Ecircumflexbelow = 0x1e18;\n t.Ecircumflexdotbelow = 0x1ec6;\n t.Ecircumflexgrave = 0x1ec0;\n t.Ecircumflexhookabove = 0x1ec2;\n t.Ecircumflexsmall = 0xf7ea;\n t.Ecircumflextilde = 0x1ec4;\n t.Ecyrillic = 0x0404;\n t.Edblgrave = 0x0204;\n t.Edieresis = 0x00cb;\n t.Edieresissmall = 0xf7eb;\n t.Edot = 0x0116;\n t.Edotaccent = 0x0116;\n t.Edotbelow = 0x1eb8;\n t.Efcyrillic = 0x0424;\n t.Egrave = 0x00c8;\n t.Egravesmall = 0xf7e8;\n t.Eharmenian = 0x0537;\n t.Ehookabove = 0x1eba;\n t.Eightroman = 0x2167;\n t.Einvertedbreve = 0x0206;\n t.Eiotifiedcyrillic = 0x0464;\n t.Elcyrillic = 0x041b;\n t.Elevenroman = 0x216a;\n t.Emacron = 0x0112;\n t.Emacronacute = 0x1e16;\n t.Emacrongrave = 0x1e14;\n t.Emcyrillic = 0x041c;\n t.Emonospace = 0xff25;\n t.Encyrillic = 0x041d;\n t.Endescendercyrillic = 0x04a2;\n t.Eng = 0x014a;\n t.Enghecyrillic = 0x04a4;\n t.Enhookcyrillic = 0x04c7;\n t.Eogonek = 0x0118;\n t.Eopen = 0x0190;\n t.Epsilon = 0x0395;\n t.Epsilontonos = 0x0388;\n t.Ercyrillic = 0x0420;\n t.Ereversed = 0x018e;\n t.Ereversedcyrillic = 0x042d;\n t.Escyrillic = 0x0421;\n t.Esdescendercyrillic = 0x04aa;\n t.Esh = 0x01a9;\n t.Esmall = 0xf765;\n t.Eta = 0x0397;\n t.Etarmenian = 0x0538;\n t.Etatonos = 0x0389;\n t.Eth = 0x00d0;\n t.Ethsmall = 0xf7f0;\n t.Etilde = 0x1ebc;\n t.Etildebelow = 0x1e1a;\n t.Euro = 0x20ac;\n t.Ezh = 0x01b7;\n t.Ezhcaron = 0x01ee;\n t.Ezhreversed = 0x01b8;\n t.F = 0x0046;\n t.Fcircle = 0x24bb;\n t.Fdotaccent = 0x1e1e;\n t.Feharmenian = 0x0556;\n t.Feicoptic = 0x03e4;\n t.Fhook = 0x0191;\n t.Fitacyrillic = 0x0472;\n t.Fiveroman = 0x2164;\n t.Fmonospace = 0xff26;\n t.Fourroman = 0x2163;\n t.Fsmall = 0xf766;\n t.G = 0x0047;\n t.GBsquare = 0x3387;\n t.Gacute = 0x01f4;\n t.Gamma = 0x0393;\n t.Gammaafrican = 0x0194;\n t.Gangiacoptic = 0x03ea;\n t.Gbreve = 0x011e;\n t.Gcaron = 0x01e6;\n t.Gcedilla = 0x0122;\n t.Gcircle = 0x24bc;\n t.Gcircumflex = 0x011c;\n t.Gcommaaccent = 0x0122;\n t.Gdot = 0x0120;\n t.Gdotaccent = 0x0120;\n t.Gecyrillic = 0x0413;\n t.Ghadarmenian = 0x0542;\n t.Ghemiddlehookcyrillic = 0x0494;\n t.Ghestrokecyrillic = 0x0492;\n t.Gheupturncyrillic = 0x0490;\n t.Ghook = 0x0193;\n t.Gimarmenian = 0x0533;\n t.Gjecyrillic = 0x0403;\n t.Gmacron = 0x1e20;\n t.Gmonospace = 0xff27;\n t.Grave = 0xf6ce;\n t.Gravesmall = 0xf760;\n t.Gsmall = 0xf767;\n t.Gsmallhook = 0x029b;\n t.Gstroke = 0x01e4;\n t.H = 0x0048;\n t.H18533 = 0x25cf;\n t.H18543 = 0x25aa;\n t.H18551 = 0x25ab;\n t.H22073 = 0x25a1;\n t.HPsquare = 0x33cb;\n t.Haabkhasiancyrillic = 0x04a8;\n t.Hadescendercyrillic = 0x04b2;\n t.Hardsigncyrillic = 0x042a;\n t.Hbar = 0x0126;\n t.Hbrevebelow = 0x1e2a;\n t.Hcedilla = 0x1e28;\n t.Hcircle = 0x24bd;\n t.Hcircumflex = 0x0124;\n t.Hdieresis = 0x1e26;\n t.Hdotaccent = 0x1e22;\n t.Hdotbelow = 0x1e24;\n t.Hmonospace = 0xff28;\n t.Hoarmenian = 0x0540;\n t.Horicoptic = 0x03e8;\n t.Hsmall = 0xf768;\n t.Hungarumlaut = 0xf6cf;\n t.Hungarumlautsmall = 0xf6f8;\n t.Hzsquare = 0x3390;\n t.I = 0x0049;\n t.IAcyrillic = 0x042f;\n t.IJ = 0x0132;\n t.IUcyrillic = 0x042e;\n t.Iacute = 0x00cd;\n t.Iacutesmall = 0xf7ed;\n t.Ibreve = 0x012c;\n t.Icaron = 0x01cf;\n t.Icircle = 0x24be;\n t.Icircumflex = 0x00ce;\n t.Icircumflexsmall = 0xf7ee;\n t.Icyrillic = 0x0406;\n t.Idblgrave = 0x0208;\n t.Idieresis = 0x00cf;\n t.Idieresisacute = 0x1e2e;\n t.Idieresiscyrillic = 0x04e4;\n t.Idieresissmall = 0xf7ef;\n t.Idot = 0x0130;\n t.Idotaccent = 0x0130;\n t.Idotbelow = 0x1eca;\n t.Iebrevecyrillic = 0x04d6;\n t.Iecyrillic = 0x0415;\n t.Ifraktur = 0x2111;\n t.Igrave = 0x00cc;\n t.Igravesmall = 0xf7ec;\n t.Ihookabove = 0x1ec8;\n t.Iicyrillic = 0x0418;\n t.Iinvertedbreve = 0x020a;\n t.Iishortcyrillic = 0x0419;\n t.Imacron = 0x012a;\n t.Imacroncyrillic = 0x04e2;\n t.Imonospace = 0xff29;\n t.Iniarmenian = 0x053b;\n t.Iocyrillic = 0x0401;\n t.Iogonek = 0x012e;\n t.Iota = 0x0399;\n t.Iotaafrican = 0x0196;\n t.Iotadieresis = 0x03aa;\n t.Iotatonos = 0x038a;\n t.Ismall = 0xf769;\n t.Istroke = 0x0197;\n t.Itilde = 0x0128;\n t.Itildebelow = 0x1e2c;\n t.Izhitsacyrillic = 0x0474;\n t.Izhitsadblgravecyrillic = 0x0476;\n t.J = 0x004a;\n t.Jaarmenian = 0x0541;\n t.Jcircle = 0x24bf;\n t.Jcircumflex = 0x0134;\n t.Jecyrillic = 0x0408;\n t.Jheharmenian = 0x054b;\n t.Jmonospace = 0xff2a;\n t.Jsmall = 0xf76a;\n t.K = 0x004b;\n t.KBsquare = 0x3385;\n t.KKsquare = 0x33cd;\n t.Kabashkircyrillic = 0x04a0;\n t.Kacute = 0x1e30;\n t.Kacyrillic = 0x041a;\n t.Kadescendercyrillic = 0x049a;\n t.Kahookcyrillic = 0x04c3;\n t.Kappa = 0x039a;\n t.Kastrokecyrillic = 0x049e;\n t.Kaverticalstrokecyrillic = 0x049c;\n t.Kcaron = 0x01e8;\n t.Kcedilla = 0x0136;\n t.Kcircle = 0x24c0;\n t.Kcommaaccent = 0x0136;\n t.Kdotbelow = 0x1e32;\n t.Keharmenian = 0x0554;\n t.Kenarmenian = 0x053f;\n t.Khacyrillic = 0x0425;\n t.Kheicoptic = 0x03e6;\n t.Khook = 0x0198;\n t.Kjecyrillic = 0x040c;\n t.Klinebelow = 0x1e34;\n t.Kmonospace = 0xff2b;\n t.Koppacyrillic = 0x0480;\n t.Koppagreek = 0x03de;\n t.Ksicyrillic = 0x046e;\n t.Ksmall = 0xf76b;\n t.L = 0x004c;\n t.LJ = 0x01c7;\n t.LL = 0xf6bf;\n t.Lacute = 0x0139;\n t.Lambda = 0x039b;\n t.Lcaron = 0x013d;\n t.Lcedilla = 0x013b;\n t.Lcircle = 0x24c1;\n t.Lcircumflexbelow = 0x1e3c;\n t.Lcommaaccent = 0x013b;\n t.Ldot = 0x013f;\n t.Ldotaccent = 0x013f;\n t.Ldotbelow = 0x1e36;\n t.Ldotbelowmacron = 0x1e38;\n t.Liwnarmenian = 0x053c;\n t.Lj = 0x01c8;\n t.Ljecyrillic = 0x0409;\n t.Llinebelow = 0x1e3a;\n t.Lmonospace = 0xff2c;\n t.Lslash = 0x0141;\n t.Lslashsmall = 0xf6f9;\n t.Lsmall = 0xf76c;\n t.M = 0x004d;\n t.MBsquare = 0x3386;\n t.Macron = 0xf6d0;\n t.Macronsmall = 0xf7af;\n t.Macute = 0x1e3e;\n t.Mcircle = 0x24c2;\n t.Mdotaccent = 0x1e40;\n t.Mdotbelow = 0x1e42;\n t.Menarmenian = 0x0544;\n t.Mmonospace = 0xff2d;\n t.Msmall = 0xf76d;\n t.Mturned = 0x019c;\n t.Mu = 0x039c;\n t.N = 0x004e;\n t.NJ = 0x01ca;\n t.Nacute = 0x0143;\n t.Ncaron = 0x0147;\n t.Ncedilla = 0x0145;\n t.Ncircle = 0x24c3;\n t.Ncircumflexbelow = 0x1e4a;\n t.Ncommaaccent = 0x0145;\n t.Ndotaccent = 0x1e44;\n t.Ndotbelow = 0x1e46;\n t.Nhookleft = 0x019d;\n t.Nineroman = 0x2168;\n t.Nj = 0x01cb;\n t.Njecyrillic = 0x040a;\n t.Nlinebelow = 0x1e48;\n t.Nmonospace = 0xff2e;\n t.Nowarmenian = 0x0546;\n t.Nsmall = 0xf76e;\n t.Ntilde = 0x00d1;\n t.Ntildesmall = 0xf7f1;\n t.Nu = 0x039d;\n t.O = 0x004f;\n t.OE = 0x0152;\n t.OEsmall = 0xf6fa;\n t.Oacute = 0x00d3;\n t.Oacutesmall = 0xf7f3;\n t.Obarredcyrillic = 0x04e8;\n t.Obarreddieresiscyrillic = 0x04ea;\n t.Obreve = 0x014e;\n t.Ocaron = 0x01d1;\n t.Ocenteredtilde = 0x019f;\n t.Ocircle = 0x24c4;\n t.Ocircumflex = 0x00d4;\n t.Ocircumflexacute = 0x1ed0;\n t.Ocircumflexdotbelow = 0x1ed8;\n t.Ocircumflexgrave = 0x1ed2;\n t.Ocircumflexhookabove = 0x1ed4;\n t.Ocircumflexsmall = 0xf7f4;\n t.Ocircumflextilde = 0x1ed6;\n t.Ocyrillic = 0x041e;\n t.Odblacute = 0x0150;\n t.Odblgrave = 0x020c;\n t.Odieresis = 0x00d6;\n t.Odieresiscyrillic = 0x04e6;\n t.Odieresissmall = 0xf7f6;\n t.Odotbelow = 0x1ecc;\n t.Ogoneksmall = 0xf6fb;\n t.Ograve = 0x00d2;\n t.Ogravesmall = 0xf7f2;\n t.Oharmenian = 0x0555;\n t.Ohm = 0x2126;\n t.Ohookabove = 0x1ece;\n t.Ohorn = 0x01a0;\n t.Ohornacute = 0x1eda;\n t.Ohorndotbelow = 0x1ee2;\n t.Ohorngrave = 0x1edc;\n t.Ohornhookabove = 0x1ede;\n t.Ohorntilde = 0x1ee0;\n t.Ohungarumlaut = 0x0150;\n t.Oi = 0x01a2;\n t.Oinvertedbreve = 0x020e;\n t.Omacron = 0x014c;\n t.Omacronacute = 0x1e52;\n t.Omacrongrave = 0x1e50;\n t.Omega = 0x2126;\n t.Omegacyrillic = 0x0460;\n t.Omegagreek = 0x03a9;\n t.Omegaroundcyrillic = 0x047a;\n t.Omegatitlocyrillic = 0x047c;\n t.Omegatonos = 0x038f;\n t.Omicron = 0x039f;\n t.Omicrontonos = 0x038c;\n t.Omonospace = 0xff2f;\n t.Oneroman = 0x2160;\n t.Oogonek = 0x01ea;\n t.Oogonekmacron = 0x01ec;\n t.Oopen = 0x0186;\n t.Oslash = 0x00d8;\n t.Oslashacute = 0x01fe;\n t.Oslashsmall = 0xf7f8;\n t.Osmall = 0xf76f;\n t.Ostrokeacute = 0x01fe;\n t.Otcyrillic = 0x047e;\n t.Otilde = 0x00d5;\n t.Otildeacute = 0x1e4c;\n t.Otildedieresis = 0x1e4e;\n t.Otildesmall = 0xf7f5;\n t.P = 0x0050;\n t.Pacute = 0x1e54;\n t.Pcircle = 0x24c5;\n t.Pdotaccent = 0x1e56;\n t.Pecyrillic = 0x041f;\n t.Peharmenian = 0x054a;\n t.Pemiddlehookcyrillic = 0x04a6;\n t.Phi = 0x03a6;\n t.Phook = 0x01a4;\n t.Pi = 0x03a0;\n t.Piwrarmenian = 0x0553;\n t.Pmonospace = 0xff30;\n t.Psi = 0x03a8;\n t.Psicyrillic = 0x0470;\n t.Psmall = 0xf770;\n t.Q = 0x0051;\n t.Qcircle = 0x24c6;\n t.Qmonospace = 0xff31;\n t.Qsmall = 0xf771;\n t.R = 0x0052;\n t.Raarmenian = 0x054c;\n t.Racute = 0x0154;\n t.Rcaron = 0x0158;\n t.Rcedilla = 0x0156;\n t.Rcircle = 0x24c7;\n t.Rcommaaccent = 0x0156;\n t.Rdblgrave = 0x0210;\n t.Rdotaccent = 0x1e58;\n t.Rdotbelow = 0x1e5a;\n t.Rdotbelowmacron = 0x1e5c;\n t.Reharmenian = 0x0550;\n t.Rfraktur = 0x211c;\n t.Rho = 0x03a1;\n t.Ringsmall = 0xf6fc;\n t.Rinvertedbreve = 0x0212;\n t.Rlinebelow = 0x1e5e;\n t.Rmonospace = 0xff32;\n t.Rsmall = 0xf772;\n t.Rsmallinverted = 0x0281;\n t.Rsmallinvertedsuperior = 0x02b6;\n t.S = 0x0053;\n t.SF010000 = 0x250c;\n t.SF020000 = 0x2514;\n t.SF030000 = 0x2510;\n t.SF040000 = 0x2518;\n t.SF050000 = 0x253c;\n t.SF060000 = 0x252c;\n t.SF070000 = 0x2534;\n t.SF080000 = 0x251c;\n t.SF090000 = 0x2524;\n t.SF100000 = 0x2500;\n t.SF110000 = 0x2502;\n t.SF190000 = 0x2561;\n t.SF200000 = 0x2562;\n t.SF210000 = 0x2556;\n t.SF220000 = 0x2555;\n t.SF230000 = 0x2563;\n t.SF240000 = 0x2551;\n t.SF250000 = 0x2557;\n t.SF260000 = 0x255d;\n t.SF270000 = 0x255c;\n t.SF280000 = 0x255b;\n t.SF360000 = 0x255e;\n t.SF370000 = 0x255f;\n t.SF380000 = 0x255a;\n t.SF390000 = 0x2554;\n t.SF400000 = 0x2569;\n t.SF410000 = 0x2566;\n t.SF420000 = 0x2560;\n t.SF430000 = 0x2550;\n t.SF440000 = 0x256c;\n t.SF450000 = 0x2567;\n t.SF460000 = 0x2568;\n t.SF470000 = 0x2564;\n t.SF480000 = 0x2565;\n t.SF490000 = 0x2559;\n t.SF500000 = 0x2558;\n t.SF510000 = 0x2552;\n t.SF520000 = 0x2553;\n t.SF530000 = 0x256b;\n t.SF540000 = 0x256a;\n t.Sacute = 0x015a;\n t.Sacutedotaccent = 0x1e64;\n t.Sampigreek = 0x03e0;\n t.Scaron = 0x0160;\n t.Scarondotaccent = 0x1e66;\n t.Scaronsmall = 0xf6fd;\n t.Scedilla = 0x015e;\n t.Schwa = 0x018f;\n t.Schwacyrillic = 0x04d8;\n t.Schwadieresiscyrillic = 0x04da;\n t.Scircle = 0x24c8;\n t.Scircumflex = 0x015c;\n t.Scommaaccent = 0x0218;\n t.Sdotaccent = 0x1e60;\n t.Sdotbelow = 0x1e62;\n t.Sdotbelowdotaccent = 0x1e68;\n t.Seharmenian = 0x054d;\n t.Sevenroman = 0x2166;\n t.Shaarmenian = 0x0547;\n t.Shacyrillic = 0x0428;\n t.Shchacyrillic = 0x0429;\n t.Sheicoptic = 0x03e2;\n t.Shhacyrillic = 0x04ba;\n t.Shimacoptic = 0x03ec;\n t.Sigma = 0x03a3;\n t.Sixroman = 0x2165;\n t.Smonospace = 0xff33;\n t.Softsigncyrillic = 0x042c;\n t.Ssmall = 0xf773;\n t.Stigmagreek = 0x03da;\n t.T = 0x0054;\n t.Tau = 0x03a4;\n t.Tbar = 0x0166;\n t.Tcaron = 0x0164;\n t.Tcedilla = 0x0162;\n t.Tcircle = 0x24c9;\n t.Tcircumflexbelow = 0x1e70;\n t.Tcommaaccent = 0x0162;\n t.Tdotaccent = 0x1e6a;\n t.Tdotbelow = 0x1e6c;\n t.Tecyrillic = 0x0422;\n t.Tedescendercyrillic = 0x04ac;\n t.Tenroman = 0x2169;\n t.Tetsecyrillic = 0x04b4;\n t.Theta = 0x0398;\n t.Thook = 0x01ac;\n t.Thorn = 0x00de;\n t.Thornsmall = 0xf7fe;\n t.Threeroman = 0x2162;\n t.Tildesmall = 0xf6fe;\n t.Tiwnarmenian = 0x054f;\n t.Tlinebelow = 0x1e6e;\n t.Tmonospace = 0xff34;\n t.Toarmenian = 0x0539;\n t.Tonefive = 0x01bc;\n t.Tonesix = 0x0184;\n t.Tonetwo = 0x01a7;\n t.Tretroflexhook = 0x01ae;\n t.Tsecyrillic = 0x0426;\n t.Tshecyrillic = 0x040b;\n t.Tsmall = 0xf774;\n t.Twelveroman = 0x216b;\n t.Tworoman = 0x2161;\n t.U = 0x0055;\n t.Uacute = 0x00da;\n t.Uacutesmall = 0xf7fa;\n t.Ubreve = 0x016c;\n t.Ucaron = 0x01d3;\n t.Ucircle = 0x24ca;\n t.Ucircumflex = 0x00db;\n t.Ucircumflexbelow = 0x1e76;\n t.Ucircumflexsmall = 0xf7fb;\n t.Ucyrillic = 0x0423;\n t.Udblacute = 0x0170;\n t.Udblgrave = 0x0214;\n t.Udieresis = 0x00dc;\n t.Udieresisacute = 0x01d7;\n t.Udieresisbelow = 0x1e72;\n t.Udieresiscaron = 0x01d9;\n t.Udieresiscyrillic = 0x04f0;\n t.Udieresisgrave = 0x01db;\n t.Udieresismacron = 0x01d5;\n t.Udieresissmall = 0xf7fc;\n t.Udotbelow = 0x1ee4;\n t.Ugrave = 0x00d9;\n t.Ugravesmall = 0xf7f9;\n t.Uhookabove = 0x1ee6;\n t.Uhorn = 0x01af;\n t.Uhornacute = 0x1ee8;\n t.Uhorndotbelow = 0x1ef0;\n t.Uhorngrave = 0x1eea;\n t.Uhornhookabove = 0x1eec;\n t.Uhorntilde = 0x1eee;\n t.Uhungarumlaut = 0x0170;\n t.Uhungarumlautcyrillic = 0x04f2;\n t.Uinvertedbreve = 0x0216;\n t.Ukcyrillic = 0x0478;\n t.Umacron = 0x016a;\n t.Umacroncyrillic = 0x04ee;\n t.Umacrondieresis = 0x1e7a;\n t.Umonospace = 0xff35;\n t.Uogonek = 0x0172;\n t.Upsilon = 0x03a5;\n t.Upsilon1 = 0x03d2;\n t.Upsilonacutehooksymbolgreek = 0x03d3;\n t.Upsilonafrican = 0x01b1;\n t.Upsilondieresis = 0x03ab;\n t.Upsilondieresishooksymbolgreek = 0x03d4;\n t.Upsilonhooksymbol = 0x03d2;\n t.Upsilontonos = 0x038e;\n t.Uring = 0x016e;\n t.Ushortcyrillic = 0x040e;\n t.Usmall = 0xf775;\n t.Ustraightcyrillic = 0x04ae;\n t.Ustraightstrokecyrillic = 0x04b0;\n t.Utilde = 0x0168;\n t.Utildeacute = 0x1e78;\n t.Utildebelow = 0x1e74;\n t.V = 0x0056;\n t.Vcircle = 0x24cb;\n t.Vdotbelow = 0x1e7e;\n t.Vecyrillic = 0x0412;\n t.Vewarmenian = 0x054e;\n t.Vhook = 0x01b2;\n t.Vmonospace = 0xff36;\n t.Voarmenian = 0x0548;\n t.Vsmall = 0xf776;\n t.Vtilde = 0x1e7c;\n t.W = 0x0057;\n t.Wacute = 0x1e82;\n t.Wcircle = 0x24cc;\n t.Wcircumflex = 0x0174;\n t.Wdieresis = 0x1e84;\n t.Wdotaccent = 0x1e86;\n t.Wdotbelow = 0x1e88;\n t.Wgrave = 0x1e80;\n t.Wmonospace = 0xff37;\n t.Wsmall = 0xf777;\n t.X = 0x0058;\n t.Xcircle = 0x24cd;\n t.Xdieresis = 0x1e8c;\n t.Xdotaccent = 0x1e8a;\n t.Xeharmenian = 0x053d;\n t.Xi = 0x039e;\n t.Xmonospace = 0xff38;\n t.Xsmall = 0xf778;\n t.Y = 0x0059;\n t.Yacute = 0x00dd;\n t.Yacutesmall = 0xf7fd;\n t.Yatcyrillic = 0x0462;\n t.Ycircle = 0x24ce;\n t.Ycircumflex = 0x0176;\n t.Ydieresis = 0x0178;\n t.Ydieresissmall = 0xf7ff;\n t.Ydotaccent = 0x1e8e;\n t.Ydotbelow = 0x1ef4;\n t.Yericyrillic = 0x042b;\n t.Yerudieresiscyrillic = 0x04f8;\n t.Ygrave = 0x1ef2;\n t.Yhook = 0x01b3;\n t.Yhookabove = 0x1ef6;\n t.Yiarmenian = 0x0545;\n t.Yicyrillic = 0x0407;\n t.Yiwnarmenian = 0x0552;\n t.Ymonospace = 0xff39;\n t.Ysmall = 0xf779;\n t.Ytilde = 0x1ef8;\n t.Yusbigcyrillic = 0x046a;\n t.Yusbigiotifiedcyrillic = 0x046c;\n t.Yuslittlecyrillic = 0x0466;\n t.Yuslittleiotifiedcyrillic = 0x0468;\n t.Z = 0x005a;\n t.Zaarmenian = 0x0536;\n t.Zacute = 0x0179;\n t.Zcaron = 0x017d;\n t.Zcaronsmall = 0xf6ff;\n t.Zcircle = 0x24cf;\n t.Zcircumflex = 0x1e90;\n t.Zdot = 0x017b;\n t.Zdotaccent = 0x017b;\n t.Zdotbelow = 0x1e92;\n t.Zecyrillic = 0x0417;\n t.Zedescendercyrillic = 0x0498;\n t.Zedieresiscyrillic = 0x04de;\n t.Zeta = 0x0396;\n t.Zhearmenian = 0x053a;\n t.Zhebrevecyrillic = 0x04c1;\n t.Zhecyrillic = 0x0416;\n t.Zhedescendercyrillic = 0x0496;\n t.Zhedieresiscyrillic = 0x04dc;\n t.Zlinebelow = 0x1e94;\n t.Zmonospace = 0xff3a;\n t.Zsmall = 0xf77a;\n t.Zstroke = 0x01b5;\n t.a = 0x0061;\n t.aabengali = 0x0986;\n t.aacute = 0x00e1;\n t.aadeva = 0x0906;\n t.aagujarati = 0x0a86;\n t.aagurmukhi = 0x0a06;\n t.aamatragurmukhi = 0x0a3e;\n t.aarusquare = 0x3303;\n t.aavowelsignbengali = 0x09be;\n t.aavowelsigndeva = 0x093e;\n t.aavowelsigngujarati = 0x0abe;\n t.abbreviationmarkarmenian = 0x055f;\n t.abbreviationsigndeva = 0x0970;\n t.abengali = 0x0985;\n t.abopomofo = 0x311a;\n t.abreve = 0x0103;\n t.abreveacute = 0x1eaf;\n t.abrevecyrillic = 0x04d1;\n t.abrevedotbelow = 0x1eb7;\n t.abrevegrave = 0x1eb1;\n t.abrevehookabove = 0x1eb3;\n t.abrevetilde = 0x1eb5;\n t.acaron = 0x01ce;\n t.acircle = 0x24d0;\n t.acircumflex = 0x00e2;\n t.acircumflexacute = 0x1ea5;\n t.acircumflexdotbelow = 0x1ead;\n t.acircumflexgrave = 0x1ea7;\n t.acircumflexhookabove = 0x1ea9;\n t.acircumflextilde = 0x1eab;\n t.acute = 0x00b4;\n t.acutebelowcmb = 0x0317;\n t.acutecmb = 0x0301;\n t.acutecomb = 0x0301;\n t.acutedeva = 0x0954;\n t.acutelowmod = 0x02cf;\n t.acutetonecmb = 0x0341;\n t.acyrillic = 0x0430;\n t.adblgrave = 0x0201;\n t.addakgurmukhi = 0x0a71;\n t.adeva = 0x0905;\n t.adieresis = 0x00e4;\n t.adieresiscyrillic = 0x04d3;\n t.adieresismacron = 0x01df;\n t.adotbelow = 0x1ea1;\n t.adotmacron = 0x01e1;\n t.ae = 0x00e6;\n t.aeacute = 0x01fd;\n t.aekorean = 0x3150;\n t.aemacron = 0x01e3;\n t.afii00208 = 0x2015;\n t.afii08941 = 0x20a4;\n t.afii10017 = 0x0410;\n t.afii10018 = 0x0411;\n t.afii10019 = 0x0412;\n t.afii10020 = 0x0413;\n t.afii10021 = 0x0414;\n t.afii10022 = 0x0415;\n t.afii10023 = 0x0401;\n t.afii10024 = 0x0416;\n t.afii10025 = 0x0417;\n t.afii10026 = 0x0418;\n t.afii10027 = 0x0419;\n t.afii10028 = 0x041a;\n t.afii10029 = 0x041b;\n t.afii10030 = 0x041c;\n t.afii10031 = 0x041d;\n t.afii10032 = 0x041e;\n t.afii10033 = 0x041f;\n t.afii10034 = 0x0420;\n t.afii10035 = 0x0421;\n t.afii10036 = 0x0422;\n t.afii10037 = 0x0423;\n t.afii10038 = 0x0424;\n t.afii10039 = 0x0425;\n t.afii10040 = 0x0426;\n t.afii10041 = 0x0427;\n t.afii10042 = 0x0428;\n t.afii10043 = 0x0429;\n t.afii10044 = 0x042a;\n t.afii10045 = 0x042b;\n t.afii10046 = 0x042c;\n t.afii10047 = 0x042d;\n t.afii10048 = 0x042e;\n t.afii10049 = 0x042f;\n t.afii10050 = 0x0490;\n t.afii10051 = 0x0402;\n t.afii10052 = 0x0403;\n t.afii10053 = 0x0404;\n t.afii10054 = 0x0405;\n t.afii10055 = 0x0406;\n t.afii10056 = 0x0407;\n t.afii10057 = 0x0408;\n t.afii10058 = 0x0409;\n t.afii10059 = 0x040a;\n t.afii10060 = 0x040b;\n t.afii10061 = 0x040c;\n t.afii10062 = 0x040e;\n t.afii10063 = 0xf6c4;\n t.afii10064 = 0xf6c5;\n t.afii10065 = 0x0430;\n t.afii10066 = 0x0431;\n t.afii10067 = 0x0432;\n t.afii10068 = 0x0433;\n t.afii10069 = 0x0434;\n t.afii10070 = 0x0435;\n t.afii10071 = 0x0451;\n t.afii10072 = 0x0436;\n t.afii10073 = 0x0437;\n t.afii10074 = 0x0438;\n t.afii10075 = 0x0439;\n t.afii10076 = 0x043a;\n t.afii10077 = 0x043b;\n t.afii10078 = 0x043c;\n t.afii10079 = 0x043d;\n t.afii10080 = 0x043e;\n t.afii10081 = 0x043f;\n t.afii10082 = 0x0440;\n t.afii10083 = 0x0441;\n t.afii10084 = 0x0442;\n t.afii10085 = 0x0443;\n t.afii10086 = 0x0444;\n t.afii10087 = 0x0445;\n t.afii10088 = 0x0446;\n t.afii10089 = 0x0447;\n t.afii10090 = 0x0448;\n t.afii10091 = 0x0449;\n t.afii10092 = 0x044a;\n t.afii10093 = 0x044b;\n t.afii10094 = 0x044c;\n t.afii10095 = 0x044d;\n t.afii10096 = 0x044e;\n t.afii10097 = 0x044f;\n t.afii10098 = 0x0491;\n t.afii10099 = 0x0452;\n t.afii10100 = 0x0453;\n t.afii10101 = 0x0454;\n t.afii10102 = 0x0455;\n t.afii10103 = 0x0456;\n t.afii10104 = 0x0457;\n t.afii10105 = 0x0458;\n t.afii10106 = 0x0459;\n t.afii10107 = 0x045a;\n t.afii10108 = 0x045b;\n t.afii10109 = 0x045c;\n t.afii10110 = 0x045e;\n t.afii10145 = 0x040f;\n t.afii10146 = 0x0462;\n t.afii10147 = 0x0472;\n t.afii10148 = 0x0474;\n t.afii10192 = 0xf6c6;\n t.afii10193 = 0x045f;\n t.afii10194 = 0x0463;\n t.afii10195 = 0x0473;\n t.afii10196 = 0x0475;\n t.afii10831 = 0xf6c7;\n t.afii10832 = 0xf6c8;\n t.afii10846 = 0x04d9;\n t.afii299 = 0x200e;\n t.afii300 = 0x200f;\n t.afii301 = 0x200d;\n t.afii57381 = 0x066a;\n t.afii57388 = 0x060c;\n t.afii57392 = 0x0660;\n t.afii57393 = 0x0661;\n t.afii57394 = 0x0662;\n t.afii57395 = 0x0663;\n t.afii57396 = 0x0664;\n t.afii57397 = 0x0665;\n t.afii57398 = 0x0666;\n t.afii57399 = 0x0667;\n t.afii57400 = 0x0668;\n t.afii57401 = 0x0669;\n t.afii57403 = 0x061b;\n t.afii57407 = 0x061f;\n t.afii57409 = 0x0621;\n t.afii57410 = 0x0622;\n t.afii57411 = 0x0623;\n t.afii57412 = 0x0624;\n t.afii57413 = 0x0625;\n t.afii57414 = 0x0626;\n t.afii57415 = 0x0627;\n t.afii57416 = 0x0628;\n t.afii57417 = 0x0629;\n t.afii57418 = 0x062a;\n t.afii57419 = 0x062b;\n t.afii57420 = 0x062c;\n t.afii57421 = 0x062d;\n t.afii57422 = 0x062e;\n t.afii57423 = 0x062f;\n t.afii57424 = 0x0630;\n t.afii57425 = 0x0631;\n t.afii57426 = 0x0632;\n t.afii57427 = 0x0633;\n t.afii57428 = 0x0634;\n t.afii57429 = 0x0635;\n t.afii57430 = 0x0636;\n t.afii57431 = 0x0637;\n t.afii57432 = 0x0638;\n t.afii57433 = 0x0639;\n t.afii57434 = 0x063a;\n t.afii57440 = 0x0640;\n t.afii57441 = 0x0641;\n t.afii57442 = 0x0642;\n t.afii57443 = 0x0643;\n t.afii57444 = 0x0644;\n t.afii57445 = 0x0645;\n t.afii57446 = 0x0646;\n t.afii57448 = 0x0648;\n t.afii57449 = 0x0649;\n t.afii57450 = 0x064a;\n t.afii57451 = 0x064b;\n t.afii57452 = 0x064c;\n t.afii57453 = 0x064d;\n t.afii57454 = 0x064e;\n t.afii57455 = 0x064f;\n t.afii57456 = 0x0650;\n t.afii57457 = 0x0651;\n t.afii57458 = 0x0652;\n t.afii57470 = 0x0647;\n t.afii57505 = 0x06a4;\n t.afii57506 = 0x067e;\n t.afii57507 = 0x0686;\n t.afii57508 = 0x0698;\n t.afii57509 = 0x06af;\n t.afii57511 = 0x0679;\n t.afii57512 = 0x0688;\n t.afii57513 = 0x0691;\n t.afii57514 = 0x06ba;\n t.afii57519 = 0x06d2;\n t.afii57534 = 0x06d5;\n t.afii57636 = 0x20aa;\n t.afii57645 = 0x05be;\n t.afii57658 = 0x05c3;\n t.afii57664 = 0x05d0;\n t.afii57665 = 0x05d1;\n t.afii57666 = 0x05d2;\n t.afii57667 = 0x05d3;\n t.afii57668 = 0x05d4;\n t.afii57669 = 0x05d5;\n t.afii57670 = 0x05d6;\n t.afii57671 = 0x05d7;\n t.afii57672 = 0x05d8;\n t.afii57673 = 0x05d9;\n t.afii57674 = 0x05da;\n t.afii57675 = 0x05db;\n t.afii57676 = 0x05dc;\n t.afii57677 = 0x05dd;\n t.afii57678 = 0x05de;\n t.afii57679 = 0x05df;\n t.afii57680 = 0x05e0;\n t.afii57681 = 0x05e1;\n t.afii57682 = 0x05e2;\n t.afii57683 = 0x05e3;\n t.afii57684 = 0x05e4;\n t.afii57685 = 0x05e5;\n t.afii57686 = 0x05e6;\n t.afii57687 = 0x05e7;\n t.afii57688 = 0x05e8;\n t.afii57689 = 0x05e9;\n t.afii57690 = 0x05ea;\n t.afii57694 = 0xfb2a;\n t.afii57695 = 0xfb2b;\n t.afii57700 = 0xfb4b;\n t.afii57705 = 0xfb1f;\n t.afii57716 = 0x05f0;\n t.afii57717 = 0x05f1;\n t.afii57718 = 0x05f2;\n t.afii57723 = 0xfb35;\n t.afii57793 = 0x05b4;\n t.afii57794 = 0x05b5;\n t.afii57795 = 0x05b6;\n t.afii57796 = 0x05bb;\n t.afii57797 = 0x05b8;\n t.afii57798 = 0x05b7;\n t.afii57799 = 0x05b0;\n t.afii57800 = 0x05b2;\n t.afii57801 = 0x05b1;\n t.afii57802 = 0x05b3;\n t.afii57803 = 0x05c2;\n t.afii57804 = 0x05c1;\n t.afii57806 = 0x05b9;\n t.afii57807 = 0x05bc;\n t.afii57839 = 0x05bd;\n t.afii57841 = 0x05bf;\n t.afii57842 = 0x05c0;\n t.afii57929 = 0x02bc;\n t.afii61248 = 0x2105;\n t.afii61289 = 0x2113;\n t.afii61352 = 0x2116;\n t.afii61573 = 0x202c;\n t.afii61574 = 0x202d;\n t.afii61575 = 0x202e;\n t.afii61664 = 0x200c;\n t.afii63167 = 0x066d;\n t.afii64937 = 0x02bd;\n t.agrave = 0x00e0;\n t.agujarati = 0x0a85;\n t.agurmukhi = 0x0a05;\n t.ahiragana = 0x3042;\n t.ahookabove = 0x1ea3;\n t.aibengali = 0x0990;\n t.aibopomofo = 0x311e;\n t.aideva = 0x0910;\n t.aiecyrillic = 0x04d5;\n t.aigujarati = 0x0a90;\n t.aigurmukhi = 0x0a10;\n t.aimatragurmukhi = 0x0a48;\n t.ainarabic = 0x0639;\n t.ainfinalarabic = 0xfeca;\n t.aininitialarabic = 0xfecb;\n t.ainmedialarabic = 0xfecc;\n t.ainvertedbreve = 0x0203;\n t.aivowelsignbengali = 0x09c8;\n t.aivowelsigndeva = 0x0948;\n t.aivowelsigngujarati = 0x0ac8;\n t.akatakana = 0x30a2;\n t.akatakanahalfwidth = 0xff71;\n t.akorean = 0x314f;\n t.alef = 0x05d0;\n t.alefarabic = 0x0627;\n t.alefdageshhebrew = 0xfb30;\n t.aleffinalarabic = 0xfe8e;\n t.alefhamzaabovearabic = 0x0623;\n t.alefhamzaabovefinalarabic = 0xfe84;\n t.alefhamzabelowarabic = 0x0625;\n t.alefhamzabelowfinalarabic = 0xfe88;\n t.alefhebrew = 0x05d0;\n t.aleflamedhebrew = 0xfb4f;\n t.alefmaddaabovearabic = 0x0622;\n t.alefmaddaabovefinalarabic = 0xfe82;\n t.alefmaksuraarabic = 0x0649;\n t.alefmaksurafinalarabic = 0xfef0;\n t.alefmaksurainitialarabic = 0xfef3;\n t.alefmaksuramedialarabic = 0xfef4;\n t.alefpatahhebrew = 0xfb2e;\n t.alefqamatshebrew = 0xfb2f;\n t.aleph = 0x2135;\n t.allequal = 0x224c;\n t.alpha = 0x03b1;\n t.alphatonos = 0x03ac;\n t.amacron = 0x0101;\n t.amonospace = 0xff41;\n t.ampersand = 0x0026;\n t.ampersandmonospace = 0xff06;\n t.ampersandsmall = 0xf726;\n t.amsquare = 0x33c2;\n t.anbopomofo = 0x3122;\n t.angbopomofo = 0x3124;\n t.angbracketleft = 0x3008;\n t.angbracketright = 0x3009;\n t.angkhankhuthai = 0x0e5a;\n t.angle = 0x2220;\n t.anglebracketleft = 0x3008;\n t.anglebracketleftvertical = 0xfe3f;\n t.anglebracketright = 0x3009;\n t.anglebracketrightvertical = 0xfe40;\n t.angleleft = 0x2329;\n t.angleright = 0x232a;\n t.angstrom = 0x212b;\n t.anoteleia = 0x0387;\n t.anudattadeva = 0x0952;\n t.anusvarabengali = 0x0982;\n t.anusvaradeva = 0x0902;\n t.anusvaragujarati = 0x0a82;\n t.aogonek = 0x0105;\n t.apaatosquare = 0x3300;\n t.aparen = 0x249c;\n t.apostrophearmenian = 0x055a;\n t.apostrophemod = 0x02bc;\n t.apple = 0xf8ff;\n t.approaches = 0x2250;\n t.approxequal = 0x2248;\n t.approxequalorimage = 0x2252;\n t.approximatelyequal = 0x2245;\n t.araeaekorean = 0x318e;\n t.araeakorean = 0x318d;\n t.arc = 0x2312;\n t.arighthalfring = 0x1e9a;\n t.aring = 0x00e5;\n t.aringacute = 0x01fb;\n t.aringbelow = 0x1e01;\n t.arrowboth = 0x2194;\n t.arrowdashdown = 0x21e3;\n t.arrowdashleft = 0x21e0;\n t.arrowdashright = 0x21e2;\n t.arrowdashup = 0x21e1;\n t.arrowdblboth = 0x21d4;\n t.arrowdbldown = 0x21d3;\n t.arrowdblleft = 0x21d0;\n t.arrowdblright = 0x21d2;\n t.arrowdblup = 0x21d1;\n t.arrowdown = 0x2193;\n t.arrowdownleft = 0x2199;\n t.arrowdownright = 0x2198;\n t.arrowdownwhite = 0x21e9;\n t.arrowheaddownmod = 0x02c5;\n t.arrowheadleftmod = 0x02c2;\n t.arrowheadrightmod = 0x02c3;\n t.arrowheadupmod = 0x02c4;\n t.arrowhorizex = 0xf8e7;\n t.arrowleft = 0x2190;\n t.arrowleftdbl = 0x21d0;\n t.arrowleftdblstroke = 0x21cd;\n t.arrowleftoverright = 0x21c6;\n t.arrowleftwhite = 0x21e6;\n t.arrowright = 0x2192;\n t.arrowrightdblstroke = 0x21cf;\n t.arrowrightheavy = 0x279e;\n t.arrowrightoverleft = 0x21c4;\n t.arrowrightwhite = 0x21e8;\n t.arrowtableft = 0x21e4;\n t.arrowtabright = 0x21e5;\n t.arrowup = 0x2191;\n t.arrowupdn = 0x2195;\n t.arrowupdnbse = 0x21a8;\n t.arrowupdownbase = 0x21a8;\n t.arrowupleft = 0x2196;\n t.arrowupleftofdown = 0x21c5;\n t.arrowupright = 0x2197;\n t.arrowupwhite = 0x21e7;\n t.arrowvertex = 0xf8e6;\n t.asciicircum = 0x005e;\n t.asciicircummonospace = 0xff3e;\n t.asciitilde = 0x007e;\n t.asciitildemonospace = 0xff5e;\n t.ascript = 0x0251;\n t.ascriptturned = 0x0252;\n t.asmallhiragana = 0x3041;\n t.asmallkatakana = 0x30a1;\n t.asmallkatakanahalfwidth = 0xff67;\n t.asterisk = 0x002a;\n t.asteriskaltonearabic = 0x066d;\n t.asteriskarabic = 0x066d;\n t.asteriskmath = 0x2217;\n t.asteriskmonospace = 0xff0a;\n t.asterisksmall = 0xfe61;\n t.asterism = 0x2042;\n t.asuperior = 0xf6e9;\n t.asymptoticallyequal = 0x2243;\n t.at = 0x0040;\n t.atilde = 0x00e3;\n t.atmonospace = 0xff20;\n t.atsmall = 0xfe6b;\n t.aturned = 0x0250;\n t.aubengali = 0x0994;\n t.aubopomofo = 0x3120;\n t.audeva = 0x0914;\n t.augujarati = 0x0a94;\n t.augurmukhi = 0x0a14;\n t.aulengthmarkbengali = 0x09d7;\n t.aumatragurmukhi = 0x0a4c;\n t.auvowelsignbengali = 0x09cc;\n t.auvowelsigndeva = 0x094c;\n t.auvowelsigngujarati = 0x0acc;\n t.avagrahadeva = 0x093d;\n t.aybarmenian = 0x0561;\n t.ayin = 0x05e2;\n t.ayinaltonehebrew = 0xfb20;\n t.ayinhebrew = 0x05e2;\n t.b = 0x0062;\n t.babengali = 0x09ac;\n t.backslash = 0x005c;\n t.backslashmonospace = 0xff3c;\n t.badeva = 0x092c;\n t.bagujarati = 0x0aac;\n t.bagurmukhi = 0x0a2c;\n t.bahiragana = 0x3070;\n t.bahtthai = 0x0e3f;\n t.bakatakana = 0x30d0;\n t.bar = 0x007c;\n t.barmonospace = 0xff5c;\n t.bbopomofo = 0x3105;\n t.bcircle = 0x24d1;\n t.bdotaccent = 0x1e03;\n t.bdotbelow = 0x1e05;\n t.beamedsixteenthnotes = 0x266c;\n t.because = 0x2235;\n t.becyrillic = 0x0431;\n t.beharabic = 0x0628;\n t.behfinalarabic = 0xfe90;\n t.behinitialarabic = 0xfe91;\n t.behiragana = 0x3079;\n t.behmedialarabic = 0xfe92;\n t.behmeeminitialarabic = 0xfc9f;\n t.behmeemisolatedarabic = 0xfc08;\n t.behnoonfinalarabic = 0xfc6d;\n t.bekatakana = 0x30d9;\n t.benarmenian = 0x0562;\n t.bet = 0x05d1;\n t.beta = 0x03b2;\n t.betasymbolgreek = 0x03d0;\n t.betdagesh = 0xfb31;\n t.betdageshhebrew = 0xfb31;\n t.bethebrew = 0x05d1;\n t.betrafehebrew = 0xfb4c;\n t.bhabengali = 0x09ad;\n t.bhadeva = 0x092d;\n t.bhagujarati = 0x0aad;\n t.bhagurmukhi = 0x0a2d;\n t.bhook = 0x0253;\n t.bihiragana = 0x3073;\n t.bikatakana = 0x30d3;\n t.bilabialclick = 0x0298;\n t.bindigurmukhi = 0x0a02;\n t.birusquare = 0x3331;\n t.blackcircle = 0x25cf;\n t.blackdiamond = 0x25c6;\n t.blackdownpointingtriangle = 0x25bc;\n t.blackleftpointingpointer = 0x25c4;\n t.blackleftpointingtriangle = 0x25c0;\n t.blacklenticularbracketleft = 0x3010;\n t.blacklenticularbracketleftvertical = 0xfe3b;\n t.blacklenticularbracketright = 0x3011;\n t.blacklenticularbracketrightvertical = 0xfe3c;\n t.blacklowerlefttriangle = 0x25e3;\n t.blacklowerrighttriangle = 0x25e2;\n t.blackrectangle = 0x25ac;\n t.blackrightpointingpointer = 0x25ba;\n t.blackrightpointingtriangle = 0x25b6;\n t.blacksmallsquare = 0x25aa;\n t.blacksmilingface = 0x263b;\n t.blacksquare = 0x25a0;\n t.blackstar = 0x2605;\n t.blackupperlefttriangle = 0x25e4;\n t.blackupperrighttriangle = 0x25e5;\n t.blackuppointingsmalltriangle = 0x25b4;\n t.blackuppointingtriangle = 0x25b2;\n t.blank = 0x2423;\n t.blinebelow = 0x1e07;\n t.block = 0x2588;\n t.bmonospace = 0xff42;\n t.bobaimaithai = 0x0e1a;\n t.bohiragana = 0x307c;\n t.bokatakana = 0x30dc;\n t.bparen = 0x249d;\n t.bqsquare = 0x33c3;\n t.braceex = 0xf8f4;\n t.braceleft = 0x007b;\n t.braceleftbt = 0xf8f3;\n t.braceleftmid = 0xf8f2;\n t.braceleftmonospace = 0xff5b;\n t.braceleftsmall = 0xfe5b;\n t.bracelefttp = 0xf8f1;\n t.braceleftvertical = 0xfe37;\n t.braceright = 0x007d;\n t.bracerightbt = 0xf8fe;\n t.bracerightmid = 0xf8fd;\n t.bracerightmonospace = 0xff5d;\n t.bracerightsmall = 0xfe5c;\n t.bracerighttp = 0xf8fc;\n t.bracerightvertical = 0xfe38;\n t.bracketleft = 0x005b;\n t.bracketleftbt = 0xf8f0;\n t.bracketleftex = 0xf8ef;\n t.bracketleftmonospace = 0xff3b;\n t.bracketlefttp = 0xf8ee;\n t.bracketright = 0x005d;\n t.bracketrightbt = 0xf8fb;\n t.bracketrightex = 0xf8fa;\n t.bracketrightmonospace = 0xff3d;\n t.bracketrighttp = 0xf8f9;\n t.breve = 0x02d8;\n t.brevebelowcmb = 0x032e;\n t.brevecmb = 0x0306;\n t.breveinvertedbelowcmb = 0x032f;\n t.breveinvertedcmb = 0x0311;\n t.breveinverteddoublecmb = 0x0361;\n t.bridgebelowcmb = 0x032a;\n t.bridgeinvertedbelowcmb = 0x033a;\n t.brokenbar = 0x00a6;\n t.bstroke = 0x0180;\n t.bsuperior = 0xf6ea;\n t.btopbar = 0x0183;\n t.buhiragana = 0x3076;\n t.bukatakana = 0x30d6;\n t.bullet = 0x2022;\n t.bulletinverse = 0x25d8;\n t.bulletoperator = 0x2219;\n t.bullseye = 0x25ce;\n t.c = 0x0063;\n t.caarmenian = 0x056e;\n t.cabengali = 0x099a;\n t.cacute = 0x0107;\n t.cadeva = 0x091a;\n t.cagujarati = 0x0a9a;\n t.cagurmukhi = 0x0a1a;\n t.calsquare = 0x3388;\n t.candrabindubengali = 0x0981;\n t.candrabinducmb = 0x0310;\n t.candrabindudeva = 0x0901;\n t.candrabindugujarati = 0x0a81;\n t.capslock = 0x21ea;\n t.careof = 0x2105;\n t.caron = 0x02c7;\n t.caronbelowcmb = 0x032c;\n t.caroncmb = 0x030c;\n t.carriagereturn = 0x21b5;\n t.cbopomofo = 0x3118;\n t.ccaron = 0x010d;\n t.ccedilla = 0x00e7;\n t.ccedillaacute = 0x1e09;\n t.ccircle = 0x24d2;\n t.ccircumflex = 0x0109;\n t.ccurl = 0x0255;\n t.cdot = 0x010b;\n t.cdotaccent = 0x010b;\n t.cdsquare = 0x33c5;\n t.cedilla = 0x00b8;\n t.cedillacmb = 0x0327;\n t.cent = 0x00a2;\n t.centigrade = 0x2103;\n t.centinferior = 0xf6df;\n t.centmonospace = 0xffe0;\n t.centoldstyle = 0xf7a2;\n t.centsuperior = 0xf6e0;\n t.chaarmenian = 0x0579;\n t.chabengali = 0x099b;\n t.chadeva = 0x091b;\n t.chagujarati = 0x0a9b;\n t.chagurmukhi = 0x0a1b;\n t.chbopomofo = 0x3114;\n t.cheabkhasiancyrillic = 0x04bd;\n t.checkmark = 0x2713;\n t.checyrillic = 0x0447;\n t.chedescenderabkhasiancyrillic = 0x04bf;\n t.chedescendercyrillic = 0x04b7;\n t.chedieresiscyrillic = 0x04f5;\n t.cheharmenian = 0x0573;\n t.chekhakassiancyrillic = 0x04cc;\n t.cheverticalstrokecyrillic = 0x04b9;\n t.chi = 0x03c7;\n t.chieuchacirclekorean = 0x3277;\n t.chieuchaparenkorean = 0x3217;\n t.chieuchcirclekorean = 0x3269;\n t.chieuchkorean = 0x314a;\n t.chieuchparenkorean = 0x3209;\n t.chochangthai = 0x0e0a;\n t.chochanthai = 0x0e08;\n t.chochingthai = 0x0e09;\n t.chochoethai = 0x0e0c;\n t.chook = 0x0188;\n t.cieucacirclekorean = 0x3276;\n t.cieucaparenkorean = 0x3216;\n t.cieuccirclekorean = 0x3268;\n t.cieuckorean = 0x3148;\n t.cieucparenkorean = 0x3208;\n t.cieucuparenkorean = 0x321c;\n t.circle = 0x25cb;\n t.circlecopyrt = 0x00a9;\n t.circlemultiply = 0x2297;\n t.circleot = 0x2299;\n t.circleplus = 0x2295;\n t.circlepostalmark = 0x3036;\n t.circlewithlefthalfblack = 0x25d0;\n t.circlewithrighthalfblack = 0x25d1;\n t.circumflex = 0x02c6;\n t.circumflexbelowcmb = 0x032d;\n t.circumflexcmb = 0x0302;\n t.clear = 0x2327;\n t.clickalveolar = 0x01c2;\n t.clickdental = 0x01c0;\n t.clicklateral = 0x01c1;\n t.clickretroflex = 0x01c3;\n t.club = 0x2663;\n t.clubsuitblack = 0x2663;\n t.clubsuitwhite = 0x2667;\n t.cmcubedsquare = 0x33a4;\n t.cmonospace = 0xff43;\n t.cmsquaredsquare = 0x33a0;\n t.coarmenian = 0x0581;\n t.colon = 0x003a;\n t.colonmonetary = 0x20a1;\n t.colonmonospace = 0xff1a;\n t.colonsign = 0x20a1;\n t.colonsmall = 0xfe55;\n t.colontriangularhalfmod = 0x02d1;\n t.colontriangularmod = 0x02d0;\n t.comma = 0x002c;\n t.commaabovecmb = 0x0313;\n t.commaaboverightcmb = 0x0315;\n t.commaaccent = 0xf6c3;\n t.commaarabic = 0x060c;\n t.commaarmenian = 0x055d;\n t.commainferior = 0xf6e1;\n t.commamonospace = 0xff0c;\n t.commareversedabovecmb = 0x0314;\n t.commareversedmod = 0x02bd;\n t.commasmall = 0xfe50;\n t.commasuperior = 0xf6e2;\n t.commaturnedabovecmb = 0x0312;\n t.commaturnedmod = 0x02bb;\n t.compass = 0x263c;\n t.congruent = 0x2245;\n t.contourintegral = 0x222e;\n t.control = 0x2303;\n t.controlACK = 0x0006;\n t.controlBEL = 0x0007;\n t.controlBS = 0x0008;\n t.controlCAN = 0x0018;\n t.controlCR = 0x000d;\n t.controlDC1 = 0x0011;\n t.controlDC2 = 0x0012;\n t.controlDC3 = 0x0013;\n t.controlDC4 = 0x0014;\n t.controlDEL = 0x007f;\n t.controlDLE = 0x0010;\n t.controlEM = 0x0019;\n t.controlENQ = 0x0005;\n t.controlEOT = 0x0004;\n t.controlESC = 0x001b;\n t.controlETB = 0x0017;\n t.controlETX = 0x0003;\n t.controlFF = 0x000c;\n t.controlFS = 0x001c;\n t.controlGS = 0x001d;\n t.controlHT = 0x0009;\n t.controlLF = 0x000a;\n t.controlNAK = 0x0015;\n t.controlNULL = 0x0000;\n t.controlRS = 0x001e;\n t.controlSI = 0x000f;\n t.controlSO = 0x000e;\n t.controlSOT = 0x0002;\n t.controlSTX = 0x0001;\n t.controlSUB = 0x001a;\n t.controlSYN = 0x0016;\n t.controlUS = 0x001f;\n t.controlVT = 0x000b;\n t.copyright = 0x00a9;\n t.copyrightsans = 0xf8e9;\n t.copyrightserif = 0xf6d9;\n t.cornerbracketleft = 0x300c;\n t.cornerbracketlefthalfwidth = 0xff62;\n t.cornerbracketleftvertical = 0xfe41;\n t.cornerbracketright = 0x300d;\n t.cornerbracketrighthalfwidth = 0xff63;\n t.cornerbracketrightvertical = 0xfe42;\n t.corporationsquare = 0x337f;\n t.cosquare = 0x33c7;\n t.coverkgsquare = 0x33c6;\n t.cparen = 0x249e;\n t.cruzeiro = 0x20a2;\n t.cstretched = 0x0297;\n t.curlyand = 0x22cf;\n t.curlyor = 0x22ce;\n t.currency = 0x00a4;\n t.cyrBreve = 0xf6d1;\n t.cyrFlex = 0xf6d2;\n t.cyrbreve = 0xf6d4;\n t.cyrflex = 0xf6d5;\n t.d = 0x0064;\n t.daarmenian = 0x0564;\n t.dabengali = 0x09a6;\n t.dadarabic = 0x0636;\n t.dadeva = 0x0926;\n t.dadfinalarabic = 0xfebe;\n t.dadinitialarabic = 0xfebf;\n t.dadmedialarabic = 0xfec0;\n t.dagesh = 0x05bc;\n t.dageshhebrew = 0x05bc;\n t.dagger = 0x2020;\n t.daggerdbl = 0x2021;\n t.dagujarati = 0x0aa6;\n t.dagurmukhi = 0x0a26;\n t.dahiragana = 0x3060;\n t.dakatakana = 0x30c0;\n t.dalarabic = 0x062f;\n t.dalet = 0x05d3;\n t.daletdagesh = 0xfb33;\n t.daletdageshhebrew = 0xfb33;\n t.dalethebrew = 0x05d3;\n t.dalfinalarabic = 0xfeaa;\n t.dammaarabic = 0x064f;\n t.dammalowarabic = 0x064f;\n t.dammatanaltonearabic = 0x064c;\n t.dammatanarabic = 0x064c;\n t.danda = 0x0964;\n t.dargahebrew = 0x05a7;\n t.dargalefthebrew = 0x05a7;\n t.dasiapneumatacyrilliccmb = 0x0485;\n t.dblGrave = 0xf6d3;\n t.dblanglebracketleft = 0x300a;\n t.dblanglebracketleftvertical = 0xfe3d;\n t.dblanglebracketright = 0x300b;\n t.dblanglebracketrightvertical = 0xfe3e;\n t.dblarchinvertedbelowcmb = 0x032b;\n t.dblarrowleft = 0x21d4;\n t.dblarrowright = 0x21d2;\n t.dbldanda = 0x0965;\n t.dblgrave = 0xf6d6;\n t.dblgravecmb = 0x030f;\n t.dblintegral = 0x222c;\n t.dbllowline = 0x2017;\n t.dbllowlinecmb = 0x0333;\n t.dbloverlinecmb = 0x033f;\n t.dblprimemod = 0x02ba;\n t.dblverticalbar = 0x2016;\n t.dblverticallineabovecmb = 0x030e;\n t.dbopomofo = 0x3109;\n t.dbsquare = 0x33c8;\n t.dcaron = 0x010f;\n t.dcedilla = 0x1e11;\n t.dcircle = 0x24d3;\n t.dcircumflexbelow = 0x1e13;\n t.dcroat = 0x0111;\n t.ddabengali = 0x09a1;\n t.ddadeva = 0x0921;\n t.ddagujarati = 0x0aa1;\n t.ddagurmukhi = 0x0a21;\n t.ddalarabic = 0x0688;\n t.ddalfinalarabic = 0xfb89;\n t.dddhadeva = 0x095c;\n t.ddhabengali = 0x09a2;\n t.ddhadeva = 0x0922;\n t.ddhagujarati = 0x0aa2;\n t.ddhagurmukhi = 0x0a22;\n t.ddotaccent = 0x1e0b;\n t.ddotbelow = 0x1e0d;\n t.decimalseparatorarabic = 0x066b;\n t.decimalseparatorpersian = 0x066b;\n t.decyrillic = 0x0434;\n t.degree = 0x00b0;\n t.dehihebrew = 0x05ad;\n t.dehiragana = 0x3067;\n t.deicoptic = 0x03ef;\n t.dekatakana = 0x30c7;\n t.deleteleft = 0x232b;\n t.deleteright = 0x2326;\n t.delta = 0x03b4;\n t.deltaturned = 0x018d;\n t.denominatorminusonenumeratorbengali = 0x09f8;\n t.dezh = 0x02a4;\n t.dhabengali = 0x09a7;\n t.dhadeva = 0x0927;\n t.dhagujarati = 0x0aa7;\n t.dhagurmukhi = 0x0a27;\n t.dhook = 0x0257;\n t.dialytikatonos = 0x0385;\n t.dialytikatonoscmb = 0x0344;\n t.diamond = 0x2666;\n t.diamondsuitwhite = 0x2662;\n t.dieresis = 0x00a8;\n t.dieresisacute = 0xf6d7;\n t.dieresisbelowcmb = 0x0324;\n t.dieresiscmb = 0x0308;\n t.dieresisgrave = 0xf6d8;\n t.dieresistonos = 0x0385;\n t.dihiragana = 0x3062;\n t.dikatakana = 0x30c2;\n t.dittomark = 0x3003;\n t.divide = 0x00f7;\n t.divides = 0x2223;\n t.divisionslash = 0x2215;\n t.djecyrillic = 0x0452;\n t.dkshade = 0x2593;\n t.dlinebelow = 0x1e0f;\n t.dlsquare = 0x3397;\n t.dmacron = 0x0111;\n t.dmonospace = 0xff44;\n t.dnblock = 0x2584;\n t.dochadathai = 0x0e0e;\n t.dodekthai = 0x0e14;\n t.dohiragana = 0x3069;\n t.dokatakana = 0x30c9;\n t.dollar = 0x0024;\n t.dollarinferior = 0xf6e3;\n t.dollarmonospace = 0xff04;\n t.dollaroldstyle = 0xf724;\n t.dollarsmall = 0xfe69;\n t.dollarsuperior = 0xf6e4;\n t.dong = 0x20ab;\n t.dorusquare = 0x3326;\n t.dotaccent = 0x02d9;\n t.dotaccentcmb = 0x0307;\n t.dotbelowcmb = 0x0323;\n t.dotbelowcomb = 0x0323;\n t.dotkatakana = 0x30fb;\n t.dotlessi = 0x0131;\n t.dotlessj = 0xf6be;\n t.dotlessjstrokehook = 0x0284;\n t.dotmath = 0x22c5;\n t.dottedcircle = 0x25cc;\n t.doubleyodpatah = 0xfb1f;\n t.doubleyodpatahhebrew = 0xfb1f;\n t.downtackbelowcmb = 0x031e;\n t.downtackmod = 0x02d5;\n t.dparen = 0x249f;\n t.dsuperior = 0xf6eb;\n t.dtail = 0x0256;\n t.dtopbar = 0x018c;\n t.duhiragana = 0x3065;\n t.dukatakana = 0x30c5;\n t.dz = 0x01f3;\n t.dzaltone = 0x02a3;\n t.dzcaron = 0x01c6;\n t.dzcurl = 0x02a5;\n t.dzeabkhasiancyrillic = 0x04e1;\n t.dzecyrillic = 0x0455;\n t.dzhecyrillic = 0x045f;\n t.e = 0x0065;\n t.eacute = 0x00e9;\n t.earth = 0x2641;\n t.ebengali = 0x098f;\n t.ebopomofo = 0x311c;\n t.ebreve = 0x0115;\n t.ecandradeva = 0x090d;\n t.ecandragujarati = 0x0a8d;\n t.ecandravowelsigndeva = 0x0945;\n t.ecandravowelsigngujarati = 0x0ac5;\n t.ecaron = 0x011b;\n t.ecedillabreve = 0x1e1d;\n t.echarmenian = 0x0565;\n t.echyiwnarmenian = 0x0587;\n t.ecircle = 0x24d4;\n t.ecircumflex = 0x00ea;\n t.ecircumflexacute = 0x1ebf;\n t.ecircumflexbelow = 0x1e19;\n t.ecircumflexdotbelow = 0x1ec7;\n t.ecircumflexgrave = 0x1ec1;\n t.ecircumflexhookabove = 0x1ec3;\n t.ecircumflextilde = 0x1ec5;\n t.ecyrillic = 0x0454;\n t.edblgrave = 0x0205;\n t.edeva = 0x090f;\n t.edieresis = 0x00eb;\n t.edot = 0x0117;\n t.edotaccent = 0x0117;\n t.edotbelow = 0x1eb9;\n t.eegurmukhi = 0x0a0f;\n t.eematragurmukhi = 0x0a47;\n t.efcyrillic = 0x0444;\n t.egrave = 0x00e8;\n t.egujarati = 0x0a8f;\n t.eharmenian = 0x0567;\n t.ehbopomofo = 0x311d;\n t.ehiragana = 0x3048;\n t.ehookabove = 0x1ebb;\n t.eibopomofo = 0x311f;\n t.eight = 0x0038;\n t.eightarabic = 0x0668;\n t.eightbengali = 0x09ee;\n t.eightcircle = 0x2467;\n t.eightcircleinversesansserif = 0x2791;\n t.eightdeva = 0x096e;\n t.eighteencircle = 0x2471;\n t.eighteenparen = 0x2485;\n t.eighteenperiod = 0x2499;\n t.eightgujarati = 0x0aee;\n t.eightgurmukhi = 0x0a6e;\n t.eighthackarabic = 0x0668;\n t.eighthangzhou = 0x3028;\n t.eighthnotebeamed = 0x266b;\n t.eightideographicparen = 0x3227;\n t.eightinferior = 0x2088;\n t.eightmonospace = 0xff18;\n t.eightoldstyle = 0xf738;\n t.eightparen = 0x247b;\n t.eightperiod = 0x248f;\n t.eightpersian = 0x06f8;\n t.eightroman = 0x2177;\n t.eightsuperior = 0x2078;\n t.eightthai = 0x0e58;\n t.einvertedbreve = 0x0207;\n t.eiotifiedcyrillic = 0x0465;\n t.ekatakana = 0x30a8;\n t.ekatakanahalfwidth = 0xff74;\n t.ekonkargurmukhi = 0x0a74;\n t.ekorean = 0x3154;\n t.elcyrillic = 0x043b;\n t.element = 0x2208;\n t.elevencircle = 0x246a;\n t.elevenparen = 0x247e;\n t.elevenperiod = 0x2492;\n t.elevenroman = 0x217a;\n t.ellipsis = 0x2026;\n t.ellipsisvertical = 0x22ee;\n t.emacron = 0x0113;\n t.emacronacute = 0x1e17;\n t.emacrongrave = 0x1e15;\n t.emcyrillic = 0x043c;\n t.emdash = 0x2014;\n t.emdashvertical = 0xfe31;\n t.emonospace = 0xff45;\n t.emphasismarkarmenian = 0x055b;\n t.emptyset = 0x2205;\n t.enbopomofo = 0x3123;\n t.encyrillic = 0x043d;\n t.endash = 0x2013;\n t.endashvertical = 0xfe32;\n t.endescendercyrillic = 0x04a3;\n t.eng = 0x014b;\n t.engbopomofo = 0x3125;\n t.enghecyrillic = 0x04a5;\n t.enhookcyrillic = 0x04c8;\n t.enspace = 0x2002;\n t.eogonek = 0x0119;\n t.eokorean = 0x3153;\n t.eopen = 0x025b;\n t.eopenclosed = 0x029a;\n t.eopenreversed = 0x025c;\n t.eopenreversedclosed = 0x025e;\n t.eopenreversedhook = 0x025d;\n t.eparen = 0x24a0;\n t.epsilon = 0x03b5;\n t.epsilontonos = 0x03ad;\n t.equal = 0x003d;\n t.equalmonospace = 0xff1d;\n t.equalsmall = 0xfe66;\n t.equalsuperior = 0x207c;\n t.equivalence = 0x2261;\n t.erbopomofo = 0x3126;\n t.ercyrillic = 0x0440;\n t.ereversed = 0x0258;\n t.ereversedcyrillic = 0x044d;\n t.escyrillic = 0x0441;\n t.esdescendercyrillic = 0x04ab;\n t.esh = 0x0283;\n t.eshcurl = 0x0286;\n t.eshortdeva = 0x090e;\n t.eshortvowelsigndeva = 0x0946;\n t.eshreversedloop = 0x01aa;\n t.eshsquatreversed = 0x0285;\n t.esmallhiragana = 0x3047;\n t.esmallkatakana = 0x30a7;\n t.esmallkatakanahalfwidth = 0xff6a;\n t.estimated = 0x212e;\n t.esuperior = 0xf6ec;\n t.eta = 0x03b7;\n t.etarmenian = 0x0568;\n t.etatonos = 0x03ae;\n t.eth = 0x00f0;\n t.etilde = 0x1ebd;\n t.etildebelow = 0x1e1b;\n t.etnahtafoukhhebrew = 0x0591;\n t.etnahtafoukhlefthebrew = 0x0591;\n t.etnahtahebrew = 0x0591;\n t.etnahtalefthebrew = 0x0591;\n t.eturned = 0x01dd;\n t.eukorean = 0x3161;\n t.euro = 0x20ac;\n t.evowelsignbengali = 0x09c7;\n t.evowelsigndeva = 0x0947;\n t.evowelsigngujarati = 0x0ac7;\n t.exclam = 0x0021;\n t.exclamarmenian = 0x055c;\n t.exclamdbl = 0x203c;\n t.exclamdown = 0x00a1;\n t.exclamdownsmall = 0xf7a1;\n t.exclammonospace = 0xff01;\n t.exclamsmall = 0xf721;\n t.existential = 0x2203;\n t.ezh = 0x0292;\n t.ezhcaron = 0x01ef;\n t.ezhcurl = 0x0293;\n t.ezhreversed = 0x01b9;\n t.ezhtail = 0x01ba;\n t.f = 0x0066;\n t.fadeva = 0x095e;\n t.fagurmukhi = 0x0a5e;\n t.fahrenheit = 0x2109;\n t.fathaarabic = 0x064e;\n t.fathalowarabic = 0x064e;\n t.fathatanarabic = 0x064b;\n t.fbopomofo = 0x3108;\n t.fcircle = 0x24d5;\n t.fdotaccent = 0x1e1f;\n t.feharabic = 0x0641;\n t.feharmenian = 0x0586;\n t.fehfinalarabic = 0xfed2;\n t.fehinitialarabic = 0xfed3;\n t.fehmedialarabic = 0xfed4;\n t.feicoptic = 0x03e5;\n t.female = 0x2640;\n t.ff = 0xfb00;\n t.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});\nvar getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) {\n t.space = 0x0020;\n t.a1 = 0x2701;\n t.a2 = 0x2702;\n t.a202 = 0x2703;\n t.a3 = 0x2704;\n t.a4 = 0x260e;\n t.a5 = 0x2706;\n t.a119 = 0x2707;\n t.a118 = 0x2708;\n t.a117 = 0x2709;\n t.a11 = 0x261b;\n t.a12 = 0x261e;\n t.a13 = 0x270c;\n t.a14 = 0x270d;\n t.a15 = 0x270e;\n t.a16 = 0x270f;\n t.a105 = 0x2710;\n t.a17 = 0x2711;\n t.a18 = 0x2712;\n t.a19 = 0x2713;\n t.a20 = 0x2714;\n t.a21 = 0x2715;\n t.a22 = 0x2716;\n t.a23 = 0x2717;\n t.a24 = 0x2718;\n t.a25 = 0x2719;\n t.a26 = 0x271a;\n t.a27 = 0x271b;\n t.a28 = 0x271c;\n t.a6 = 0x271d;\n t.a7 = 0x271e;\n t.a8 = 0x271f;\n t.a9 = 0x2720;\n t.a10 = 0x2721;\n t.a29 = 0x2722;\n t.a30 = 0x2723;\n t.a31 = 0x2724;\n t.a32 = 0x2725;\n t.a33 = 0x2726;\n t.a34 = 0x2727;\n t.a35 = 0x2605;\n t.a36 = 0x2729;\n t.a37 = 0x272a;\n t.a38 = 0x272b;\n t.a39 = 0x272c;\n t.a40 = 0x272d;\n t.a41 = 0x272e;\n t.a42 = 0x272f;\n t.a43 = 0x2730;\n t.a44 = 0x2731;\n t.a45 = 0x2732;\n t.a46 = 0x2733;\n t.a47 = 0x2734;\n t.a48 = 0x2735;\n t.a49 = 0x2736;\n t.a50 = 0x2737;\n t.a51 = 0x2738;\n t.a52 = 0x2739;\n t.a53 = 0x273a;\n t.a54 = 0x273b;\n t.a55 = 0x273c;\n t.a56 = 0x273d;\n t.a57 = 0x273e;\n t.a58 = 0x273f;\n t.a59 = 0x2740;\n t.a60 = 0x2741;\n t.a61 = 0x2742;\n t.a62 = 0x2743;\n t.a63 = 0x2744;\n t.a64 = 0x2745;\n t.a65 = 0x2746;\n t.a66 = 0x2747;\n t.a67 = 0x2748;\n t.a68 = 0x2749;\n t.a69 = 0x274a;\n t.a70 = 0x274b;\n t.a71 = 0x25cf;\n t.a72 = 0x274d;\n t.a73 = 0x25a0;\n t.a74 = 0x274f;\n t.a203 = 0x2750;\n t.a75 = 0x2751;\n t.a204 = 0x2752;\n t.a76 = 0x25b2;\n t.a77 = 0x25bc;\n t.a78 = 0x25c6;\n t.a79 = 0x2756;\n t.a81 = 0x25d7;\n t.a82 = 0x2758;\n t.a83 = 0x2759;\n t.a84 = 0x275a;\n t.a97 = 0x275b;\n t.a98 = 0x275c;\n t.a99 = 0x275d;\n t.a100 = 0x275e;\n t.a101 = 0x2761;\n t.a102 = 0x2762;\n t.a103 = 0x2763;\n t.a104 = 0x2764;\n t.a106 = 0x2765;\n t.a107 = 0x2766;\n t.a108 = 0x2767;\n t.a112 = 0x2663;\n t.a111 = 0x2666;\n t.a110 = 0x2665;\n t.a109 = 0x2660;\n t.a120 = 0x2460;\n t.a121 = 0x2461;\n t.a122 = 0x2462;\n t.a123 = 0x2463;\n t.a124 = 0x2464;\n t.a125 = 0x2465;\n t.a126 = 0x2466;\n t.a127 = 0x2467;\n t.a128 = 0x2468;\n t.a129 = 0x2469;\n t.a130 = 0x2776;\n t.a131 = 0x2777;\n t.a132 = 0x2778;\n t.a133 = 0x2779;\n t.a134 = 0x277a;\n t.a135 = 0x277b;\n t.a136 = 0x277c;\n t.a137 = 0x277d;\n t.a138 = 0x277e;\n t.a139 = 0x277f;\n t.a140 = 0x2780;\n t.a141 = 0x2781;\n t.a142 = 0x2782;\n t.a143 = 0x2783;\n t.a144 = 0x2784;\n t.a145 = 0x2785;\n t.a146 = 0x2786;\n t.a147 = 0x2787;\n t.a148 = 0x2788;\n t.a149 = 0x2789;\n t.a150 = 0x278a;\n t.a151 = 0x278b;\n t.a152 = 0x278c;\n t.a153 = 0x278d;\n t.a154 = 0x278e;\n t.a155 = 0x278f;\n t.a156 = 0x2790;\n t.a157 = 0x2791;\n t.a158 = 0x2792;\n t.a159 = 0x2793;\n t.a160 = 0x2794;\n t.a161 = 0x2192;\n t.a163 = 0x2194;\n t.a164 = 0x2195;\n t.a196 = 0x2798;\n t.a165 = 0x2799;\n t.a192 = 0x279a;\n t.a166 = 0x279b;\n t.a167 = 0x279c;\n t.a168 = 0x279d;\n t.a169 = 0x279e;\n t.a170 = 0x279f;\n t.a171 = 0x27a0;\n t.a172 = 0x27a1;\n t.a173 = 0x27a2;\n t.a162 = 0x27a3;\n t.a174 = 0x27a4;\n t.a175 = 0x27a5;\n t.a176 = 0x27a6;\n t.a177 = 0x27a7;\n t.a178 = 0x27a8;\n t.a179 = 0x27a9;\n t.a193 = 0x27aa;\n t.a180 = 0x27ab;\n t.a199 = 0x27ac;\n t.a181 = 0x27ad;\n t.a200 = 0x27ae;\n t.a182 = 0x27af;\n t.a201 = 0x27b1;\n t.a183 = 0x27b2;\n t.a184 = 0x27b3;\n t.a197 = 0x27b4;\n t.a185 = 0x27b5;\n t.a194 = 0x27b6;\n t.a198 = 0x27b7;\n t.a186 = 0x27b8;\n t.a195 = 0x27b9;\n t.a187 = 0x27ba;\n t.a188 = 0x27bb;\n t.a189 = 0x27bc;\n t.a190 = 0x27bd;\n t.a191 = 0x27be;\n t.a89 = 0x2768;\n t.a90 = 0x2769;\n t.a93 = 0x276a;\n t.a94 = 0x276b;\n t.a91 = 0x276c;\n t.a92 = 0x276d;\n t.a205 = 0x276e;\n t.a85 = 0x276f;\n t.a206 = 0x2770;\n t.a86 = 0x2771;\n t.a87 = 0x2772;\n t.a88 = 0x2773;\n t.a95 = 0x2774;\n t.a96 = 0x2775;\n t[\".notdef\"] = 0x0000;\n});\nexports.getGlyphsUnicode = getGlyphsUnicode;\nexports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode;\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getGlyphMapForStandardFonts = exports.getSymbolsFonts = exports.getSerifFonts = exports.getNonStdFontMap = exports.getStdFontMap = void 0;\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.ArialNarrow = \"Helvetica\";\n t[\"ArialNarrow-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialNarrow-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialNarrow-Italic\"] = \"Helvetica-Oblique\";\n t.ArialBlack = \"Helvetica\";\n t[\"ArialBlack-Bold\"] = \"Helvetica-Bold\";\n t[\"ArialBlack-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"ArialBlack-Italic\"] = \"Helvetica-Oblique\";\n t[\"Arial-Black\"] = \"Helvetica\";\n t[\"Arial-Black-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-Black-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-Black-Italic\"] = \"Helvetica-Oblique\";\n t.Arial = \"Helvetica\";\n t[\"Arial-Bold\"] = \"Helvetica-Bold\";\n t[\"Arial-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-Italic\"] = \"Helvetica-Oblique\";\n t[\"Arial-BoldItalicMT\"] = \"Helvetica-BoldOblique\";\n t[\"Arial-BoldMT\"] = \"Helvetica-Bold\";\n t[\"Arial-ItalicMT\"] = \"Helvetica-Oblique\";\n t.ArialMT = \"Helvetica\";\n t[\"Courier-Bold\"] = \"Courier-Bold\";\n t[\"Courier-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"Courier-Italic\"] = \"Courier-Oblique\";\n t.CourierNew = \"Courier\";\n t[\"CourierNew-Bold\"] = \"Courier-Bold\";\n t[\"CourierNew-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"CourierNew-Italic\"] = \"Courier-Oblique\";\n t[\"CourierNewPS-BoldItalicMT\"] = \"Courier-BoldOblique\";\n t[\"CourierNewPS-BoldMT\"] = \"Courier-Bold\";\n t[\"CourierNewPS-ItalicMT\"] = \"Courier-Oblique\";\n t.CourierNewPSMT = \"Courier\";\n t.Helvetica = \"Helvetica\";\n t[\"Helvetica-Bold\"] = \"Helvetica-Bold\";\n t[\"Helvetica-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Helvetica-BoldOblique\"] = \"Helvetica-BoldOblique\";\n t[\"Helvetica-Italic\"] = \"Helvetica-Oblique\";\n t[\"Helvetica-Oblique\"] = \"Helvetica-Oblique\";\n t[\"Symbol-Bold\"] = \"Symbol\";\n t[\"Symbol-BoldItalic\"] = \"Symbol\";\n t[\"Symbol-Italic\"] = \"Symbol\";\n t.TimesNewRoman = \"Times-Roman\";\n t[\"TimesNewRoman-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRoman-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRoman-Italic\"] = \"Times-Italic\";\n t.TimesNewRomanPS = \"Times-Roman\";\n t[\"TimesNewRomanPS-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRomanPS-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPS-BoldItalicMT\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPS-BoldMT\"] = \"Times-Bold\";\n t[\"TimesNewRomanPS-Italic\"] = \"Times-Italic\";\n t[\"TimesNewRomanPS-ItalicMT\"] = \"Times-Italic\";\n t.TimesNewRomanPSMT = \"Times-Roman\";\n t[\"TimesNewRomanPSMT-Bold\"] = \"Times-Bold\";\n t[\"TimesNewRomanPSMT-BoldItalic\"] = \"Times-BoldItalic\";\n t[\"TimesNewRomanPSMT-Italic\"] = \"Times-Italic\";\n});\nexports.getStdFontMap = getStdFontMap;\nvar getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Calibri = \"Helvetica\";\n t[\"Calibri-Bold\"] = \"Helvetica-Bold\";\n t[\"Calibri-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"Calibri-Italic\"] = \"Helvetica-Oblique\";\n t.CenturyGothic = \"Helvetica\";\n t[\"CenturyGothic-Bold\"] = \"Helvetica-Bold\";\n t[\"CenturyGothic-BoldItalic\"] = \"Helvetica-BoldOblique\";\n t[\"CenturyGothic-Italic\"] = \"Helvetica-Oblique\";\n t.ComicSansMS = \"Comic Sans MS\";\n t[\"ComicSansMS-Bold\"] = \"Comic Sans MS-Bold\";\n t[\"ComicSansMS-BoldItalic\"] = \"Comic Sans MS-BoldItalic\";\n t[\"ComicSansMS-Italic\"] = \"Comic Sans MS-Italic\";\n t.LucidaConsole = \"Courier\";\n t[\"LucidaConsole-Bold\"] = \"Courier-Bold\";\n t[\"LucidaConsole-BoldItalic\"] = \"Courier-BoldOblique\";\n t[\"LucidaConsole-Italic\"] = \"Courier-Oblique\";\n t[\"LucidaSans-Demi\"] = \"Helvetica-Bold\";\n t[\"MS-Gothic\"] = \"MS Gothic\";\n t[\"MS-Gothic-Bold\"] = \"MS Gothic-Bold\";\n t[\"MS-Gothic-BoldItalic\"] = \"MS Gothic-BoldItalic\";\n t[\"MS-Gothic-Italic\"] = \"MS Gothic-Italic\";\n t[\"MS-Mincho\"] = \"MS Mincho\";\n t[\"MS-Mincho-Bold\"] = \"MS Mincho-Bold\";\n t[\"MS-Mincho-BoldItalic\"] = \"MS Mincho-BoldItalic\";\n t[\"MS-Mincho-Italic\"] = \"MS Mincho-Italic\";\n t[\"MS-PGothic\"] = \"MS PGothic\";\n t[\"MS-PGothic-Bold\"] = \"MS PGothic-Bold\";\n t[\"MS-PGothic-BoldItalic\"] = \"MS PGothic-BoldItalic\";\n t[\"MS-PGothic-Italic\"] = \"MS PGothic-Italic\";\n t[\"MS-PMincho\"] = \"MS PMincho\";\n t[\"MS-PMincho-Bold\"] = \"MS PMincho-Bold\";\n t[\"MS-PMincho-BoldItalic\"] = \"MS PMincho-BoldItalic\";\n t[\"MS-PMincho-Italic\"] = \"MS PMincho-Italic\";\n t.NuptialScript = \"Times-Italic\";\n t.SegoeUISymbol = \"Helvetica\";\n t.Wingdings = \"ZapfDingbats\";\n t[\"Wingdings-Regular\"] = \"ZapfDingbats\";\n});\nexports.getNonStdFontMap = getNonStdFontMap;\nvar getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[\"Adobe Jenson\"] = true;\n t[\"Adobe Text\"] = true;\n t.Albertus = true;\n t.Aldus = true;\n t.Alexandria = true;\n t.Algerian = true;\n t[\"American Typewriter\"] = true;\n t.Antiqua = true;\n t.Apex = true;\n t.Arno = true;\n t.Aster = true;\n t.Aurora = true;\n t.Baskerville = true;\n t.Bell = true;\n t.Bembo = true;\n t[\"Bembo Schoolbook\"] = true;\n t.Benguiat = true;\n t[\"Berkeley Old Style\"] = true;\n t[\"Bernhard Modern\"] = true;\n t[\"Berthold City\"] = true;\n t.Bodoni = true;\n t[\"Bauer Bodoni\"] = true;\n t[\"Book Antiqua\"] = true;\n t.Bookman = true;\n t[\"Bordeaux Roman\"] = true;\n t[\"Californian FB\"] = true;\n t.Calisto = true;\n t.Calvert = true;\n t.Capitals = true;\n t.Cambria = true;\n t.Cartier = true;\n t.Caslon = true;\n t.Catull = true;\n t.Centaur = true;\n t[\"Century Old Style\"] = true;\n t[\"Century Schoolbook\"] = true;\n t.Chaparral = true;\n t[\"Charis SIL\"] = true;\n t.Cheltenham = true;\n t[\"Cholla Slab\"] = true;\n t.Clarendon = true;\n t.Clearface = true;\n t.Cochin = true;\n t.Colonna = true;\n t[\"Computer Modern\"] = true;\n t[\"Concrete Roman\"] = true;\n t.Constantia = true;\n t[\"Cooper Black\"] = true;\n t.Corona = true;\n t.Ecotype = true;\n t.Egyptienne = true;\n t.Elephant = true;\n t.Excelsior = true;\n t.Fairfield = true;\n t[\"FF Scala\"] = true;\n t.Folkard = true;\n t.Footlight = true;\n t.FreeSerif = true;\n t[\"Friz Quadrata\"] = true;\n t.Garamond = true;\n t.Gentium = true;\n t.Georgia = true;\n t.Gloucester = true;\n t[\"Goudy Old Style\"] = true;\n t[\"Goudy Schoolbook\"] = true;\n t[\"Goudy Pro Font\"] = true;\n t.Granjon = true;\n t[\"Guardian Egyptian\"] = true;\n t.Heather = true;\n t.Hercules = true;\n t[\"High Tower Text\"] = true;\n t.Hiroshige = true;\n t[\"Hoefler Text\"] = true;\n t[\"Humana Serif\"] = true;\n t.Imprint = true;\n t[\"Ionic No. 5\"] = true;\n t.Janson = true;\n t.Joanna = true;\n t.Korinna = true;\n t.Lexicon = true;\n t[\"Liberation Serif\"] = true;\n t[\"Linux Libertine\"] = true;\n t.Literaturnaya = true;\n t.Lucida = true;\n t[\"Lucida Bright\"] = true;\n t.Melior = true;\n t.Memphis = true;\n t.Miller = true;\n t.Minion = true;\n t.Modern = true;\n t[\"Mona Lisa\"] = true;\n t[\"Mrs Eaves\"] = true;\n t[\"MS Serif\"] = true;\n t[\"Museo Slab\"] = true;\n t[\"New York\"] = true;\n t[\"Nimbus Roman\"] = true;\n t[\"NPS Rawlinson Roadway\"] = true;\n t.NuptialScript = true;\n t.Palatino = true;\n t.Perpetua = true;\n t.Plantin = true;\n t[\"Plantin Schoolbook\"] = true;\n t.Playbill = true;\n t[\"Poor Richard\"] = true;\n t[\"Rawlinson Roadway\"] = true;\n t.Renault = true;\n t.Requiem = true;\n t.Rockwell = true;\n t.Roman = true;\n t[\"Rotis Serif\"] = true;\n t.Sabon = true;\n t.Scala = true;\n t.Seagull = true;\n t.Sistina = true;\n t.Souvenir = true;\n t.STIX = true;\n t[\"Stone Informal\"] = true;\n t[\"Stone Serif\"] = true;\n t.Sylfaen = true;\n t.Times = true;\n t.Trajan = true;\n t[\"Trinité\"] = true;\n t[\"Trump Mediaeval\"] = true;\n t.Utopia = true;\n t[\"Vale Type\"] = true;\n t[\"Bitstream Vera\"] = true;\n t[\"Vera Serif\"] = true;\n t.Versailles = true;\n t.Wanted = true;\n t.Weiss = true;\n t[\"Wide Latin\"] = true;\n t.Windsor = true;\n t.XITS = true;\n});\nexports.getSerifFonts = getSerifFonts;\nvar getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Dingbats = true;\n t.Symbol = true;\n t.ZapfDingbats = true;\n});\nexports.getSymbolsFonts = getSymbolsFonts;\nvar getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[2] = 10;\n t[3] = 32;\n t[4] = 33;\n t[5] = 34;\n t[6] = 35;\n t[7] = 36;\n t[8] = 37;\n t[9] = 38;\n t[10] = 39;\n t[11] = 40;\n t[12] = 41;\n t[13] = 42;\n t[14] = 43;\n t[15] = 44;\n t[16] = 45;\n t[17] = 46;\n t[18] = 47;\n t[19] = 48;\n t[20] = 49;\n t[21] = 50;\n t[22] = 51;\n t[23] = 52;\n t[24] = 53;\n t[25] = 54;\n t[26] = 55;\n t[27] = 56;\n t[28] = 57;\n t[29] = 58;\n t[30] = 894;\n t[31] = 60;\n t[32] = 61;\n t[33] = 62;\n t[34] = 63;\n t[35] = 64;\n t[36] = 65;\n t[37] = 66;\n t[38] = 67;\n t[39] = 68;\n t[40] = 69;\n t[41] = 70;\n t[42] = 71;\n t[43] = 72;\n t[44] = 73;\n t[45] = 74;\n t[46] = 75;\n t[47] = 76;\n t[48] = 77;\n t[49] = 78;\n t[50] = 79;\n t[51] = 80;\n t[52] = 81;\n t[53] = 82;\n t[54] = 83;\n t[55] = 84;\n t[56] = 85;\n t[57] = 86;\n t[58] = 87;\n t[59] = 88;\n t[60] = 89;\n t[61] = 90;\n t[62] = 91;\n t[63] = 92;\n t[64] = 93;\n t[65] = 94;\n t[66] = 95;\n t[67] = 96;\n t[68] = 97;\n t[69] = 98;\n t[70] = 99;\n t[71] = 100;\n t[72] = 101;\n t[73] = 102;\n t[74] = 103;\n t[75] = 104;\n t[76] = 105;\n t[77] = 106;\n t[78] = 107;\n t[79] = 108;\n t[80] = 109;\n t[81] = 110;\n t[82] = 111;\n t[83] = 112;\n t[84] = 113;\n t[85] = 114;\n t[86] = 115;\n t[87] = 116;\n t[88] = 117;\n t[89] = 118;\n t[90] = 119;\n t[91] = 120;\n t[92] = 121;\n t[93] = 122;\n t[94] = 123;\n t[95] = 124;\n t[96] = 125;\n t[97] = 126;\n t[98] = 196;\n t[99] = 197;\n t[100] = 199;\n t[101] = 201;\n t[102] = 209;\n t[103] = 214;\n t[104] = 220;\n t[105] = 225;\n t[106] = 224;\n t[107] = 226;\n t[108] = 228;\n t[109] = 227;\n t[110] = 229;\n t[111] = 231;\n t[112] = 233;\n t[113] = 232;\n t[114] = 234;\n t[115] = 235;\n t[116] = 237;\n t[117] = 236;\n t[118] = 238;\n t[119] = 239;\n t[120] = 241;\n t[121] = 243;\n t[122] = 242;\n t[123] = 244;\n t[124] = 246;\n t[125] = 245;\n t[126] = 250;\n t[127] = 249;\n t[128] = 251;\n t[129] = 252;\n t[130] = 8224;\n t[131] = 176;\n t[132] = 162;\n t[133] = 163;\n t[134] = 167;\n t[135] = 8226;\n t[136] = 182;\n t[137] = 223;\n t[138] = 174;\n t[139] = 169;\n t[140] = 8482;\n t[141] = 180;\n t[142] = 168;\n t[143] = 8800;\n t[144] = 198;\n t[145] = 216;\n t[146] = 8734;\n t[147] = 177;\n t[148] = 8804;\n t[149] = 8805;\n t[150] = 165;\n t[151] = 181;\n t[152] = 8706;\n t[153] = 8721;\n t[154] = 8719;\n t[156] = 8747;\n t[157] = 170;\n t[158] = 186;\n t[159] = 8486;\n t[160] = 230;\n t[161] = 248;\n t[162] = 191;\n t[163] = 161;\n t[164] = 172;\n t[165] = 8730;\n t[166] = 402;\n t[167] = 8776;\n t[168] = 8710;\n t[169] = 171;\n t[170] = 187;\n t[171] = 8230;\n t[210] = 218;\n t[223] = 711;\n t[224] = 321;\n t[225] = 322;\n t[227] = 353;\n t[229] = 382;\n t[234] = 253;\n t[252] = 263;\n t[253] = 268;\n t[254] = 269;\n t[258] = 258;\n t[260] = 260;\n t[261] = 261;\n t[265] = 280;\n t[266] = 281;\n t[268] = 283;\n t[269] = 313;\n t[275] = 323;\n t[276] = 324;\n t[278] = 328;\n t[284] = 345;\n t[285] = 346;\n t[286] = 347;\n t[292] = 367;\n t[295] = 377;\n t[296] = 378;\n t[298] = 380;\n t[305] = 963;\n t[306] = 964;\n t[307] = 966;\n t[308] = 8215;\n t[309] = 8252;\n t[310] = 8319;\n t[311] = 8359;\n t[312] = 8592;\n t[313] = 8593;\n t[337] = 9552;\n t[493] = 1039;\n t[494] = 1040;\n t[705] = 1524;\n t[706] = 8362;\n t[710] = 64288;\n t[711] = 64298;\n t[759] = 1617;\n t[761] = 1776;\n t[763] = 1778;\n t[775] = 1652;\n t[777] = 1764;\n t[778] = 1780;\n t[779] = 1781;\n t[780] = 1782;\n t[782] = 771;\n t[783] = 64726;\n t[786] = 8363;\n t[788] = 8532;\n t[790] = 768;\n t[791] = 769;\n t[792] = 768;\n t[795] = 803;\n t[797] = 64336;\n t[798] = 64337;\n t[799] = 64342;\n t[800] = 64343;\n t[801] = 64344;\n t[802] = 64345;\n t[803] = 64362;\n t[804] = 64363;\n t[805] = 64364;\n t[2424] = 7821;\n t[2425] = 7822;\n t[2426] = 7823;\n t[2427] = 7824;\n t[2428] = 7825;\n t[2429] = 7826;\n t[2430] = 7827;\n t[2433] = 7682;\n t[2678] = 8045;\n t[2679] = 8046;\n t[2830] = 1552;\n t[2838] = 686;\n t[2840] = 751;\n t[2842] = 753;\n t[2843] = 754;\n t[2844] = 755;\n t[2846] = 757;\n t[2856] = 767;\n t[2857] = 848;\n t[2858] = 849;\n t[2862] = 853;\n t[2863] = 854;\n t[2864] = 855;\n t[2865] = 861;\n t[2866] = 862;\n t[2906] = 7460;\n t[2908] = 7462;\n t[2909] = 7463;\n t[2910] = 7464;\n t[2912] = 7466;\n t[2913] = 7467;\n t[2914] = 7468;\n t[2916] = 7470;\n t[2917] = 7471;\n t[2918] = 7472;\n t[2920] = 7474;\n t[2921] = 7475;\n t[2922] = 7476;\n t[2924] = 7478;\n t[2925] = 7479;\n t[2926] = 7480;\n t[2928] = 7482;\n t[2929] = 7483;\n t[2930] = 7484;\n t[2932] = 7486;\n t[2933] = 7487;\n t[2934] = 7488;\n t[2936] = 7490;\n t[2937] = 7491;\n t[2938] = 7492;\n t[2940] = 7494;\n t[2941] = 7495;\n t[2942] = 7496;\n t[2944] = 7498;\n t[2946] = 7500;\n t[2948] = 7502;\n t[2950] = 7504;\n t[2951] = 7505;\n t[2952] = 7506;\n t[2954] = 7508;\n t[2955] = 7509;\n t[2956] = 7510;\n t[2958] = 7512;\n t[2959] = 7513;\n t[2960] = 7514;\n t[2962] = 7516;\n t[2963] = 7517;\n t[2964] = 7518;\n t[2966] = 7520;\n t[2967] = 7521;\n t[2968] = 7522;\n t[2970] = 7524;\n t[2971] = 7525;\n t[2972] = 7526;\n t[2974] = 7528;\n t[2975] = 7529;\n t[2976] = 7530;\n t[2978] = 1537;\n t[2979] = 1538;\n t[2980] = 1539;\n t[2982] = 1549;\n t[2983] = 1551;\n t[2984] = 1552;\n t[2986] = 1554;\n t[2987] = 1555;\n t[2988] = 1556;\n t[2990] = 1623;\n t[2991] = 1624;\n t[2995] = 1775;\n t[2999] = 1791;\n t[3002] = 64290;\n t[3003] = 64291;\n t[3004] = 64292;\n t[3006] = 64294;\n t[3007] = 64295;\n t[3008] = 64296;\n t[3011] = 1900;\n t[3014] = 8223;\n t[3015] = 8244;\n t[3017] = 7532;\n t[3018] = 7533;\n t[3019] = 7534;\n t[3075] = 7590;\n t[3076] = 7591;\n t[3079] = 7594;\n t[3080] = 7595;\n t[3083] = 7598;\n t[3084] = 7599;\n t[3087] = 7602;\n t[3088] = 7603;\n t[3091] = 7606;\n t[3092] = 7607;\n t[3095] = 7610;\n t[3096] = 7611;\n t[3099] = 7614;\n t[3100] = 7615;\n t[3103] = 7618;\n t[3104] = 7619;\n t[3107] = 8337;\n t[3108] = 8338;\n t[3116] = 1884;\n t[3119] = 1885;\n t[3120] = 1885;\n t[3123] = 1886;\n t[3124] = 1886;\n t[3127] = 1887;\n t[3128] = 1887;\n t[3131] = 1888;\n t[3132] = 1888;\n t[3135] = 1889;\n t[3136] = 1889;\n t[3139] = 1890;\n t[3140] = 1890;\n t[3143] = 1891;\n t[3144] = 1891;\n t[3147] = 1892;\n t[3148] = 1892;\n t[3153] = 580;\n t[3154] = 581;\n t[3157] = 584;\n t[3158] = 585;\n t[3161] = 588;\n t[3162] = 589;\n t[3165] = 891;\n t[3166] = 892;\n t[3169] = 1274;\n t[3170] = 1275;\n t[3173] = 1278;\n t[3174] = 1279;\n t[3181] = 7622;\n t[3182] = 7623;\n t[3282] = 11799;\n t[3316] = 578;\n t[3379] = 42785;\n t[3393] = 1159;\n t[3416] = 8377;\n});\nexports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\nvar getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[227] = 322;\n t[264] = 261;\n t[291] = 346;\n});\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\nvar getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {\n t[1] = 32;\n t[4] = 65;\n t[17] = 66;\n t[18] = 67;\n t[24] = 68;\n t[28] = 69;\n t[38] = 70;\n t[39] = 71;\n t[44] = 72;\n t[47] = 73;\n t[58] = 74;\n t[60] = 75;\n t[62] = 76;\n t[68] = 77;\n t[69] = 78;\n t[75] = 79;\n t[87] = 80;\n t[89] = 81;\n t[90] = 82;\n t[94] = 83;\n t[100] = 84;\n t[104] = 85;\n t[115] = 86;\n t[116] = 87;\n t[121] = 88;\n t[122] = 89;\n t[127] = 90;\n t[258] = 97;\n t[268] = 261;\n t[271] = 98;\n t[272] = 99;\n t[273] = 263;\n t[282] = 100;\n t[286] = 101;\n t[295] = 281;\n t[296] = 102;\n t[336] = 103;\n t[346] = 104;\n t[349] = 105;\n t[361] = 106;\n t[364] = 107;\n t[367] = 108;\n t[371] = 322;\n t[373] = 109;\n t[374] = 110;\n t[381] = 111;\n t[383] = 243;\n t[393] = 112;\n t[395] = 113;\n t[396] = 114;\n t[400] = 115;\n t[401] = 347;\n t[410] = 116;\n t[437] = 117;\n t[448] = 118;\n t[449] = 119;\n t[454] = 120;\n t[455] = 121;\n t[460] = 122;\n t[463] = 380;\n t[853] = 44;\n t[855] = 58;\n t[856] = 46;\n t[876] = 47;\n t[878] = 45;\n t[882] = 45;\n t[894] = 40;\n t[895] = 41;\n t[896] = 91;\n t[897] = 93;\n t[923] = 64;\n t[1004] = 48;\n t[1005] = 49;\n t[1006] = 50;\n t[1007] = 51;\n t[1008] = 52;\n t[1009] = 53;\n t[1010] = 54;\n t[1011] = 55;\n t[1012] = 56;\n t[1013] = 57;\n t[1081] = 37;\n t[1085] = 43;\n t[1086] = 45;\n});\nexports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\nvar getLookupTableFactory = __w_pdfjs_require__(205).getLookupTableFactory;\nvar getSpecialPUASymbols = getLookupTableFactory(function (t) {\n t[63721] = 0x00a9;\n t[63193] = 0x00a9;\n t[63720] = 0x00ae;\n t[63194] = 0x00ae;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23a7;\n t[63730] = 0x23a8;\n t[63731] = 0x23a9;\n t[63740] = 0x23ab;\n t[63741] = 0x23ac;\n t[63742] = 0x23ad;\n t[63726] = 0x23a1;\n t[63727] = 0x23a2;\n t[63728] = 0x23a3;\n t[63737] = 0x23a4;\n t[63738] = 0x23a5;\n t[63739] = 0x23a6;\n t[63723] = 0x239b;\n t[63724] = 0x239c;\n t[63725] = 0x239d;\n t[63734] = 0x239e;\n t[63735] = 0x239f;\n t[63736] = 0x23a0;\n});\nfunction mapSpecialUnicodeValues(code) {\n if (code >= 0xfff0 && code <= 0xffff) {\n return 0;\n } else if (code >= 0xf600 && code <= 0xf8ff) {\n return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00ad) {\n return 0x002d;\n }\n return code;\n}\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n if (unicode !== undefined) {\n return unicode;\n }\n if (!name) {\n return -1;\n }\n if (name[0] === \"u\") {\n var nameLen = name.length, hexStr;\n if (nameLen === 7 && name[1] === \"n\" && name[2] === \"i\") {\n hexStr = name.substring(3);\n } else if (nameLen >= 5 && nameLen <= 7) {\n hexStr = name.substring(1);\n } else {\n return -1;\n }\n if (hexStr === hexStr.toUpperCase()) {\n unicode = parseInt(hexStr, 16);\n if (unicode >= 0) {\n return unicode;\n }\n }\n }\n return -1;\n}\nvar UnicodeRanges = [\n {\n begin: 0x0000,\n end: 0x007f\n },\n {\n begin: 0x0080,\n end: 0x00ff\n },\n {\n begin: 0x0100,\n end: 0x017f\n },\n {\n begin: 0x0180,\n end: 0x024f\n },\n {\n begin: 0x0250,\n end: 0x02af\n },\n {\n begin: 0x02b0,\n end: 0x02ff\n },\n {\n begin: 0x0300,\n end: 0x036f\n },\n {\n begin: 0x0370,\n end: 0x03ff\n },\n {\n begin: 0x2c80,\n end: 0x2cff\n },\n {\n begin: 0x0400,\n end: 0x04ff\n },\n {\n begin: 0x0530,\n end: 0x058f\n },\n {\n begin: 0x0590,\n end: 0x05ff\n },\n {\n begin: 0xa500,\n end: 0xa63f\n },\n {\n begin: 0x0600,\n end: 0x06ff\n },\n {\n begin: 0x07c0,\n end: 0x07ff\n },\n {\n begin: 0x0900,\n end: 0x097f\n },\n {\n begin: 0x0980,\n end: 0x09ff\n },\n {\n begin: 0x0a00,\n end: 0x0a7f\n },\n {\n begin: 0x0a80,\n end: 0x0aff\n },\n {\n begin: 0x0b00,\n end: 0x0b7f\n },\n {\n begin: 0x0b80,\n end: 0x0bff\n },\n {\n begin: 0x0c00,\n end: 0x0c7f\n },\n {\n begin: 0x0c80,\n end: 0x0cff\n },\n {\n begin: 0x0d00,\n end: 0x0d7f\n },\n {\n begin: 0x0e00,\n end: 0x0e7f\n },\n {\n begin: 0x0e80,\n end: 0x0eff\n },\n {\n begin: 0x10a0,\n end: 0x10ff\n },\n {\n begin: 0x1b00,\n end: 0x1b7f\n },\n {\n begin: 0x1100,\n end: 0x11ff\n },\n {\n begin: 0x1e00,\n end: 0x1eff\n },\n {\n begin: 0x1f00,\n end: 0x1fff\n },\n {\n begin: 0x2000,\n end: 0x206f\n },\n {\n begin: 0x2070,\n end: 0x209f\n },\n {\n begin: 0x20a0,\n end: 0x20cf\n },\n {\n begin: 0x20d0,\n end: 0x20ff\n },\n {\n begin: 0x2100,\n end: 0x214f\n },\n {\n begin: 0x2150,\n end: 0x218f\n },\n {\n begin: 0x2190,\n end: 0x21ff\n },\n {\n begin: 0x2200,\n end: 0x22ff\n },\n {\n begin: 0x2300,\n end: 0x23ff\n },\n {\n begin: 0x2400,\n end: 0x243f\n },\n {\n begin: 0x2440,\n end: 0x245f\n },\n {\n begin: 0x2460,\n end: 0x24ff\n },\n {\n begin: 0x2500,\n end: 0x257f\n },\n {\n begin: 0x2580,\n end: 0x259f\n },\n {\n begin: 0x25a0,\n end: 0x25ff\n },\n {\n begin: 0x2600,\n end: 0x26ff\n },\n {\n begin: 0x2700,\n end: 0x27bf\n },\n {\n begin: 0x3000,\n end: 0x303f\n },\n {\n begin: 0x3040,\n end: 0x309f\n },\n {\n begin: 0x30a0,\n end: 0x30ff\n },\n {\n begin: 0x3100,\n end: 0x312f\n },\n {\n begin: 0x3130,\n end: 0x318f\n },\n {\n begin: 0xa840,\n end: 0xa87f\n },\n {\n begin: 0x3200,\n end: 0x32ff\n },\n {\n begin: 0x3300,\n end: 0x33ff\n },\n {\n begin: 0xac00,\n end: 0xd7af\n },\n {\n begin: 0xd800,\n end: 0xdfff\n },\n {\n begin: 0x10900,\n end: 0x1091f\n },\n {\n begin: 0x4e00,\n end: 0x9fff\n },\n {\n begin: 0xe000,\n end: 0xf8ff\n },\n {\n begin: 0x31c0,\n end: 0x31ef\n },\n {\n begin: 0xfb00,\n end: 0xfb4f\n },\n {\n begin: 0xfb50,\n end: 0xfdff\n },\n {\n begin: 0xfe20,\n end: 0xfe2f\n },\n {\n begin: 0xfe10,\n end: 0xfe1f\n },\n {\n begin: 0xfe50,\n end: 0xfe6f\n },\n {\n begin: 0xfe70,\n end: 0xfeff\n },\n {\n begin: 0xff00,\n end: 0xffef\n },\n {\n begin: 0xfff0,\n end: 0xffff\n },\n {\n begin: 0x0f00,\n end: 0x0fff\n },\n {\n begin: 0x0700,\n end: 0x074f\n },\n {\n begin: 0x0780,\n end: 0x07bf\n },\n {\n begin: 0x0d80,\n end: 0x0dff\n },\n {\n begin: 0x1000,\n end: 0x109f\n },\n {\n begin: 0x1200,\n end: 0x137f\n },\n {\n begin: 0x13a0,\n end: 0x13ff\n },\n {\n begin: 0x1400,\n end: 0x167f\n },\n {\n begin: 0x1680,\n end: 0x169f\n },\n {\n begin: 0x16a0,\n end: 0x16ff\n },\n {\n begin: 0x1780,\n end: 0x17ff\n },\n {\n begin: 0x1800,\n end: 0x18af\n },\n {\n begin: 0x2800,\n end: 0x28ff\n },\n {\n begin: 0xa000,\n end: 0xa48f\n },\n {\n begin: 0x1700,\n end: 0x171f\n },\n {\n begin: 0x10300,\n end: 0x1032f\n },\n {\n begin: 0x10330,\n end: 0x1034f\n },\n {\n begin: 0x10400,\n end: 0x1044f\n },\n {\n begin: 0x1d000,\n end: 0x1d0ff\n },\n {\n begin: 0x1d400,\n end: 0x1d7ff\n },\n {\n begin: 0xff000,\n end: 0xffffd\n },\n {\n begin: 0xfe00,\n end: 0xfe0f\n },\n {\n begin: 0xe0000,\n end: 0xe007f\n },\n {\n begin: 0x1900,\n end: 0x194f\n },\n {\n begin: 0x1950,\n end: 0x197f\n },\n {\n begin: 0x1980,\n end: 0x19df\n },\n {\n begin: 0x1a00,\n end: 0x1a1f\n },\n {\n begin: 0x2c00,\n end: 0x2c5f\n },\n {\n begin: 0x2d30,\n end: 0x2d7f\n },\n {\n begin: 0x4dc0,\n end: 0x4dff\n },\n {\n begin: 0xa800,\n end: 0xa82f\n },\n {\n begin: 0x10000,\n end: 0x1007f\n },\n {\n begin: 0x10140,\n end: 0x1018f\n },\n {\n begin: 0x10380,\n end: 0x1039f\n },\n {\n begin: 0x103a0,\n end: 0x103df\n },\n {\n begin: 0x10450,\n end: 0x1047f\n },\n {\n begin: 0x10480,\n end: 0x104af\n },\n {\n begin: 0x10800,\n end: 0x1083f\n },\n {\n begin: 0x10a00,\n end: 0x10a5f\n },\n {\n begin: 0x1d300,\n end: 0x1d35f\n },\n {\n begin: 0x12000,\n end: 0x123ff\n },\n {\n begin: 0x1d360,\n end: 0x1d37f\n },\n {\n begin: 0x1b80,\n end: 0x1bbf\n },\n {\n begin: 0x1c00,\n end: 0x1c4f\n },\n {\n begin: 0x1c50,\n end: 0x1c7f\n },\n {\n begin: 0xa880,\n end: 0xa8df\n },\n {\n begin: 0xa900,\n end: 0xa92f\n },\n {\n begin: 0xa930,\n end: 0xa95f\n },\n {\n begin: 0xaa00,\n end: 0xaa5f\n },\n {\n begin: 0x10190,\n end: 0x101cf\n },\n {\n begin: 0x101d0,\n end: 0x101ff\n },\n {\n begin: 0x102a0,\n end: 0x102df\n },\n {\n begin: 0x1f030,\n end: 0x1f09f\n }\n];\nfunction getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n var range = UnicodeRanges[i];\n if (value >= range.begin && value < range.end) {\n return i;\n }\n }\n return -1;\n}\nfunction isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n range = UnicodeRanges[11];\n if (value >= range.begin && value < range.end) {\n return true;\n }\n return false;\n}\nvar getNormalizedUnicodes = getLookupTableFactory(function (t) {\n t[\"\\u00A8\"] = \"\\u0020\\u0308\";\n t[\"\\u00AF\"] = \"\\u0020\\u0304\";\n t[\"\\u00B4\"] = \"\\u0020\\u0301\";\n t[\"\\u00B5\"] = \"\\u03BC\";\n t[\"\\u00B8\"] = \"\\u0020\\u0327\";\n t[\"\\u0132\"] = \"\\u0049\\u004A\";\n t[\"\\u0133\"] = \"\\u0069\\u006A\";\n t[\"\\u013F\"] = \"\\u004C\\u00B7\";\n t[\"\\u0140\"] = \"\\u006C\\u00B7\";\n t[\"\\u0149\"] = \"\\u02BC\\u006E\";\n t[\"\\u017F\"] = \"\\u0073\";\n t[\"\\u01C4\"] = \"\\u0044\\u017D\";\n t[\"\\u01C5\"] = \"\\u0044\\u017E\";\n t[\"\\u01C6\"] = \"\\u0064\\u017E\";\n t[\"\\u01C7\"] = \"\\u004C\\u004A\";\n t[\"\\u01C8\"] = \"\\u004C\\u006A\";\n t[\"\\u01C9\"] = \"\\u006C\\u006A\";\n t[\"\\u01CA\"] = \"\\u004E\\u004A\";\n t[\"\\u01CB\"] = \"\\u004E\\u006A\";\n t[\"\\u01CC\"] = \"\\u006E\\u006A\";\n t[\"\\u01F1\"] = \"\\u0044\\u005A\";\n t[\"\\u01F2\"] = \"\\u0044\\u007A\";\n t[\"\\u01F3\"] = \"\\u0064\\u007A\";\n t[\"\\u02D8\"] = \"\\u0020\\u0306\";\n t[\"\\u02D9\"] = \"\\u0020\\u0307\";\n t[\"\\u02DA\"] = \"\\u0020\\u030A\";\n t[\"\\u02DB\"] = \"\\u0020\\u0328\";\n t[\"\\u02DC\"] = \"\\u0020\\u0303\";\n t[\"\\u02DD\"] = \"\\u0020\\u030B\";\n t[\"\\u037A\"] = \"\\u0020\\u0345\";\n t[\"\\u0384\"] = \"\\u0020\\u0301\";\n t[\"\\u03D0\"] = \"\\u03B2\";\n t[\"\\u03D1\"] = \"\\u03B8\";\n t[\"\\u03D2\"] = \"\\u03A5\";\n t[\"\\u03D5\"] = \"\\u03C6\";\n t[\"\\u03D6\"] = \"\\u03C0\";\n t[\"\\u03F0\"] = \"\\u03BA\";\n t[\"\\u03F1\"] = \"\\u03C1\";\n t[\"\\u03F2\"] = \"\\u03C2\";\n t[\"\\u03F4\"] = \"\\u0398\";\n t[\"\\u03F5\"] = \"\\u03B5\";\n t[\"\\u03F9\"] = \"\\u03A3\";\n t[\"\\u0587\"] = \"\\u0565\\u0582\";\n t[\"\\u0675\"] = \"\\u0627\\u0674\";\n t[\"\\u0676\"] = \"\\u0648\\u0674\";\n t[\"\\u0677\"] = \"\\u06C7\\u0674\";\n t[\"\\u0678\"] = \"\\u064A\\u0674\";\n t[\"\\u0E33\"] = \"\\u0E4D\\u0E32\";\n t[\"\\u0EB3\"] = \"\\u0ECD\\u0EB2\";\n t[\"\\u0EDC\"] = \"\\u0EAB\\u0E99\";\n t[\"\\u0EDD\"] = \"\\u0EAB\\u0EA1\";\n t[\"\\u0F77\"] = \"\\u0FB2\\u0F81\";\n t[\"\\u0F79\"] = \"\\u0FB3\\u0F81\";\n t[\"\\u1E9A\"] = \"\\u0061\\u02BE\";\n t[\"\\u1FBD\"] = \"\\u0020\\u0313\";\n t[\"\\u1FBF\"] = \"\\u0020\\u0313\";\n t[\"\\u1FC0\"] = \"\\u0020\\u0342\";\n t[\"\\u1FFE\"] = \"\\u0020\\u0314\";\n t[\"\\u2002\"] = \"\\u0020\";\n t[\"\\u2003\"] = \"\\u0020\";\n t[\"\\u2004\"] = \"\\u0020\";\n t[\"\\u2005\"] = \"\\u0020\";\n t[\"\\u2006\"] = \"\\u0020\";\n t[\"\\u2008\"] = \"\\u0020\";\n t[\"\\u2009\"] = \"\\u0020\";\n t[\"\\u200A\"] = \"\\u0020\";\n t[\"\\u2017\"] = \"\\u0020\\u0333\";\n t[\"\\u2024\"] = \"\\u002E\";\n t[\"\\u2025\"] = \"\\u002E\\u002E\";\n t[\"\\u2026\"] = \"\\u002E\\u002E\\u002E\";\n t[\"\\u2033\"] = \"\\u2032\\u2032\";\n t[\"\\u2034\"] = \"\\u2032\\u2032\\u2032\";\n t[\"\\u2036\"] = \"\\u2035\\u2035\";\n t[\"\\u2037\"] = \"\\u2035\\u2035\\u2035\";\n t[\"\\u203C\"] = \"\\u0021\\u0021\";\n t[\"\\u203E\"] = \"\\u0020\\u0305\";\n t[\"\\u2047\"] = \"\\u003F\\u003F\";\n t[\"\\u2048\"] = \"\\u003F\\u0021\";\n t[\"\\u2049\"] = \"\\u0021\\u003F\";\n t[\"\\u2057\"] = \"\\u2032\\u2032\\u2032\\u2032\";\n t[\"\\u205F\"] = \"\\u0020\";\n t[\"\\u20A8\"] = \"\\u0052\\u0073\";\n t[\"\\u2100\"] = \"\\u0061\\u002F\\u0063\";\n t[\"\\u2101\"] = \"\\u0061\\u002F\\u0073\";\n t[\"\\u2103\"] = \"\\u00B0\\u0043\";\n t[\"\\u2105\"] = \"\\u0063\\u002F\\u006F\";\n t[\"\\u2106\"] = \"\\u0063\\u002F\\u0075\";\n t[\"\\u2107\"] = \"\\u0190\";\n t[\"\\u2109\"] = \"\\u00B0\\u0046\";\n t[\"\\u2116\"] = \"\\u004E\\u006F\";\n t[\"\\u2121\"] = \"\\u0054\\u0045\\u004C\";\n t[\"\\u2135\"] = \"\\u05D0\";\n t[\"\\u2136\"] = \"\\u05D1\";\n t[\"\\u2137\"] = \"\\u05D2\";\n t[\"\\u2138\"] = \"\\u05D3\";\n t[\"\\u213B\"] = \"\\u0046\\u0041\\u0058\";\n t[\"\\u2160\"] = \"\\u0049\";\n t[\"\\u2161\"] = \"\\u0049\\u0049\";\n t[\"\\u2162\"] = \"\\u0049\\u0049\\u0049\";\n t[\"\\u2163\"] = \"\\u0049\\u0056\";\n t[\"\\u2164\"] = \"\\u0056\";\n t[\"\\u2165\"] = \"\\u0056\\u0049\";\n t[\"\\u2166\"] = \"\\u0056\\u0049\\u0049\";\n t[\"\\u2167\"] = \"\\u0056\\u0049\\u0049\\u0049\";\n t[\"\\u2168\"] = \"\\u0049\\u0058\";\n t[\"\\u2169\"] = \"\\u0058\";\n t[\"\\u216A\"] = \"\\u0058\\u0049\";\n t[\"\\u216B\"] = \"\\u0058\\u0049\\u0049\";\n t[\"\\u216C\"] = \"\\u004C\";\n t[\"\\u216D\"] = \"\\u0043\";\n t[\"\\u216E\"] = \"\\u0044\";\n t[\"\\u216F\"] = \"\\u004D\";\n t[\"\\u2170\"] = \"\\u0069\";\n t[\"\\u2171\"] = \"\\u0069\\u0069\";\n t[\"\\u2172\"] = \"\\u0069\\u0069\\u0069\";\n t[\"\\u2173\"] = \"\\u0069\\u0076\";\n t[\"\\u2174\"] = \"\\u0076\";\n t[\"\\u2175\"] = \"\\u0076\\u0069\";\n t[\"\\u2176\"] = \"\\u0076\\u0069\\u0069\";\n t[\"\\u2177\"] = \"\\u0076\\u0069\\u0069\\u0069\";\n t[\"\\u2178\"] = \"\\u0069\\u0078\";\n t[\"\\u2179\"] = \"\\u0078\";\n t[\"\\u217A\"] = \"\\u0078\\u0069\";\n t[\"\\u217B\"] = \"\\u0078\\u0069\\u0069\";\n t[\"\\u217C\"] = \"\\u006C\";\n t[\"\\u217D\"] = \"\\u0063\";\n t[\"\\u217E\"] = \"\\u0064\";\n t[\"\\u217F\"] = \"\\u006D\";\n t[\"\\u222C\"] = \"\\u222B\\u222B\";\n t[\"\\u222D\"] = \"\\u222B\\u222B\\u222B\";\n t[\"\\u222F\"] = \"\\u222E\\u222E\";\n t[\"\\u2230\"] = \"\\u222E\\u222E\\u222E\";\n t[\"\\u2474\"] = \"\\u0028\\u0031\\u0029\";\n t[\"\\u2475\"] = \"\\u0028\\u0032\\u0029\";\n t[\"\\u2476\"] = \"\\u0028\\u0033\\u0029\";\n t[\"\\u2477\"] = \"\\u0028\\u0034\\u0029\";\n t[\"\\u2478\"] = \"\\u0028\\u0035\\u0029\";\n t[\"\\u2479\"] = \"\\u0028\\u0036\\u0029\";\n t[\"\\u247A\"] = \"\\u0028\\u0037\\u0029\";\n t[\"\\u247B\"] = \"\\u0028\\u0038\\u0029\";\n t[\"\\u247C\"] = \"\\u0028\\u0039\\u0029\";\n t[\"\\u247D\"] = \"\\u0028\\u0031\\u0030\\u0029\";\n t[\"\\u247E\"] = \"\\u0028\\u0031\\u0031\\u0029\";\n t[\"\\u247F\"] = \"\\u0028\\u0031\\u0032\\u0029\";\n t[\"\\u2480\"] = \"\\u0028\\u0031\\u0033\\u0029\";\n t[\"\\u2481\"] = \"\\u0028\\u0031\\u0034\\u0029\";\n t[\"\\u2482\"] = \"\\u0028\\u0031\\u0035\\u0029\";\n t[\"\\u2483\"] = \"\\u0028\\u0031\\u0036\\u0029\";\n t[\"\\u2484\"] = \"\\u0028\\u0031\\u0037\\u0029\";\n t[\"\\u2485\"] = \"\\u0028\\u0031\\u0038\\u0029\";\n t[\"\\u2486\"] = \"\\u0028\\u0031\\u0039\\u0029\";\n t[\"\\u2487\"] = \"\\u0028\\u0032\\u0030\\u0029\";\n t[\"\\u2488\"] = \"\\u0031\\u002E\";\n t[\"\\u2489\"] = \"\\u0032\\u002E\";\n t[\"\\u248A\"] = \"\\u0033\\u002E\";\n t[\"\\u248B\"] = \"\\u0034\\u002E\";\n t[\"\\u248C\"] = \"\\u0035\\u002E\";\n t[\"\\u248D\"] = \"\\u0036\\u002E\";\n t[\"\\u248E\"] = \"\\u0037\\u002E\";\n t[\"\\u248F\"] = \"\\u0038\\u002E\";\n t[\"\\u2490\"] = \"\\u0039\\u002E\";\n t[\"\\u2491\"] = \"\\u0031\\u0030\\u002E\";\n t[\"\\u2492\"] = \"\\u0031\\u0031\\u002E\";\n t[\"\\u2493\"] = \"\\u0031\\u0032\\u002E\";\n t[\"\\u2494\"] = \"\\u0031\\u0033\\u002E\";\n t[\"\\u2495\"] = \"\\u0031\\u0034\\u002E\";\n t[\"\\u2496\"] = \"\\u0031\\u0035\\u002E\";\n t[\"\\u2497\"] = \"\\u0031\\u0036\\u002E\";\n t[\"\\u2498\"] = \"\\u0031\\u0037\\u002E\";\n t[\"\\u2499\"] = \"\\u0031\\u0038\\u002E\";\n t[\"\\u249A\"] = \"\\u0031\\u0039\\u002E\";\n t[\"\\u249B\"] = \"\\u0032\\u0030\\u002E\";\n t[\"\\u249C\"] = \"\\u0028\\u0061\\u0029\";\n t[\"\\u249D\"] = \"\\u0028\\u0062\\u0029\";\n t[\"\\u249E\"] = \"\\u0028\\u0063\\u0029\";\n t[\"\\u249F\"] = \"\\u0028\\u0064\\u0029\";\n t[\"\\u24A0\"] = \"\\u0028\\u0065\\u0029\";\n t[\"\\u24A1\"] = \"\\u0028\\u0066\\u0029\";\n t[\"\\u24A2\"] = \"\\u0028\\u0067\\u0029\";\n t[\"\\u24A3\"] = \"\\u0028\\u0068\\u0029\";\n t[\"\\u24A4\"] = \"\\u0028\\u0069\\u0029\";\n t[\"\\u24A5\"] = \"\\u0028\\u006A\\u0029\";\n t[\"\\u24A6\"] = \"\\u0028\\u006B\\u0029\";\n t[\"\\u24A7\"] = \"\\u0028\\u006C\\u0029\";\n t[\"\\u24A8\"] = \"\\u0028\\u006D\\u0029\";\n t[\"\\u24A9\"] = \"\\u0028\\u006E\\u0029\";\n t[\"\\u24AA\"] = \"\\u0028\\u006F\\u0029\";\n t[\"\\u24AB\"] = \"\\u0028\\u0070\\u0029\";\n t[\"\\u24AC\"] = \"\\u0028\\u0071\\u0029\";\n t[\"\\u24AD\"] = \"\\u0028\\u0072\\u0029\";\n t[\"\\u24AE\"] = \"\\u0028\\u0073\\u0029\";\n t[\"\\u24AF\"] = \"\\u0028\\u0074\\u0029\";\n t[\"\\u24B0\"] = \"\\u0028\\u0075\\u0029\";\n t[\"\\u24B1\"] = \"\\u0028\\u0076\\u0029\";\n t[\"\\u24B2\"] = \"\\u0028\\u0077\\u0029\";\n t[\"\\u24B3\"] = \"\\u0028\\u0078\\u0029\";\n t[\"\\u24B4\"] = \"\\u0028\\u0079\\u0029\";\n t[\"\\u24B5\"] = \"\\u0028\\u007A\\u0029\";\n t[\"\\u2A0C\"] = \"\\u222B\\u222B\\u222B\\u222B\";\n t[\"\\u2A74\"] = \"\\u003A\\u003A\\u003D\";\n t[\"\\u2A75\"] = \"\\u003D\\u003D\";\n t[\"\\u2A76\"] = \"\\u003D\\u003D\\u003D\";\n t[\"\\u2E9F\"] = \"\\u6BCD\";\n t[\"\\u2EF3\"] = \"\\u9F9F\";\n t[\"\\u2F00\"] = \"\\u4E00\";\n t[\"\\u2F01\"] = \"\\u4E28\";\n t[\"\\u2F02\"] = \"\\u4E36\";\n t[\"\\u2F03\"] = \"\\u4E3F\";\n t[\"\\u2F04\"] = \"\\u4E59\";\n t[\"\\u2F05\"] = \"\\u4E85\";\n t[\"\\u2F06\"] = \"\\u4E8C\";\n t[\"\\u2F07\"] = \"\\u4EA0\";\n t[\"\\u2F08\"] = \"\\u4EBA\";\n t[\"\\u2F09\"] = \"\\u513F\";\n t[\"\\u2F0A\"] = \"\\u5165\";\n t[\"\\u2F0B\"] = \"\\u516B\";\n t[\"\\u2F0C\"] = \"\\u5182\";\n t[\"\\u2F0D\"] = \"\\u5196\";\n t[\"\\u2F0E\"] = \"\\u51AB\";\n t[\"\\u2F0F\"] = \"\\u51E0\";\n t[\"\\u2F10\"] = \"\\u51F5\";\n t[\"\\u2F11\"] = \"\\u5200\";\n t[\"\\u2F12\"] = \"\\u529B\";\n t[\"\\u2F13\"] = \"\\u52F9\";\n t[\"\\u2F14\"] = \"\\u5315\";\n t[\"\\u2F15\"] = \"\\u531A\";\n t[\"\\u2F16\"] = \"\\u5338\";\n t[\"\\u2F17\"] = \"\\u5341\";\n t[\"\\u2F18\"] = \"\\u535C\";\n t[\"\\u2F19\"] = \"\\u5369\";\n t[\"\\u2F1A\"] = \"\\u5382\";\n t[\"\\u2F1B\"] = \"\\u53B6\";\n t[\"\\u2F1C\"] = \"\\u53C8\";\n t[\"\\u2F1D\"] = \"\\u53E3\";\n t[\"\\u2F1E\"] = \"\\u56D7\";\n t[\"\\u2F1F\"] = \"\\u571F\";\n t[\"\\u2F20\"] = \"\\u58EB\";\n t[\"\\u2F21\"] = \"\\u5902\";\n t[\"\\u2F22\"] = \"\\u590A\";\n t[\"\\u2F23\"] = \"\\u5915\";\n t[\"\\u2F24\"] = \"\\u5927\";\n t[\"\\u2F25\"] = \"\\u5973\";\n t[\"\\u2F26\"] = \"\\u5B50\";\n t[\"\\u2F27\"] = \"\\u5B80\";\n t[\"\\u2F28\"] = \"\\u5BF8\";\n t[\"\\u2F29\"] = \"\\u5C0F\";\n t[\"\\u2F2A\"] = \"\\u5C22\";\n t[\"\\u2F2B\"] = \"\\u5C38\";\n t[\"\\u2F2C\"] = \"\\u5C6E\";\n t[\"\\u2F2D\"] = \"\\u5C71\";\n t[\"\\u2F2E\"] = \"\\u5DDB\";\n t[\"\\u2F2F\"] = \"\\u5DE5\";\n t[\"\\u2F30\"] = \"\\u5DF1\";\n t[\"\\u2F31\"] = \"\\u5DFE\";\n t[\"\\u2F32\"] = \"\\u5E72\";\n t[\"\\u2F33\"] = \"\\u5E7A\";\n t[\"\\u2F34\"] = \"\\u5E7F\";\n t[\"\\u2F35\"] = \"\\u5EF4\";\n t[\"\\u2F36\"] = \"\\u5EFE\";\n t[\"\\u2F37\"] = \"\\u5F0B\";\n t[\"\\u2F38\"] = \"\\u5F13\";\n t[\"\\u2F39\"] = \"\\u5F50\";\n t[\"\\u2F3A\"] = \"\\u5F61\";\n t[\"\\u2F3B\"] = \"\\u5F73\";\n t[\"\\u2F3C\"] = \"\\u5FC3\";\n t[\"\\u2F3D\"] = \"\\u6208\";\n t[\"\\u2F3E\"] = \"\\u6236\";\n t[\"\\u2F3F\"] = \"\\u624B\";\n t[\"\\u2F40\"] = \"\\u652F\";\n t[\"\\u2F41\"] = \"\\u6534\";\n t[\"\\u2F42\"] = \"\\u6587\";\n t[\"\\u2F43\"] = \"\\u6597\";\n t[\"\\u2F44\"] = \"\\u65A4\";\n t[\"\\u2F45\"] = \"\\u65B9\";\n t[\"\\u2F46\"] = \"\\u65E0\";\n t[\"\\u2F47\"] = \"\\u65E5\";\n t[\"\\u2F48\"] = \"\\u66F0\";\n t[\"\\u2F49\"] = \"\\u6708\";\n t[\"\\u2F4A\"] = \"\\u6728\";\n t[\"\\u2F4B\"] = \"\\u6B20\";\n t[\"\\u2F4C\"] = \"\\u6B62\";\n t[\"\\u2F4D\"] = \"\\u6B79\";\n t[\"\\u2F4E\"] = \"\\u6BB3\";\n t[\"\\u2F4F\"] = \"\\u6BCB\";\n t[\"\\u2F50\"] = \"\\u6BD4\";\n t[\"\\u2F51\"] = \"\\u6BDB\";\n t[\"\\u2F52\"] = \"\\u6C0F\";\n t[\"\\u2F53\"] = \"\\u6C14\";\n t[\"\\u2F54\"] = \"\\u6C34\";\n t[\"\\u2F55\"] = \"\\u706B\";\n t[\"\\u2F56\"] = \"\\u722A\";\n t[\"\\u2F57\"] = \"\\u7236\";\n t[\"\\u2F58\"] = \"\\u723B\";\n t[\"\\u2F59\"] = \"\\u723F\";\n t[\"\\u2F5A\"] = \"\\u7247\";\n t[\"\\u2F5B\"] = \"\\u7259\";\n t[\"\\u2F5C\"] = \"\\u725B\";\n t[\"\\u2F5D\"] = \"\\u72AC\";\n t[\"\\u2F5E\"] = \"\\u7384\";\n t[\"\\u2F5F\"] = \"\\u7389\";\n t[\"\\u2F60\"] = \"\\u74DC\";\n t[\"\\u2F61\"] = \"\\u74E6\";\n t[\"\\u2F62\"] = \"\\u7518\";\n t[\"\\u2F63\"] = \"\\u751F\";\n t[\"\\u2F64\"] = \"\\u7528\";\n t[\"\\u2F65\"] = \"\\u7530\";\n t[\"\\u2F66\"] = \"\\u758B\";\n t[\"\\u2F67\"] = \"\\u7592\";\n t[\"\\u2F68\"] = \"\\u7676\";\n t[\"\\u2F69\"] = \"\\u767D\";\n t[\"\\u2F6A\"] = \"\\u76AE\";\n t[\"\\u2F6B\"] = \"\\u76BF\";\n t[\"\\u2F6C\"] = \"\\u76EE\";\n t[\"\\u2F6D\"] = \"\\u77DB\";\n t[\"\\u2F6E\"] = \"\\u77E2\";\n t[\"\\u2F6F\"] = \"\\u77F3\";\n t[\"\\u2F70\"] = \"\\u793A\";\n t[\"\\u2F71\"] = \"\\u79B8\";\n t[\"\\u2F72\"] = \"\\u79BE\";\n t[\"\\u2F73\"] = \"\\u7A74\";\n t[\"\\u2F74\"] = \"\\u7ACB\";\n t[\"\\u2F75\"] = \"\\u7AF9\";\n t[\"\\u2F76\"] = \"\\u7C73\";\n t[\"\\u2F77\"] = \"\\u7CF8\";\n t[\"\\u2F78\"] = \"\\u7F36\";\n t[\"\\u2F79\"] = \"\\u7F51\";\n t[\"\\u2F7A\"] = \"\\u7F8A\";\n t[\"\\u2F7B\"] = \"\\u7FBD\";\n t[\"\\u2F7C\"] = \"\\u8001\";\n t[\"\\u2F7D\"] = \"\\u800C\";\n t[\"\\u2F7E\"] = \"\\u8012\";\n t[\"\\u2F7F\"] = \"\\u8033\";\n t[\"\\u2F80\"] = \"\\u807F\";\n t[\"\\u2F81\"] = \"\\u8089\";\n t[\"\\u2F82\"] = \"\\u81E3\";\n t[\"\\u2F83\"] = \"\\u81EA\";\n t[\"\\u2F84\"] = \"\\u81F3\";\n t[\"\\u2F85\"] = \"\\u81FC\";\n t[\"\\u2F86\"] = \"\\u820C\";\n t[\"\\u2F87\"] = \"\\u821B\";\n t[\"\\u2F88\"] = \"\\u821F\";\n t[\"\\u2F89\"] = \"\\u826E\";\n t[\"\\u2F8A\"] = \"\\u8272\";\n t[\"\\u2F8B\"] = \"\\u8278\";\n t[\"\\u2F8C\"] = \"\\u864D\";\n t[\"\\u2F8D\"] = \"\\u866B\";\n t[\"\\u2F8E\"] = \"\\u8840\";\n t[\"\\u2F8F\"] = \"\\u884C\";\n t[\"\\u2F90\"] = \"\\u8863\";\n t[\"\\u2F91\"] = \"\\u897E\";\n t[\"\\u2F92\"] = \"\\u898B\";\n t[\"\\u2F93\"] = \"\\u89D2\";\n t[\"\\u2F94\"] = \"\\u8A00\";\n t[\"\\u2F95\"] = \"\\u8C37\";\n t[\"\\u2F96\"] = \"\\u8C46\";\n t[\"\\u2F97\"] = \"\\u8C55\";\n t[\"\\u2F98\"] = \"\\u8C78\";\n t[\"\\u2F99\"] = \"\\u8C9D\";\n t[\"\\u2F9A\"] = \"\\u8D64\";\n t[\"\\u2F9B\"] = \"\\u8D70\";\n t[\"\\u2F9C\"] = \"\\u8DB3\";\n t[\"\\u2F9D\"] = \"\\u8EAB\";\n t[\"\\u2F9E\"] = \"\\u8ECA\";\n t[\"\\u2F9F\"] = \"\\u8F9B\";\n t[\"\\u2FA0\"] = \"\\u8FB0\";\n t[\"\\u2FA1\"] = \"\\u8FB5\";\n t[\"\\u2FA2\"] = \"\\u9091\";\n t[\"\\u2FA3\"] = \"\\u9149\";\n t[\"\\u2FA4\"] = \"\\u91C6\";\n t[\"\\u2FA5\"] = \"\\u91CC\";\n t[\"\\u2FA6\"] = \"\\u91D1\";\n t[\"\\u2FA7\"] = \"\\u9577\";\n t[\"\\u2FA8\"] = \"\\u9580\";\n t[\"\\u2FA9\"] = \"\\u961C\";\n t[\"\\u2FAA\"] = \"\\u96B6\";\n t[\"\\u2FAB\"] = \"\\u96B9\";\n t[\"\\u2FAC\"] = \"\\u96E8\";\n t[\"\\u2FAD\"] = \"\\u9751\";\n t[\"\\u2FAE\"] = \"\\u975E\";\n t[\"\\u2FAF\"] = \"\\u9762\";\n t[\"\\u2FB0\"] = \"\\u9769\";\n t[\"\\u2FB1\"] = \"\\u97CB\";\n t[\"\\u2FB2\"] = \"\\u97ED\";\n t[\"\\u2FB3\"] = \"\\u97F3\";\n t[\"\\u2FB4\"] = \"\\u9801\";\n t[\"\\u2FB5\"] = \"\\u98A8\";\n t[\"\\u2FB6\"] = \"\\u98DB\";\n t[\"\\u2FB7\"] = \"\\u98DF\";\n t[\"\\u2FB8\"] = \"\\u9996\";\n t[\"\\u2FB9\"] = \"\\u9999\";\n t[\"\\u2FBA\"] = \"\\u99AC\";\n t[\"\\u2FBB\"] = \"\\u9AA8\";\n t[\"\\u2FBC\"] = \"\\u9AD8\";\n t[\"\\u2FBD\"] = \"\\u9ADF\";\n t[\"\\u2FBE\"] = \"\\u9B25\";\n t[\"\\u2FBF\"] = \"\\u9B2F\";\n t[\"\\u2FC0\"] = \"\\u9B32\";\n t[\"\\u2FC1\"] = \"\\u9B3C\";\n t[\"\\u2FC2\"] = \"\\u9B5A\";\n t[\"\\u2FC3\"] = \"\\u9CE5\";\n t[\"\\u2FC4\"] = \"\\u9E75\";\n t[\"\\u2FC5\"] = \"\\u9E7F\";\n t[\"\\u2FC6\"] = \"\\u9EA5\";\n t[\"\\u2FC7\"] = \"\\u9EBB\";\n t[\"\\u2FC8\"] = \"\\u9EC3\";\n t[\"\\u2FC9\"] = \"\\u9ECD\";\n t[\"\\u2FCA\"] = \"\\u9ED1\";\n t[\"\\u2FCB\"] = \"\\u9EF9\";\n t[\"\\u2FCC\"] = \"\\u9EFD\";\n t[\"\\u2FCD\"] = \"\\u9F0E\";\n t[\"\\u2FCE\"] = \"\\u9F13\";\n t[\"\\u2FCF\"] = \"\\u9F20\";\n t[\"\\u2FD0\"] = \"\\u9F3B\";\n t[\"\\u2FD1\"] = \"\\u9F4A\";\n t[\"\\u2FD2\"] = \"\\u9F52\";\n t[\"\\u2FD3\"] = \"\\u9F8D\";\n t[\"\\u2FD4\"] = \"\\u9F9C\";\n t[\"\\u2FD5\"] = \"\\u9FA0\";\n t[\"\\u3036\"] = \"\\u3012\";\n t[\"\\u3038\"] = \"\\u5341\";\n t[\"\\u3039\"] = \"\\u5344\";\n t[\"\\u303A\"] = \"\\u5345\";\n t[\"\\u309B\"] = \"\\u0020\\u3099\";\n t[\"\\u309C\"] = \"\\u0020\\u309A\";\n t[\"\\u3131\"] = \"\\u1100\";\n t[\"\\u3132\"] = \"\\u1101\";\n t[\"\\u3133\"] = \"\\u11AA\";\n t[\"\\u3134\"] = \"\\u1102\";\n t[\"\\u3135\"] = \"\\u11AC\";\n t[\"\\u3136\"] = \"\\u11AD\";\n t[\"\\u3137\"] = \"\\u1103\";\n t[\"\\u3138\"] = \"\\u1104\";\n t[\"\\u3139\"] = \"\\u1105\";\n t[\"\\u313A\"] = \"\\u11B0\";\n t[\"\\u313B\"] = \"\\u11B1\";\n t[\"\\u313C\"] = \"\\u11B2\";\n t[\"\\u313D\"] = \"\\u11B3\";\n t[\"\\u313E\"] = \"\\u11B4\";\n t[\"\\u313F\"] = \"\\u11B5\";\n t[\"\\u3140\"] = \"\\u111A\";\n t[\"\\u3141\"] = \"\\u1106\";\n t[\"\\u3142\"] = \"\\u1107\";\n t[\"\\u3143\"] = \"\\u1108\";\n t[\"\\u3144\"] = \"\\u1121\";\n t[\"\\u3145\"] = \"\\u1109\";\n t[\"\\u3146\"] = \"\\u110A\";\n t[\"\\u3147\"] = \"\\u110B\";\n t[\"\\u3148\"] = \"\\u110C\";\n t[\"\\u3149\"] = \"\\u110D\";\n t[\"\\u314A\"] = \"\\u110E\";\n t[\"\\u314B\"] = \"\\u110F\";\n t[\"\\u314C\"] = \"\\u1110\";\n t[\"\\u314D\"] = \"\\u1111\";\n t[\"\\u314E\"] = \"\\u1112\";\n t[\"\\u314F\"] = \"\\u1161\";\n t[\"\\u3150\"] = \"\\u1162\";\n t[\"\\u3151\"] = \"\\u1163\";\n t[\"\\u3152\"] = \"\\u1164\";\n t[\"\\u3153\"] = \"\\u1165\";\n t[\"\\u3154\"] = \"\\u1166\";\n t[\"\\u3155\"] = \"\\u1167\";\n t[\"\\u3156\"] = \"\\u1168\";\n t[\"\\u3157\"] = \"\\u1169\";\n t[\"\\u3158\"] = \"\\u116A\";\n t[\"\\u3159\"] = \"\\u116B\";\n t[\"\\u315A\"] = \"\\u116C\";\n t[\"\\u315B\"] = \"\\u116D\";\n t[\"\\u315C\"] = \"\\u116E\";\n t[\"\\u315D\"] = \"\\u116F\";\n t[\"\\u315E\"] = \"\\u1170\";\n t[\"\\u315F\"] = \"\\u1171\";\n t[\"\\u3160\"] = \"\\u1172\";\n t[\"\\u3161\"] = \"\\u1173\";\n t[\"\\u3162\"] = \"\\u1174\";\n t[\"\\u3163\"] = \"\\u1175\";\n t[\"\\u3164\"] = \"\\u1160\";\n t[\"\\u3165\"] = \"\\u1114\";\n t[\"\\u3166\"] = \"\\u1115\";\n t[\"\\u3167\"] = \"\\u11C7\";\n t[\"\\u3168\"] = \"\\u11C8\";\n t[\"\\u3169\"] = \"\\u11CC\";\n t[\"\\u316A\"] = \"\\u11CE\";\n t[\"\\u316B\"] = \"\\u11D3\";\n t[\"\\u316C\"] = \"\\u11D7\";\n t[\"\\u316D\"] = \"\\u11D9\";\n t[\"\\u316E\"] = \"\\u111C\";\n t[\"\\u316F\"] = \"\\u11DD\";\n t[\"\\u3170\"] = \"\\u11DF\";\n t[\"\\u3171\"] = \"\\u111D\";\n t[\"\\u3172\"] = \"\\u111E\";\n t[\"\\u3173\"] = \"\\u1120\";\n t[\"\\u3174\"] = \"\\u1122\";\n t[\"\\u3175\"] = \"\\u1123\";\n t[\"\\u3176\"] = \"\\u1127\";\n t[\"\\u3177\"] = \"\\u1129\";\n t[\"\\u3178\"] = \"\\u112B\";\n t[\"\\u3179\"] = \"\\u112C\";\n t[\"\\u317A\"] = \"\\u112D\";\n t[\"\\u317B\"] = \"\\u112E\";\n t[\"\\u317C\"] = \"\\u112F\";\n t[\"\\u317D\"] = \"\\u1132\";\n t[\"\\u317E\"] = \"\\u1136\";\n t[\"\\u317F\"] = \"\\u1140\";\n t[\"\\u3180\"] = \"\\u1147\";\n t[\"\\u3181\"] = \"\\u114C\";\n t[\"\\u3182\"] = \"\\u11F1\";\n t[\"\\u3183\"] = \"\\u11F2\";\n t[\"\\u3184\"] = \"\\u1157\";\n t[\"\\u3185\"] = \"\\u1158\";\n t[\"\\u3186\"] = \"\\u1159\";\n t[\"\\u3187\"] = \"\\u1184\";\n t[\"\\u3188\"] = \"\\u1185\";\n t[\"\\u3189\"] = \"\\u1188\";\n t[\"\\u318A\"] = \"\\u1191\";\n t[\"\\u318B\"] = \"\\u1192\";\n t[\"\\u318C\"] = \"\\u1194\";\n t[\"\\u318D\"] = \"\\u119E\";\n t[\"\\u318E\"] = \"\\u11A1\";\n t[\"\\u3200\"] = \"\\u0028\\u1100\\u0029\";\n t[\"\\u3201\"] = \"\\u0028\\u1102\\u0029\";\n t[\"\\u3202\"] = \"\\u0028\\u1103\\u0029\";\n t[\"\\u3203\"] = \"\\u0028\\u1105\\u0029\";\n t[\"\\u3204\"] = \"\\u0028\\u1106\\u0029\";\n t[\"\\u3205\"] = \"\\u0028\\u1107\\u0029\";\n t[\"\\u3206\"] = \"\\u0028\\u1109\\u0029\";\n t[\"\\u3207\"] = \"\\u0028\\u110B\\u0029\";\n t[\"\\u3208\"] = \"\\u0028\\u110C\\u0029\";\n t[\"\\u3209\"] = \"\\u0028\\u110E\\u0029\";\n t[\"\\u320A\"] = \"\\u0028\\u110F\\u0029\";\n t[\"\\u320B\"] = \"\\u0028\\u1110\\u0029\";\n t[\"\\u320C\"] = \"\\u0028\\u1111\\u0029\";\n t[\"\\u320D\"] = \"\\u0028\\u1112\\u0029\";\n t[\"\\u320E\"] = \"\\u0028\\u1100\\u1161\\u0029\";\n t[\"\\u320F\"] = \"\\u0028\\u1102\\u1161\\u0029\";\n t[\"\\u3210\"] = \"\\u0028\\u1103\\u1161\\u0029\";\n t[\"\\u3211\"] = \"\\u0028\\u1105\\u1161\\u0029\";\n t[\"\\u3212\"] = \"\\u0028\\u1106\\u1161\\u0029\";\n t[\"\\u3213\"] = \"\\u0028\\u1107\\u1161\\u0029\";\n t[\"\\u3214\"] = \"\\u0028\\u1109\\u1161\\u0029\";\n t[\"\\u3215\"] = \"\\u0028\\u110B\\u1161\\u0029\";\n t[\"\\u3216\"] = \"\\u0028\\u110C\\u1161\\u0029\";\n t[\"\\u3217\"] = \"\\u0028\\u110E\\u1161\\u0029\";\n t[\"\\u3218\"] = \"\\u0028\\u110F\\u1161\\u0029\";\n t[\"\\u3219\"] = \"\\u0028\\u1110\\u1161\\u0029\";\n t[\"\\u321A\"] = \"\\u0028\\u1111\\u1161\\u0029\";\n t[\"\\u321B\"] = \"\\u0028\\u1112\\u1161\\u0029\";\n t[\"\\u321C\"] = \"\\u0028\\u110C\\u116E\\u0029\";\n t[\"\\u321D\"] = \"\\u0028\\u110B\\u1169\\u110C\\u1165\\u11AB\\u0029\";\n t[\"\\u321E\"] = \"\\u0028\\u110B\\u1169\\u1112\\u116E\\u0029\";\n t[\"\\u3220\"] = \"\\u0028\\u4E00\\u0029\";\n t[\"\\u3221\"] = \"\\u0028\\u4E8C\\u0029\";\n t[\"\\u3222\"] = \"\\u0028\\u4E09\\u0029\";\n t[\"\\u3223\"] = \"\\u0028\\u56DB\\u0029\";\n t[\"\\u3224\"] = \"\\u0028\\u4E94\\u0029\";\n t[\"\\u3225\"] = \"\\u0028\\u516D\\u0029\";\n t[\"\\u3226\"] = \"\\u0028\\u4E03\\u0029\";\n t[\"\\u3227\"] = \"\\u0028\\u516B\\u0029\";\n t[\"\\u3228\"] = \"\\u0028\\u4E5D\\u0029\";\n t[\"\\u3229\"] = \"\\u0028\\u5341\\u0029\";\n t[\"\\u322A\"] = \"\\u0028\\u6708\\u0029\";\n t[\"\\u322B\"] = \"\\u0028\\u706B\\u0029\";\n t[\"\\u322C\"] = \"\\u0028\\u6C34\\u0029\";\n t[\"\\u322D\"] = \"\\u0028\\u6728\\u0029\";\n t[\"\\u322E\"] = \"\\u0028\\u91D1\\u0029\";\n t[\"\\u322F\"] = \"\\u0028\\u571F\\u0029\";\n t[\"\\u3230\"] = \"\\u0028\\u65E5\\u0029\";\n t[\"\\u3231\"] = \"\\u0028\\u682A\\u0029\";\n t[\"\\u3232\"] = \"\\u0028\\u6709\\u0029\";\n t[\"\\u3233\"] = \"\\u0028\\u793E\\u0029\";\n t[\"\\u3234\"] = \"\\u0028\\u540D\\u0029\";\n t[\"\\u3235\"] = \"\\u0028\\u7279\\u0029\";\n t[\"\\u3236\"] = \"\\u0028\\u8CA1\\u0029\";\n t[\"\\u3237\"] = \"\\u0028\\u795D\\u0029\";\n t[\"\\u3238\"] = \"\\u0028\\u52B4\\u0029\";\n t[\"\\u3239\"] = \"\\u0028\\u4EE3\\u0029\";\n t[\"\\u323A\"] = \"\\u0028\\u547C\\u0029\";\n t[\"\\u323B\"] = \"\\u0028\\u5B66\\u0029\";\n t[\"\\u323C\"] = \"\\u0028\\u76E3\\u0029\";\n t[\"\\u323D\"] = \"\\u0028\\u4F01\\u0029\";\n t[\"\\u323E\"] = \"\\u0028\\u8CC7\\u0029\";\n t[\"\\u323F\"] = \"\\u0028\\u5354\\u0029\";\n t[\"\\u3240\"] = \"\\u0028\\u796D\\u0029\";\n t[\"\\u3241\"] = \"\\u0028\\u4F11\\u0029\";\n t[\"\\u3242\"] = \"\\u0028\\u81EA\\u0029\";\n t[\"\\u3243\"] = \"\\u0028\\u81F3\\u0029\";\n t[\"\\u32C0\"] = \"\\u0031\\u6708\";\n t[\"\\u32C1\"] = \"\\u0032\\u6708\";\n t[\"\\u32C2\"] = \"\\u0033\\u6708\";\n t[\"\\u32C3\"] = \"\\u0034\\u6708\";\n t[\"\\u32C4\"] = \"\\u0035\\u6708\";\n t[\"\\u32C5\"] = \"\\u0036\\u6708\";\n t[\"\\u32C6\"] = \"\\u0037\\u6708\";\n t[\"\\u32C7\"] = \"\\u0038\\u6708\";\n t[\"\\u32C8\"] = \"\\u0039\\u6708\";\n t[\"\\u32C9\"] = \"\\u0031\\u0030\\u6708\";\n t[\"\\u32CA\"] = \"\\u0031\\u0031\\u6708\";\n t[\"\\u32CB\"] = \"\\u0031\\u0032\\u6708\";\n t[\"\\u3358\"] = \"\\u0030\\u70B9\";\n t[\"\\u3359\"] = \"\\u0031\\u70B9\";\n t[\"\\u335A\"] = \"\\u0032\\u70B9\";\n t[\"\\u335B\"] = \"\\u0033\\u70B9\";\n t[\"\\u335C\"] = \"\\u0034\\u70B9\";\n t[\"\\u335D\"] = \"\\u0035\\u70B9\";\n t[\"\\u335E\"] = \"\\u0036\\u70B9\";\n t[\"\\u335F\"] = \"\\u0037\\u70B9\";\n t[\"\\u3360\"] = \"\\u0038\\u70B9\";\n t[\"\\u3361\"] = \"\\u0039\\u70B9\";\n t[\"\\u3362\"] = \"\\u0031\\u0030\\u70B9\";\n t[\"\\u3363\"] = \"\\u0031\\u0031\\u70B9\";\n t[\"\\u3364\"] = \"\\u0031\\u0032\\u70B9\";\n t[\"\\u3365\"] = \"\\u0031\\u0033\\u70B9\";\n t[\"\\u3366\"] = \"\\u0031\\u0034\\u70B9\";\n t[\"\\u3367\"] = \"\\u0031\\u0035\\u70B9\";\n t[\"\\u3368\"] = \"\\u0031\\u0036\\u70B9\";\n t[\"\\u3369\"] = \"\\u0031\\u0037\\u70B9\";\n t[\"\\u336A\"] = \"\\u0031\\u0038\\u70B9\";\n t[\"\\u336B\"] = \"\\u0031\\u0039\\u70B9\";\n t[\"\\u336C\"] = \"\\u0032\\u0030\\u70B9\";\n t[\"\\u336D\"] = \"\\u0032\\u0031\\u70B9\";\n t[\"\\u336E\"] = \"\\u0032\\u0032\\u70B9\";\n t[\"\\u336F\"] = \"\\u0032\\u0033\\u70B9\";\n t[\"\\u3370\"] = \"\\u0032\\u0034\\u70B9\";\n t[\"\\u33E0\"] = \"\\u0031\\u65E5\";\n t[\"\\u33E1\"] = \"\\u0032\\u65E5\";\n t[\"\\u33E2\"] = \"\\u0033\\u65E5\";\n t[\"\\u33E3\"] = \"\\u0034\\u65E5\";\n t[\"\\u33E4\"] = \"\\u0035\\u65E5\";\n t[\"\\u33E5\"] = \"\\u0036\\u65E5\";\n t[\"\\u33E6\"] = \"\\u0037\\u65E5\";\n t[\"\\u33E7\"] = \"\\u0038\\u65E5\";\n t[\"\\u33E8\"] = \"\\u0039\\u65E5\";\n t[\"\\u33E9\"] = \"\\u0031\\u0030\\u65E5\";\n t[\"\\u33EA\"] = \"\\u0031\\u0031\\u65E5\";\n t[\"\\u33EB\"] = \"\\u0031\\u0032\\u65E5\";\n t[\"\\u33EC\"] = \"\\u0031\\u0033\\u65E5\";\n t[\"\\u33ED\"] = \"\\u0031\\u0034\\u65E5\";\n t[\"\\u33EE\"] = \"\\u0031\\u0035\\u65E5\";\n t[\"\\u33EF\"] = \"\\u0031\\u0036\\u65E5\";\n t[\"\\u33F0\"] = \"\\u0031\\u0037\\u65E5\";\n t[\"\\u33F1\"] = \"\\u0031\\u0038\\u65E5\";\n t[\"\\u33F2\"] = \"\\u0031\\u0039\\u65E5\";\n t[\"\\u33F3\"] = \"\\u0032\\u0030\\u65E5\";\n t[\"\\u33F4\"] = \"\\u0032\\u0031\\u65E5\";\n t[\"\\u33F5\"] = \"\\u0032\\u0032\\u65E5\";\n t[\"\\u33F6\"] = \"\\u0032\\u0033\\u65E5\";\n t[\"\\u33F7\"] = \"\\u0032\\u0034\\u65E5\";\n t[\"\\u33F8\"] = \"\\u0032\\u0035\\u65E5\";\n t[\"\\u33F9\"] = \"\\u0032\\u0036\\u65E5\";\n t[\"\\u33FA\"] = \"\\u0032\\u0037\\u65E5\";\n t[\"\\u33FB\"] = \"\\u0032\\u0038\\u65E5\";\n t[\"\\u33FC\"] = \"\\u0032\\u0039\\u65E5\";\n t[\"\\u33FD\"] = \"\\u0033\\u0030\\u65E5\";\n t[\"\\u33FE\"] = \"\\u0033\\u0031\\u65E5\";\n t[\"\\uFB00\"] = \"\\u0066\\u0066\";\n t[\"\\uFB01\"] = \"\\u0066\\u0069\";\n t[\"\\uFB02\"] = \"\\u0066\\u006C\";\n t[\"\\uFB03\"] = \"\\u0066\\u0066\\u0069\";\n t[\"\\uFB04\"] = \"\\u0066\\u0066\\u006C\";\n t[\"\\uFB05\"] = \"\\u017F\\u0074\";\n t[\"\\uFB06\"] = \"\\u0073\\u0074\";\n t[\"\\uFB13\"] = \"\\u0574\\u0576\";\n t[\"\\uFB14\"] = \"\\u0574\\u0565\";\n t[\"\\uFB15\"] = \"\\u0574\\u056B\";\n t[\"\\uFB16\"] = \"\\u057E\\u0576\";\n t[\"\\uFB17\"] = \"\\u0574\\u056D\";\n t[\"\\uFB4F\"] = \"\\u05D0\\u05DC\";\n t[\"\\uFB50\"] = \"\\u0671\";\n t[\"\\uFB51\"] = \"\\u0671\";\n t[\"\\uFB52\"] = \"\\u067B\";\n t[\"\\uFB53\"] = \"\\u067B\";\n t[\"\\uFB54\"] = \"\\u067B\";\n t[\"\\uFB55\"] = \"\\u067B\";\n t[\"\\uFB56\"] = \"\\u067E\";\n t[\"\\uFB57\"] = \"\\u067E\";\n t[\"\\uFB58\"] = \"\\u067E\";\n t[\"\\uFB59\"] = \"\\u067E\";\n t[\"\\uFB5A\"] = \"\\u0680\";\n t[\"\\uFB5B\"] = \"\\u0680\";\n t[\"\\uFB5C\"] = \"\\u0680\";\n t[\"\\uFB5D\"] = \"\\u0680\";\n t[\"\\uFB5E\"] = \"\\u067A\";\n t[\"\\uFB5F\"] = \"\\u067A\";\n t[\"\\uFB60\"] = \"\\u067A\";\n t[\"\\uFB61\"] = \"\\u067A\";\n t[\"\\uFB62\"] = \"\\u067F\";\n t[\"\\uFB63\"] = \"\\u067F\";\n t[\"\\uFB64\"] = \"\\u067F\";\n t[\"\\uFB65\"] = \"\\u067F\";\n t[\"\\uFB66\"] = \"\\u0679\";\n t[\"\\uFB67\"] = \"\\u0679\";\n t[\"\\uFB68\"] = \"\\u0679\";\n t[\"\\uFB69\"] = \"\\u0679\";\n t[\"\\uFB6A\"] = \"\\u06A4\";\n t[\"\\uFB6B\"] = \"\\u06A4\";\n t[\"\\uFB6C\"] = \"\\u06A4\";\n t[\"\\uFB6D\"] = \"\\u06A4\";\n t[\"\\uFB6E\"] = \"\\u06A6\";\n t[\"\\uFB6F\"] = \"\\u06A6\";\n t[\"\\uFB70\"] = \"\\u06A6\";\n t[\"\\uFB71\"] = \"\\u06A6\";\n t[\"\\uFB72\"] = \"\\u0684\";\n t[\"\\uFB73\"] = \"\\u0684\";\n t[\"\\uFB74\"] = \"\\u0684\";\n t[\"\\uFB75\"] = \"\\u0684\";\n t[\"\\uFB76\"] = \"\\u0683\";\n t[\"\\uFB77\"] = \"\\u0683\";\n t[\"\\uFB78\"] = \"\\u0683\";\n t[\"\\uFB79\"] = \"\\u0683\";\n t[\"\\uFB7A\"] = \"\\u0686\";\n t[\"\\uFB7B\"] = \"\\u0686\";\n t[\"\\uFB7C\"] = \"\\u0686\";\n t[\"\\uFB7D\"] = \"\\u0686\";\n t[\"\\uFB7E\"] = \"\\u0687\";\n t[\"\\uFB7F\"] = \"\\u0687\";\n t[\"\\uFB80\"] = \"\\u0687\";\n t[\"\\uFB81\"] = \"\\u0687\";\n t[\"\\uFB82\"] = \"\\u068D\";\n t[\"\\uFB83\"] = \"\\u068D\";\n t[\"\\uFB84\"] = \"\\u068C\";\n t[\"\\uFB85\"] = \"\\u068C\";\n t[\"\\uFB86\"] = \"\\u068E\";\n t[\"\\uFB87\"] = \"\\u068E\";\n t[\"\\uFB88\"] = \"\\u0688\";\n t[\"\\uFB89\"] = \"\\u0688\";\n t[\"\\uFB8A\"] = \"\\u0698\";\n t[\"\\uFB8B\"] = \"\\u0698\";\n t[\"\\uFB8C\"] = \"\\u0691\";\n t[\"\\uFB8D\"] = \"\\u0691\";\n t[\"\\uFB8E\"] = \"\\u06A9\";\n t[\"\\uFB8F\"] = \"\\u06A9\";\n t[\"\\uFB90\"] = \"\\u06A9\";\n t[\"\\uFB91\"] = \"\\u06A9\";\n t[\"\\uFB92\"] = \"\\u06AF\";\n t[\"\\uFB93\"] = \"\\u06AF\";\n t[\"\\uFB94\"] = \"\\u06AF\";\n t[\"\\uFB95\"] = \"\\u06AF\";\n t[\"\\uFB96\"] = \"\\u06B3\";\n t[\"\\uFB97\"] = \"\\u06B3\";\n t[\"\\uFB98\"] = \"\\u06B3\";\n t[\"\\uFB99\"] = \"\\u06B3\";\n t[\"\\uFB9A\"] = \"\\u06B1\";\n t[\"\\uFB9B\"] = \"\\u06B1\";\n t[\"\\uFB9C\"] = \"\\u06B1\";\n t[\"\\uFB9D\"] = \"\\u06B1\";\n t[\"\\uFB9E\"] = \"\\u06BA\";\n t[\"\\uFB9F\"] = \"\\u06BA\";\n t[\"\\uFBA0\"] = \"\\u06BB\";\n t[\"\\uFBA1\"] = \"\\u06BB\";\n t[\"\\uFBA2\"] = \"\\u06BB\";\n t[\"\\uFBA3\"] = \"\\u06BB\";\n t[\"\\uFBA4\"] = \"\\u06C0\";\n t[\"\\uFBA5\"] = \"\\u06C0\";\n t[\"\\uFBA6\"] = \"\\u06C1\";\n t[\"\\uFBA7\"] = \"\\u06C1\";\n t[\"\\uFBA8\"] = \"\\u06C1\";\n t[\"\\uFBA9\"] = \"\\u06C1\";\n t[\"\\uFBAA\"] = \"\\u06BE\";\n t[\"\\uFBAB\"] = \"\\u06BE\";\n t[\"\\uFBAC\"] = \"\\u06BE\";\n t[\"\\uFBAD\"] = \"\\u06BE\";\n t[\"\\uFBAE\"] = \"\\u06D2\";\n t[\"\\uFBAF\"] = \"\\u06D2\";\n t[\"\\uFBB0\"] = \"\\u06D3\";\n t[\"\\uFBB1\"] = \"\\u06D3\";\n t[\"\\uFBD3\"] = \"\\u06AD\";\n t[\"\\uFBD4\"] = \"\\u06AD\";\n t[\"\\uFBD5\"] = \"\\u06AD\";\n t[\"\\uFBD6\"] = \"\\u06AD\";\n t[\"\\uFBD7\"] = \"\\u06C7\";\n t[\"\\uFBD8\"] = \"\\u06C7\";\n t[\"\\uFBD9\"] = \"\\u06C6\";\n t[\"\\uFBDA\"] = \"\\u06C6\";\n t[\"\\uFBDB\"] = \"\\u06C8\";\n t[\"\\uFBDC\"] = \"\\u06C8\";\n t[\"\\uFBDD\"] = \"\\u0677\";\n t[\"\\uFBDE\"] = \"\\u06CB\";\n t[\"\\uFBDF\"] = \"\\u06CB\";\n t[\"\\uFBE0\"] = \"\\u06C5\";\n t[\"\\uFBE1\"] = \"\\u06C5\";\n t[\"\\uFBE2\"] = \"\\u06C9\";\n t[\"\\uFBE3\"] = \"\\u06C9\";\n t[\"\\uFBE4\"] = \"\\u06D0\";\n t[\"\\uFBE5\"] = \"\\u06D0\";\n t[\"\\uFBE6\"] = \"\\u06D0\";\n t[\"\\uFBE7\"] = \"\\u06D0\";\n t[\"\\uFBE8\"] = \"\\u0649\";\n t[\"\\uFBE9\"] = \"\\u0649\";\n t[\"\\uFBEA\"] = \"\\u0626\\u0627\";\n t[\"\\uFBEB\"] = \"\\u0626\\u0627\";\n t[\"\\uFBEC\"] = \"\\u0626\\u06D5\";\n t[\"\\uFBED\"] = \"\\u0626\\u06D5\";\n t[\"\\uFBEE\"] = \"\\u0626\\u0648\";\n t[\"\\uFBEF\"] = \"\\u0626\\u0648\";\n t[\"\\uFBF0\"] = \"\\u0626\\u06C7\";\n t[\"\\uFBF1\"] = \"\\u0626\\u06C7\";\n t[\"\\uFBF2\"] = \"\\u0626\\u06C6\";\n t[\"\\uFBF3\"] = \"\\u0626\\u06C6\";\n t[\"\\uFBF4\"] = \"\\u0626\\u06C8\";\n t[\"\\uFBF5\"] = \"\\u0626\\u06C8\";\n t[\"\\uFBF6\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF7\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF8\"] = \"\\u0626\\u06D0\";\n t[\"\\uFBF9\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFA\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFB\"] = \"\\u0626\\u0649\";\n t[\"\\uFBFC\"] = \"\\u06CC\";\n t[\"\\uFBFD\"] = \"\\u06CC\";\n t[\"\\uFBFE\"] = \"\\u06CC\";\n t[\"\\uFBFF\"] = \"\\u06CC\";\n t[\"\\uFC00\"] = \"\\u0626\\u062C\";\n t[\"\\uFC01\"] = \"\\u0626\\u062D\";\n t[\"\\uFC02\"] = \"\\u0626\\u0645\";\n t[\"\\uFC03\"] = \"\\u0626\\u0649\";\n t[\"\\uFC04\"] = \"\\u0626\\u064A\";\n t[\"\\uFC05\"] = \"\\u0628\\u062C\";\n t[\"\\uFC06\"] = \"\\u0628\\u062D\";\n t[\"\\uFC07\"] = \"\\u0628\\u062E\";\n t[\"\\uFC08\"] = \"\\u0628\\u0645\";\n t[\"\\uFC09\"] = \"\\u0628\\u0649\";\n t[\"\\uFC0A\"] = \"\\u0628\\u064A\";\n t[\"\\uFC0B\"] = \"\\u062A\\u062C\";\n t[\"\\uFC0C\"] = \"\\u062A\\u062D\";\n t[\"\\uFC0D\"] = \"\\u062A\\u062E\";\n t[\"\\uFC0E\"] = \"\\u062A\\u0645\";\n t[\"\\uFC0F\"] = \"\\u062A\\u0649\";\n t[\"\\uFC10\"] = \"\\u062A\\u064A\";\n t[\"\\uFC11\"] = \"\\u062B\\u062C\";\n t[\"\\uFC12\"] = \"\\u062B\\u0645\";\n t[\"\\uFC13\"] = \"\\u062B\\u0649\";\n t[\"\\uFC14\"] = \"\\u062B\\u064A\";\n t[\"\\uFC15\"] = \"\\u062C\\u062D\";\n t[\"\\uFC16\"] = \"\\u062C\\u0645\";\n t[\"\\uFC17\"] = \"\\u062D\\u062C\";\n t[\"\\uFC18\"] = \"\\u062D\\u0645\";\n t[\"\\uFC19\"] = \"\\u062E\\u062C\";\n t[\"\\uFC1A\"] = \"\\u062E\\u062D\";\n t[\"\\uFC1B\"] = \"\\u062E\\u0645\";\n t[\"\\uFC1C\"] = \"\\u0633\\u062C\";\n t[\"\\uFC1D\"] = \"\\u0633\\u062D\";\n t[\"\\uFC1E\"] = \"\\u0633\\u062E\";\n t[\"\\uFC1F\"] = \"\\u0633\\u0645\";\n t[\"\\uFC20\"] = \"\\u0635\\u062D\";\n t[\"\\uFC21\"] = \"\\u0635\\u0645\";\n t[\"\\uFC22\"] = \"\\u0636\\u062C\";\n t[\"\\uFC23\"] = \"\\u0636\\u062D\";\n t[\"\\uFC24\"] = \"\\u0636\\u062E\";\n t[\"\\uFC25\"] = \"\\u0636\\u0645\";\n t[\"\\uFC26\"] = \"\\u0637\\u062D\";\n t[\"\\uFC27\"] = \"\\u0637\\u0645\";\n t[\"\\uFC28\"] = \"\\u0638\\u0645\";\n t[\"\\uFC29\"] = \"\\u0639\\u062C\";\n t[\"\\uFC2A\"] = \"\\u0639\\u0645\";\n t[\"\\uFC2B\"] = \"\\u063A\\u062C\";\n t[\"\\uFC2C\"] = \"\\u063A\\u0645\";\n t[\"\\uFC2D\"] = \"\\u0641\\u062C\";\n t[\"\\uFC2E\"] = \"\\u0641\\u062D\";\n t[\"\\uFC2F\"] = \"\\u0641\\u062E\";\n t[\"\\uFC30\"] = \"\\u0641\\u0645\";\n t[\"\\uFC31\"] = \"\\u0641\\u0649\";\n t[\"\\uFC32\"] = \"\\u0641\\u064A\";\n t[\"\\uFC33\"] = \"\\u0642\\u062D\";\n t[\"\\uFC34\"] = \"\\u0642\\u0645\";\n t[\"\\uFC35\"] = \"\\u0642\\u0649\";\n t[\"\\uFC36\"] = \"\\u0642\\u064A\";\n t[\"\\uFC37\"] = \"\\u0643\\u0627\";\n t[\"\\uFC38\"] = \"\\u0643\\u062C\";\n t[\"\\uFC39\"] = \"\\u0643\\u062D\";\n t[\"\\uFC3A\"] = \"\\u0643\\u062E\";\n t[\"\\uFC3B\"] = \"\\u0643\\u0644\";\n t[\"\\uFC3C\"] = \"\\u0643\\u0645\";\n t[\"\\uFC3D\"] = \"\\u0643\\u0649\";\n t[\"\\uFC3E\"] = \"\\u0643\\u064A\";\n t[\"\\uFC3F\"] = \"\\u0644\\u062C\";\n t[\"\\uFC40\"] = \"\\u0644\\u062D\";\n t[\"\\uFC41\"] = \"\\u0644\\u062E\";\n t[\"\\uFC42\"] = \"\\u0644\\u0645\";\n t[\"\\uFC43\"] = \"\\u0644\\u0649\";\n t[\"\\uFC44\"] = \"\\u0644\\u064A\";\n t[\"\\uFC45\"] = \"\\u0645\\u062C\";\n t[\"\\uFC46\"] = \"\\u0645\\u062D\";\n t[\"\\uFC47\"] = \"\\u0645\\u062E\";\n t[\"\\uFC48\"] = \"\\u0645\\u0645\";\n t[\"\\uFC49\"] = \"\\u0645\\u0649\";\n t[\"\\uFC4A\"] = \"\\u0645\\u064A\";\n t[\"\\uFC4B\"] = \"\\u0646\\u062C\";\n t[\"\\uFC4C\"] = \"\\u0646\\u062D\";\n t[\"\\uFC4D\"] = \"\\u0646\\u062E\";\n t[\"\\uFC4E\"] = \"\\u0646\\u0645\";\n t[\"\\uFC4F\"] = \"\\u0646\\u0649\";\n t[\"\\uFC50\"] = \"\\u0646\\u064A\";\n t[\"\\uFC51\"] = \"\\u0647\\u062C\";\n t[\"\\uFC52\"] = \"\\u0647\\u0645\";\n t[\"\\uFC53\"] = \"\\u0647\\u0649\";\n t[\"\\uFC54\"] = \"\\u0647\\u064A\";\n t[\"\\uFC55\"] = \"\\u064A\\u062C\";\n t[\"\\uFC56\"] = \"\\u064A\\u062D\";\n t[\"\\uFC57\"] = \"\\u064A\\u062E\";\n t[\"\\uFC58\"] = \"\\u064A\\u0645\";\n t[\"\\uFC59\"] = \"\\u064A\\u0649\";\n t[\"\\uFC5A\"] = \"\\u064A\\u064A\";\n t[\"\\uFC5B\"] = \"\\u0630\\u0670\";\n t[\"\\uFC5C\"] = \"\\u0631\\u0670\";\n t[\"\\uFC5D\"] = \"\\u0649\\u0670\";\n t[\"\\uFC5E\"] = \"\\u0020\\u064C\\u0651\";\n t[\"\\uFC5F\"] = \"\\u0020\\u064D\\u0651\";\n t[\"\\uFC60\"] = \"\\u0020\\u064E\\u0651\";\n t[\"\\uFC61\"] = \"\\u0020\\u064F\\u0651\";\n t[\"\\uFC62\"] = \"\\u0020\\u0650\\u0651\";\n t[\"\\uFC63\"] = \"\\u0020\\u0651\\u0670\";\n t[\"\\uFC64\"] = \"\\u0626\\u0631\";\n t[\"\\uFC65\"] = \"\\u0626\\u0632\";\n t[\"\\uFC66\"] = \"\\u0626\\u0645\";\n t[\"\\uFC67\"] = \"\\u0626\\u0646\";\n t[\"\\uFC68\"] = \"\\u0626\\u0649\";\n t[\"\\uFC69\"] = \"\\u0626\\u064A\";\n t[\"\\uFC6A\"] = \"\\u0628\\u0631\";\n t[\"\\uFC6B\"] = \"\\u0628\\u0632\";\n t[\"\\uFC6C\"] = \"\\u0628\\u0645\";\n t[\"\\uFC6D\"] = \"\\u0628\\u0646\";\n t[\"\\uFC6E\"] = \"\\u0628\\u0649\";\n t[\"\\uFC6F\"] = \"\\u0628\\u064A\";\n t[\"\\uFC70\"] = \"\\u062A\\u0631\";\n t[\"\\uFC71\"] = \"\\u062A\\u0632\";\n t[\"\\uFC72\"] = \"\\u062A\\u0645\";\n t[\"\\uFC73\"] = \"\\u062A\\u0646\";\n t[\"\\uFC74\"] = \"\\u062A\\u0649\";\n t[\"\\uFC75\"] = \"\\u062A\\u064A\";\n t[\"\\uFC76\"] = \"\\u062B\\u0631\";\n t[\"\\uFC77\"] = \"\\u062B\\u0632\";\n t[\"\\uFC78\"] = \"\\u062B\\u0645\";\n t[\"\\uFC79\"] = \"\\u062B\\u0646\";\n t[\"\\uFC7A\"] = \"\\u062B\\u0649\";\n t[\"\\uFC7B\"] = \"\\u062B\\u064A\";\n t[\"\\uFC7C\"] = \"\\u0641\\u0649\";\n t[\"\\uFC7D\"] = \"\\u0641\\u064A\";\n t[\"\\uFC7E\"] = \"\\u0642\\u0649\";\n t[\"\\uFC7F\"] = \"\\u0642\\u064A\";\n t[\"\\uFC80\"] = \"\\u0643\\u0627\";\n t[\"\\uFC81\"] = \"\\u0643\\u0644\";\n t[\"\\uFC82\"] = \"\\u0643\\u0645\";\n t[\"\\uFC83\"] = \"\\u0643\\u0649\";\n t[\"\\uFC84\"] = \"\\u0643\\u064A\";\n t[\"\\uFC85\"] = \"\\u0644\\u0645\";\n t[\"\\uFC86\"] = \"\\u0644\\u0649\";\n t[\"\\uFC87\"] = \"\\u0644\\u064A\";\n t[\"\\uFC88\"] = \"\\u0645\\u0627\";\n t[\"\\uFC89\"] = \"\\u0645\\u0645\";\n t[\"\\uFC8A\"] = \"\\u0646\\u0631\";\n t[\"\\uFC8B\"] = \"\\u0646\\u0632\";\n t[\"\\uFC8C\"] = \"\\u0646\\u0645\";\n t[\"\\uFC8D\"] = \"\\u0646\\u0646\";\n t[\"\\uFC8E\"] = \"\\u0646\\u0649\";\n t[\"\\uFC8F\"] = \"\\u0646\\u064A\";\n t[\"\\uFC90\"] = \"\\u0649\\u0670\";\n t[\"\\uFC91\"] = \"\\u064A\\u0631\";\n t[\"\\uFC92\"] = \"\\u064A\\u0632\";\n t[\"\\uFC93\"] = \"\\u064A\\u0645\";\n t[\"\\uFC94\"] = \"\\u064A\\u0646\";\n t[\"\\uFC95\"] = \"\\u064A\\u0649\";\n t[\"\\uFC96\"] = \"\\u064A\\u064A\";\n t[\"\\uFC97\"] = \"\\u0626\\u062C\";\n t[\"\\uFC98\"] = \"\\u0626\\u062D\";\n t[\"\\uFC99\"] = \"\\u0626\\u062E\";\n t[\"\\uFC9A\"] = \"\\u0626\\u0645\";\n t[\"\\uFC9B\"] = \"\\u0626\\u0647\";\n t[\"\\uFC9C\"] = \"\\u0628\\u062C\";\n t[\"\\uFC9D\"] = \"\\u0628\\u062D\";\n t[\"\\uFC9E\"] = \"\\u0628\\u062E\";\n t[\"\\uFC9F\"] = \"\\u0628\\u0645\";\n t[\"\\uFCA0\"] = \"\\u0628\\u0647\";\n t[\"\\uFCA1\"] = \"\\u062A\\u062C\";\n t[\"\\uFCA2\"] = \"\\u062A\\u062D\";\n t[\"\\uFCA3\"] = \"\\u062A\\u062E\";\n t[\"\\uFCA4\"] = \"\\u062A\\u0645\";\n t[\"\\uFCA5\"] = \"\\u062A\\u0647\";\n t[\"\\uFCA6\"] = \"\\u062B\\u0645\";\n t[\"\\uFCA7\"] = \"\\u062C\\u062D\";\n t[\"\\uFCA8\"] = \"\\u062C\\u0645\";\n t[\"\\uFCA9\"] = \"\\u062D\\u062C\";\n t[\"\\uFCAA\"] = \"\\u062D\\u0645\";\n t[\"\\uFCAB\"] = \"\\u062E\\u062C\";\n t[\"\\uFCAC\"] = \"\\u062E\\u0645\";\n t[\"\\uFCAD\"] = \"\\u0633\\u062C\";\n t[\"\\uFCAE\"] = \"\\u0633\\u062D\";\n t[\"\\uFCAF\"] = \"\\u0633\\u062E\";\n t[\"\\uFCB0\"] = \"\\u0633\\u0645\";\n t[\"\\uFCB1\"] = \"\\u0635\\u062D\";\n t[\"\\uFCB2\"] = \"\\u0635\\u062E\";\n t[\"\\uFCB3\"] = \"\\u0635\\u0645\";\n t[\"\\uFCB4\"] = \"\\u0636\\u062C\";\n t[\"\\uFCB5\"] = \"\\u0636\\u062D\";\n t[\"\\uFCB6\"] = \"\\u0636\\u062E\";\n t[\"\\uFCB7\"] = \"\\u0636\\u0645\";\n t[\"\\uFCB8\"] = \"\\u0637\\u062D\";\n t[\"\\uFCB9\"] = \"\\u0638\\u0645\";\n t[\"\\uFCBA\"] = \"\\u0639\\u062C\";\n t[\"\\uFCBB\"] = \"\\u0639\\u0645\";\n t[\"\\uFCBC\"] = \"\\u063A\\u062C\";\n t[\"\\uFCBD\"] = \"\\u063A\\u0645\";\n t[\"\\uFCBE\"] = \"\\u0641\\u062C\";\n t[\"\\uFCBF\"] = \"\\u0641\\u062D\";\n t[\"\\uFCC0\"] = \"\\u0641\\u062E\";\n t[\"\\uFCC1\"] = \"\\u0641\\u0645\";\n t[\"\\uFCC2\"] = \"\\u0642\\u062D\";\n t[\"\\uFCC3\"] = \"\\u0642\\u0645\";\n t[\"\\uFCC4\"] = \"\\u0643\\u062C\";\n t[\"\\uFCC5\"] = \"\\u0643\\u062D\";\n t[\"\\uFCC6\"] = \"\\u0643\\u062E\";\n t[\"\\uFCC7\"] = \"\\u0643\\u0644\";\n t[\"\\uFCC8\"] = \"\\u0643\\u0645\";\n t[\"\\uFCC9\"] = \"\\u0644\\u062C\";\n t[\"\\uFCCA\"] = \"\\u0644\\u062D\";\n t[\"\\uFCCB\"] = \"\\u0644\\u062E\";\n t[\"\\uFCCC\"] = \"\\u0644\\u0645\";\n t[\"\\uFCCD\"] = \"\\u0644\\u0647\";\n t[\"\\uFCCE\"] = \"\\u0645\\u062C\";\n t[\"\\uFCCF\"] = \"\\u0645\\u062D\";\n t[\"\\uFCD0\"] = \"\\u0645\\u062E\";\n t[\"\\uFCD1\"] = \"\\u0645\\u0645\";\n t[\"\\uFCD2\"] = \"\\u0646\\u062C\";\n t[\"\\uFCD3\"] = \"\\u0646\\u062D\";\n t[\"\\uFCD4\"] = \"\\u0646\\u062E\";\n t[\"\\uFCD5\"] = \"\\u0646\\u0645\";\n t[\"\\uFCD6\"] = \"\\u0646\\u0647\";\n t[\"\\uFCD7\"] = \"\\u0647\\u062C\";\n t[\"\\uFCD8\"] = \"\\u0647\\u0645\";\n t[\"\\uFCD9\"] = \"\\u0647\\u0670\";\n t[\"\\uFCDA\"] = \"\\u064A\\u062C\";\n t[\"\\uFCDB\"] = \"\\u064A\\u062D\";\n t[\"\\uFCDC\"] = \"\\u064A\\u062E\";\n t[\"\\uFCDD\"] = \"\\u064A\\u0645\";\n t[\"\\uFCDE\"] = \"\\u064A\\u0647\";\n t[\"\\uFCDF\"] = \"\\u0626\\u0645\";\n t[\"\\uFCE0\"] = \"\\u0626\\u0647\";\n t[\"\\uFCE1\"] = \"\\u0628\\u0645\";\n t[\"\\uFCE2\"] = \"\\u0628\\u0647\";\n t[\"\\uFCE3\"] = \"\\u062A\\u0645\";\n t[\"\\uFCE4\"] = \"\\u062A\\u0647\";\n t[\"\\uFCE5\"] = \"\\u062B\\u0645\";\n t[\"\\uFCE6\"] = \"\\u062B\\u0647\";\n t[\"\\uFCE7\"] = \"\\u0633\\u0645\";\n t[\"\\uFCE8\"] = \"\\u0633\\u0647\";\n t[\"\\uFCE9\"] = \"\\u0634\\u0645\";\n t[\"\\uFCEA\"] = \"\\u0634\\u0647\";\n t[\"\\uFCEB\"] = \"\\u0643\\u0644\";\n t[\"\\uFCEC\"] = \"\\u0643\\u0645\";\n t[\"\\uFCED\"] = \"\\u0644\\u0645\";\n t[\"\\uFCEE\"] = \"\\u0646\\u0645\";\n t[\"\\uFCEF\"] = \"\\u0646\\u0647\";\n t[\"\\uFCF0\"] = \"\\u064A\\u0645\";\n t[\"\\uFCF1\"] = \"\\u064A\\u0647\";\n t[\"\\uFCF2\"] = \"\\u0640\\u064E\\u0651\";\n t[\"\\uFCF3\"] = \"\\u0640\\u064F\\u0651\";\n t[\"\\uFCF4\"] = \"\\u0640\\u0650\\u0651\";\n t[\"\\uFCF5\"] = \"\\u0637\\u0649\";\n t[\"\\uFCF6\"] = \"\\u0637\\u064A\";\n t[\"\\uFCF7\"] = \"\\u0639\\u0649\";\n t[\"\\uFCF8\"] = \"\\u0639\\u064A\";\n t[\"\\uFCF9\"] = \"\\u063A\\u0649\";\n t[\"\\uFCFA\"] = \"\\u063A\\u064A\";\n t[\"\\uFCFB\"] = \"\\u0633\\u0649\";\n t[\"\\uFCFC\"] = \"\\u0633\\u064A\";\n t[\"\\uFCFD\"] = \"\\u0634\\u0649\";\n t[\"\\uFCFE\"] = \"\\u0634\\u064A\";\n t[\"\\uFCFF\"] = \"\\u062D\\u0649\";\n t[\"\\uFD00\"] = \"\\u062D\\u064A\";\n t[\"\\uFD01\"] = \"\\u062C\\u0649\";\n t[\"\\uFD02\"] = \"\\u062C\\u064A\";\n t[\"\\uFD03\"] = \"\\u062E\\u0649\";\n t[\"\\uFD04\"] = \"\\u062E\\u064A\";\n t[\"\\uFD05\"] = \"\\u0635\\u0649\";\n t[\"\\uFD06\"] = \"\\u0635\\u064A\";\n t[\"\\uFD07\"] = \"\\u0636\\u0649\";\n t[\"\\uFD08\"] = \"\\u0636\\u064A\";\n t[\"\\uFD09\"] = \"\\u0634\\u062C\";\n t[\"\\uFD0A\"] = \"\\u0634\\u062D\";\n t[\"\\uFD0B\"] = \"\\u0634\\u062E\";\n t[\"\\uFD0C\"] = \"\\u0634\\u0645\";\n t[\"\\uFD0D\"] = \"\\u0634\\u0631\";\n t[\"\\uFD0E\"] = \"\\u0633\\u0631\";\n t[\"\\uFD0F\"] = \"\\u0635\\u0631\";\n t[\"\\uFD10\"] = \"\\u0636\\u0631\";\n t[\"\\uFD11\"] = \"\\u0637\\u0649\";\n t[\"\\uFD12\"] = \"\\u0637\\u064A\";\n t[\"\\uFD13\"] = \"\\u0639\\u0649\";\n t[\"\\uFD14\"] = \"\\u0639\\u064A\";\n t[\"\\uFD15\"] = \"\\u063A\\u0649\";\n t[\"\\uFD16\"] = \"\\u063A\\u064A\";\n t[\"\\uFD17\"] = \"\\u0633\\u0649\";\n t[\"\\uFD18\"] = \"\\u0633\\u064A\";\n t[\"\\uFD19\"] = \"\\u0634\\u0649\";\n t[\"\\uFD1A\"] = \"\\u0634\\u064A\";\n t[\"\\uFD1B\"] = \"\\u062D\\u0649\";\n t[\"\\uFD1C\"] = \"\\u062D\\u064A\";\n t[\"\\uFD1D\"] = \"\\u062C\\u0649\";\n t[\"\\uFD1E\"] = \"\\u062C\\u064A\";\n t[\"\\uFD1F\"] = \"\\u062E\\u0649\";\n t[\"\\uFD20\"] = \"\\u062E\\u064A\";\n t[\"\\uFD21\"] = \"\\u0635\\u0649\";\n t[\"\\uFD22\"] = \"\\u0635\\u064A\";\n t[\"\\uFD23\"] = \"\\u0636\\u0649\";\n t[\"\\uFD24\"] = \"\\u0636\\u064A\";\n t[\"\\uFD25\"] = \"\\u0634\\u062C\";\n t[\"\\uFD26\"] = \"\\u0634\\u062D\";\n t[\"\\uFD27\"] = \"\\u0634\\u062E\";\n t[\"\\uFD28\"] = \"\\u0634\\u0645\";\n t[\"\\uFD29\"] = \"\\u0634\\u0631\";\n t[\"\\uFD2A\"] = \"\\u0633\\u0631\";\n t[\"\\uFD2B\"] = \"\\u0635\\u0631\";\n t[\"\\uFD2C\"] = \"\\u0636\\u0631\";\n t[\"\\uFD2D\"] = \"\\u0634\\u062C\";\n t[\"\\uFD2E\"] = \"\\u0634\\u062D\";\n t[\"\\uFD2F\"] = \"\\u0634\\u062E\";\n t[\"\\uFD30\"] = \"\\u0634\\u0645\";\n t[\"\\uFD31\"] = \"\\u0633\\u0647\";\n t[\"\\uFD32\"] = \"\\u0634\\u0647\";\n t[\"\\uFD33\"] = \"\\u0637\\u0645\";\n t[\"\\uFD34\"] = \"\\u0633\\u062C\";\n t[\"\\uFD35\"] = \"\\u0633\\u062D\";\n t[\"\\uFD36\"] = \"\\u0633\\u062E\";\n t[\"\\uFD37\"] = \"\\u0634\\u062C\";\n t[\"\\uFD38\"] = \"\\u0634\\u062D\";\n t[\"\\uFD39\"] = \"\\u0634\\u062E\";\n t[\"\\uFD3A\"] = \"\\u0637\\u0645\";\n t[\"\\uFD3B\"] = \"\\u0638\\u0645\";\n t[\"\\uFD3C\"] = \"\\u0627\\u064B\";\n t[\"\\uFD3D\"] = \"\\u0627\\u064B\";\n t[\"\\uFD50\"] = \"\\u062A\\u062C\\u0645\";\n t[\"\\uFD51\"] = \"\\u062A\\u062D\\u062C\";\n t[\"\\uFD52\"] = \"\\u062A\\u062D\\u062C\";\n t[\"\\uFD53\"] = \"\\u062A\\u062D\\u0645\";\n t[\"\\uFD54\"] = \"\\u062A\\u062E\\u0645\";\n t[\"\\uFD55\"] = \"\\u062A\\u0645\\u062C\";\n t[\"\\uFD56\"] = \"\\u062A\\u0645\\u062D\";\n t[\"\\uFD57\"] = \"\\u062A\\u0645\\u062E\";\n t[\"\\uFD58\"] = \"\\u062C\\u0645\\u062D\";\n t[\"\\uFD59\"] = \"\\u062C\\u0645\\u062D\";\n t[\"\\uFD5A\"] = \"\\u062D\\u0645\\u064A\";\n t[\"\\uFD5B\"] = \"\\u062D\\u0645\\u0649\";\n t[\"\\uFD5C\"] = \"\\u0633\\u062D\\u062C\";\n t[\"\\uFD5D\"] = \"\\u0633\\u062C\\u062D\";\n t[\"\\uFD5E\"] = \"\\u0633\\u062C\\u0649\";\n t[\"\\uFD5F\"] = \"\\u0633\\u0645\\u062D\";\n t[\"\\uFD60\"] = \"\\u0633\\u0645\\u062D\";\n t[\"\\uFD61\"] = \"\\u0633\\u0645\\u062C\";\n t[\"\\uFD62\"] = \"\\u0633\\u0645\\u0645\";\n t[\"\\uFD63\"] = \"\\u0633\\u0645\\u0645\";\n t[\"\\uFD64\"] = \"\\u0635\\u062D\\u062D\";\n t[\"\\uFD65\"] = \"\\u0635\\u062D\\u062D\";\n t[\"\\uFD66\"] = \"\\u0635\\u0645\\u0645\";\n t[\"\\uFD67\"] = \"\\u0634\\u062D\\u0645\";\n t[\"\\uFD68\"] = \"\\u0634\\u062D\\u0645\";\n t[\"\\uFD69\"] = \"\\u0634\\u062C\\u064A\";\n t[\"\\uFD6A\"] = \"\\u0634\\u0645\\u062E\";\n t[\"\\uFD6B\"] = \"\\u0634\\u0645\\u062E\";\n t[\"\\uFD6C\"] = \"\\u0634\\u0645\\u0645\";\n t[\"\\uFD6D\"] = \"\\u0634\\u0645\\u0645\";\n t[\"\\uFD6E\"] = \"\\u0636\\u062D\\u0649\";\n t[\"\\uFD6F\"] = \"\\u0636\\u062E\\u0645\";\n t[\"\\uFD70\"] = \"\\u0636\\u062E\\u0645\";\n t[\"\\uFD71\"] = \"\\u0637\\u0645\\u062D\";\n t[\"\\uFD72\"] = \"\\u0637\\u0645\\u062D\";\n t[\"\\uFD73\"] = \"\\u0637\\u0645\\u0645\";\n t[\"\\uFD74\"] = \"\\u0637\\u0645\\u064A\";\n t[\"\\uFD75\"] = \"\\u0639\\u062C\\u0645\";\n t[\"\\uFD76\"] = \"\\u0639\\u0645\\u0645\";\n t[\"\\uFD77\"] = \"\\u0639\\u0645\\u0645\";\n t[\"\\uFD78\"] = \"\\u0639\\u0645\\u0649\";\n t[\"\\uFD79\"] = \"\\u063A\\u0645\\u0645\";\n t[\"\\uFD7A\"] = \"\\u063A\\u0645\\u064A\";\n t[\"\\uFD7B\"] = \"\\u063A\\u0645\\u0649\";\n t[\"\\uFD7C\"] = \"\\u0641\\u062E\\u0645\";\n t[\"\\uFD7D\"] = \"\\u0641\\u062E\\u0645\";\n t[\"\\uFD7E\"] = \"\\u0642\\u0645\\u062D\";\n t[\"\\uFD7F\"] = \"\\u0642\\u0645\\u0645\";\n t[\"\\uFD80\"] = \"\\u0644\\u062D\\u0645\";\n t[\"\\uFD81\"] = \"\\u0644\\u062D\\u064A\";\n t[\"\\uFD82\"] = \"\\u0644\\u062D\\u0649\";\n t[\"\\uFD83\"] = \"\\u0644\\u062C\\u062C\";\n t[\"\\uFD84\"] = \"\\u0644\\u062C\\u062C\";\n t[\"\\uFD85\"] = \"\\u0644\\u062E\\u0645\";\n t[\"\\uFD86\"] = \"\\u0644\\u062E\\u0645\";\n t[\"\\uFD87\"] = \"\\u0644\\u0645\\u062D\";\n t[\"\\uFD88\"] = \"\\u0644\\u0645\\u062D\";\n t[\"\\uFD89\"] = \"\\u0645\\u062D\\u062C\";\n t[\"\\uFD8A\"] = \"\\u0645\\u062D\\u0645\";\n t[\"\\uFD8B\"] = \"\\u0645\\u062D\\u064A\";\n t[\"\\uFD8C\"] = \"\\u0645\\u062C\\u062D\";\n t[\"\\uFD8D\"] = \"\\u0645\\u062C\\u0645\";\n t[\"\\uFD8E\"] = \"\\u0645\\u062E\\u062C\";\n t[\"\\uFD8F\"] = \"\\u0645\\u062E\\u0645\";\n t[\"\\uFD92\"] = \"\\u0645\\u062C\\u062E\";\n t[\"\\uFD93\"] = \"\\u0647\\u0645\\u062C\";\n t[\"\\uFD94\"] = \"\\u0647\\u0645\\u0645\";\n t[\"\\uFD95\"] = \"\\u0646\\u062D\\u0645\";\n t[\"\\uFD96\"] = \"\\u0646\\u062D\\u0649\";\n t[\"\\uFD97\"] = \"\\u0646\\u062C\\u0645\";\n t[\"\\uFD98\"] = \"\\u0646\\u062C\\u0645\";\n t[\"\\uFD99\"] = \"\\u0646\\u062C\\u0649\";\n t[\"\\uFD9A\"] = \"\\u0646\\u0645\\u064A\";\n t[\"\\uFD9B\"] = \"\\u0646\\u0645\\u0649\";\n t[\"\\uFD9C\"] = \"\\u064A\\u0645\\u0645\";\n t[\"\\uFD9D\"] = \"\\u064A\\u0645\\u0645\";\n t[\"\\uFD9E\"] = \"\\u0628\\u062E\\u064A\";\n t[\"\\uFD9F\"] = \"\\u062A\\u062C\\u064A\";\n t[\"\\uFDA0\"] = \"\\u062A\\u062C\\u0649\";\n t[\"\\uFDA1\"] = \"\\u062A\\u062E\\u064A\";\n t[\"\\uFDA2\"] = \"\\u062A\\u062E\\u0649\";\n t[\"\\uFDA3\"] = \"\\u062A\\u0645\\u064A\";\n t[\"\\uFDA4\"] = \"\\u062A\\u0645\\u0649\";\n t[\"\\uFDA5\"] = \"\\u062C\\u0645\\u064A\";\n t[\"\\uFDA6\"] = \"\\u062C\\u062D\\u0649\";\n t[\"\\uFDA7\"] = \"\\u062C\\u0645\\u0649\";\n t[\"\\uFDA8\"] = \"\\u0633\\u062E\\u0649\";\n t[\"\\uFDA9\"] = \"\\u0635\\u062D\\u064A\";\n t[\"\\uFDAA\"] = \"\\u0634\\u062D\\u064A\";\n t[\"\\uFDAB\"] = \"\\u0636\\u062D\\u064A\";\n t[\"\\uFDAC\"] = \"\\u0644\\u062C\\u064A\";\n t[\"\\uFDAD\"] = \"\\u0644\\u0645\\u064A\";\n t[\"\\uFDAE\"] = \"\\u064A\\u062D\\u064A\";\n t[\"\\uFDAF\"] = \"\\u064A\\u062C\\u064A\";\n t[\"\\uFDB0\"] = \"\\u064A\\u0645\\u064A\";\n t[\"\\uFDB1\"] = \"\\u0645\\u0645\\u064A\";\n t[\"\\uFDB2\"] = \"\\u0642\\u0645\\u064A\";\n t[\"\\uFDB3\"] = \"\\u0646\\u062D\\u064A\";\n t[\"\\uFDB4\"] = \"\\u0642\\u0645\\u062D\";\n t[\"\\uFDB5\"] = \"\\u0644\\u062D\\u0645\";\n t[\"\\uFDB6\"] = \"\\u0639\\u0645\\u064A\";\n t[\"\\uFDB7\"] = \"\\u0643\\u0645\\u064A\";\n t[\"\\uFDB8\"] = \"\\u0646\\u062C\\u062D\";\n t[\"\\uFDB9\"] = \"\\u0645\\u062E\\u064A\";\n t[\"\\uFDBA\"] = \"\\u0644\\u062C\\u0645\";\n t[\"\\uFDBB\"] = \"\\u0643\\u0645\\u0645\";\n t[\"\\uFDBC\"] = \"\\u0644\\u062C\\u0645\";\n t[\"\\uFDBD\"] = \"\\u0646\\u062C\\u062D\";\n t[\"\\uFDBE\"] = \"\\u062C\\u062D\\u064A\";\n t[\"\\uFDBF\"] = \"\\u062D\\u062C\\u064A\";\n t[\"\\uFDC0\"] = \"\\u0645\\u062C\\u064A\";\n t[\"\\uFDC1\"] = \"\\u0641\\u0645\\u064A\";\n t[\"\\uFDC2\"] = \"\\u0628\\u062D\\u064A\";\n t[\"\\uFDC3\"] = \"\\u0643\\u0645\\u0645\";\n t[\"\\uFDC4\"] = \"\\u0639\\u062C\\u0645\";\n t[\"\\uFDC5\"] = \"\\u0635\\u0645\\u0645\";\n t[\"\\uFDC6\"] = \"\\u0633\\u062E\\u064A\";\n t[\"\\uFDC7\"] = \"\\u0646\\u062C\\u064A\";\n t[\"\\uFE49\"] = \"\\u203E\";\n t[\"\\uFE4A\"] = \"\\u203E\";\n t[\"\\uFE4B\"] = \"\\u203E\";\n t[\"\\uFE4C\"] = \"\\u203E\";\n t[\"\\uFE4D\"] = \"\\u005F\";\n t[\"\\uFE4E\"] = \"\\u005F\";\n t[\"\\uFE4F\"] = \"\\u005F\";\n t[\"\\uFE80\"] = \"\\u0621\";\n t[\"\\uFE81\"] = \"\\u0622\";\n t[\"\\uFE82\"] = \"\\u0622\";\n t[\"\\uFE83\"] = \"\\u0623\";\n t[\"\\uFE84\"] = \"\\u0623\";\n t[\"\\uFE85\"] = \"\\u0624\";\n t[\"\\uFE86\"] = \"\\u0624\";\n t[\"\\uFE87\"] = \"\\u0625\";\n t[\"\\uFE88\"] = \"\\u0625\";\n t[\"\\uFE89\"] = \"\\u0626\";\n t[\"\\uFE8A\"] = \"\\u0626\";\n t[\"\\uFE8B\"] = \"\\u0626\";\n t[\"\\uFE8C\"] = \"\\u0626\";\n t[\"\\uFE8D\"] = \"\\u0627\";\n t[\"\\uFE8E\"] = \"\\u0627\";\n t[\"\\uFE8F\"] = \"\\u0628\";\n t[\"\\uFE90\"] = \"\\u0628\";\n t[\"\\uFE91\"] = \"\\u0628\";\n t[\"\\uFE92\"] = \"\\u0628\";\n t[\"\\uFE93\"] = \"\\u0629\";\n t[\"\\uFE94\"] = \"\\u0629\";\n t[\"\\uFE95\"] = \"\\u062A\";\n t[\"\\uFE96\"] = \"\\u062A\";\n t[\"\\uFE97\"] = \"\\u062A\";\n t[\"\\uFE98\"] = \"\\u062A\";\n t[\"\\uFE99\"] = \"\\u062B\";\n t[\"\\uFE9A\"] = \"\\u062B\";\n t[\"\\uFE9B\"] = \"\\u062B\";\n t[\"\\uFE9C\"] = \"\\u062B\";\n t[\"\\uFE9D\"] = \"\\u062C\";\n t[\"\\uFE9E\"] = \"\\u062C\";\n t[\"\\uFE9F\"] = \"\\u062C\";\n t[\"\\uFEA0\"] = \"\\u062C\";\n t[\"\\uFEA1\"] = \"\\u062D\";\n t[\"\\uFEA2\"] = \"\\u062D\";\n t[\"\\uFEA3\"] = \"\\u062D\";\n t[\"\\uFEA4\"] = \"\\u062D\";\n t[\"\\uFEA5\"] = \"\\u062E\";\n t[\"\\uFEA6\"] = \"\\u062E\";\n t[\"\\uFEA7\"] = \"\\u062E\";\n t[\"\\uFEA8\"] = \"\\u062E\";\n t[\"\\uFEA9\"] = \"\\u062F\";\n t[\"\\uFEAA\"] = \"\\u062F\";\n t[\"\\uFEAB\"] = \"\\u0630\";\n t[\"\\uFEAC\"] = \"\\u0630\";\n t[\"\\uFEAD\"] = \"\\u0631\";\n t[\"\\uFEAE\"] = \"\\u0631\";\n t[\"\\uFEAF\"] = \"\\u0632\";\n t[\"\\uFEB0\"] = \"\\u0632\";\n t[\"\\uFEB1\"] = \"\\u0633\";\n t[\"\\uFEB2\"] = \"\\u0633\";\n t[\"\\uFEB3\"] = \"\\u0633\";\n t[\"\\uFEB4\"] = \"\\u0633\";\n t[\"\\uFEB5\"] = \"\\u0634\";\n t[\"\\uFEB6\"] = \"\\u0634\";\n t[\"\\uFEB7\"] = \"\\u0634\";\n t[\"\\uFEB8\"] = \"\\u0634\";\n t[\"\\uFEB9\"] = \"\\u0635\";\n t[\"\\uFEBA\"] = \"\\u0635\";\n t[\"\\uFEBB\"] = \"\\u0635\";\n t[\"\\uFEBC\"] = \"\\u0635\";\n t[\"\\uFEBD\"] = \"\\u0636\";\n t[\"\\uFEBE\"] = \"\\u0636\";\n t[\"\\uFEBF\"] = \"\\u0636\";\n t[\"\\uFEC0\"] = \"\\u0636\";\n t[\"\\uFEC1\"] = \"\\u0637\";\n t[\"\\uFEC2\"] = \"\\u0637\";\n t[\"\\uFEC3\"] = \"\\u0637\";\n t[\"\\uFEC4\"] = \"\\u0637\";\n t[\"\\uFEC5\"] = \"\\u0638\";\n t[\"\\uFEC6\"] = \"\\u0638\";\n t[\"\\uFEC7\"] = \"\\u0638\";\n t[\"\\uFEC8\"] = \"\\u0638\";\n t[\"\\uFEC9\"] = \"\\u0639\";\n t[\"\\uFECA\"] = \"\\u0639\";\n t[\"\\uFECB\"] = \"\\u0639\";\n t[\"\\uFECC\"] = \"\\u0639\";\n t[\"\\uFECD\"] = \"\\u063A\";\n t[\"\\uFECE\"] = \"\\u063A\";\n t[\"\\uFECF\"] = \"\\u063A\";\n t[\"\\uFED0\"] = \"\\u063A\";\n t[\"\\uFED1\"] = \"\\u0641\";\n t[\"\\uFED2\"] = \"\\u0641\";\n t[\"\\uFED3\"] = \"\\u0641\";\n t[\"\\uFED4\"] = \"\\u0641\";\n t[\"\\uFED5\"] = \"\\u0642\";\n t[\"\\uFED6\"] = \"\\u0642\";\n t[\"\\uFED7\"] = \"\\u0642\";\n t[\"\\uFED8\"] = \"\\u0642\";\n t[\"\\uFED9\"] = \"\\u0643\";\n t[\"\\uFEDA\"] = \"\\u0643\";\n t[\"\\uFEDB\"] = \"\\u0643\";\n t[\"\\uFEDC\"] = \"\\u0643\";\n t[\"\\uFEDD\"] = \"\\u0644\";\n t[\"\\uFEDE\"] = \"\\u0644\";\n t[\"\\uFEDF\"] = \"\\u0644\";\n t[\"\\uFEE0\"] = \"\\u0644\";\n t[\"\\uFEE1\"] = \"\\u0645\";\n t[\"\\uFEE2\"] = \"\\u0645\";\n t[\"\\uFEE3\"] = \"\\u0645\";\n t[\"\\uFEE4\"] = \"\\u0645\";\n t[\"\\uFEE5\"] = \"\\u0646\";\n t[\"\\uFEE6\"] = \"\\u0646\";\n t[\"\\uFEE7\"] = \"\\u0646\";\n t[\"\\uFEE8\"] = \"\\u0646\";\n t[\"\\uFEE9\"] = \"\\u0647\";\n t[\"\\uFEEA\"] = \"\\u0647\";\n t[\"\\uFEEB\"] = \"\\u0647\";\n t[\"\\uFEEC\"] = \"\\u0647\";\n t[\"\\uFEED\"] = \"\\u0648\";\n t[\"\\uFEEE\"] = \"\\u0648\";\n t[\"\\uFEEF\"] = \"\\u0649\";\n t[\"\\uFEF0\"] = \"\\u0649\";\n t[\"\\uFEF1\"] = \"\\u064A\";\n t[\"\\uFEF2\"] = \"\\u064A\";\n t[\"\\uFEF3\"] = \"\\u064A\";\n t[\"\\uFEF4\"] = \"\\u064A\";\n t[\"\\uFEF5\"] = \"\\u0644\\u0622\";\n t[\"\\uFEF6\"] = \"\\u0644\\u0622\";\n t[\"\\uFEF7\"] = \"\\u0644\\u0623\";\n t[\"\\uFEF8\"] = \"\\u0644\\u0623\";\n t[\"\\uFEF9\"] = \"\\u0644\\u0625\";\n t[\"\\uFEFA\"] = \"\\u0644\\u0625\";\n t[\"\\uFEFB\"] = \"\\u0644\\u0627\";\n t[\"\\uFEFC\"] = \"\\u0644\\u0627\";\n});\nfunction reverseIfRtl(chars) {\n var charsLength = chars.length;\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n return chars;\n }\n var s = \"\";\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n s += chars[ii];\n }\n return s;\n}\nexports.mapSpecialUnicodeValues = mapSpecialUnicodeValues;\nexports.reverseIfRtl = reverseIfRtl;\nexports.getUnicodeRangeFor = getUnicodeRangeFor;\nexports.getNormalizedUnicodes = getNormalizedUnicodes;\nexports.getUnicodeForGlyph = getUnicodeForGlyph;\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontRendererFactory = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _cff_parser = __w_pdfjs_require__(228);\n\nvar _glyphlist = __w_pdfjs_require__(231);\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _stream = __w_pdfjs_require__(209);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar FontRendererFactory = function FontRendererFactoryClosure() {\n function getLong(data, offset) {\n return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n }\n\n function getUshort(data, offset) {\n return data[offset] << 8 | data[offset + 1];\n }\n\n function 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 = /*#__PURE__*/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 = /*#__PURE__*/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 = /*#__PURE__*/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\nexports.FontRendererFactory = FontRendererFactory;\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Type1Parser = void 0;\n\nvar _encodings = __w_pdfjs_require__(230);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar HINTING_ENABLED = false;\n\nvar Type1CharString = function Type1CharStringClosure() {\n var COMMAND_MAP = {\n hstem: [1],\n vstem: [3],\n vmoveto: [4],\n rlineto: [5],\n hlineto: [6],\n vlineto: [7],\n rrcurveto: [8],\n callsubr: [10],\n flex: [12, 35],\n drop: [12, 18],\n endchar: [14],\n rmoveto: [21],\n hmoveto: [22],\n vhcurveto: [30],\n hvcurveto: [31]\n };\n\n function Type1CharString() {\n this.width = 0;\n this.lsb = 0;\n this.flexing = false;\n this.output = [];\n this.stack = [];\n }\n\n Type1CharString.prototype = {\n convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {\n var count = encoded.length;\n var error = false;\n var wx, sbx, subrNumber;\n\n for (var i = 0; i < count; i++) {\n var value = encoded[i];\n\n if (value < 32) {\n if (value === 12) {\n value = (value << 8) + encoded[++i];\n }\n\n switch (value) {\n case 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case 3:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case 4:\n if (this.flexing) {\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n var dy = this.stack.pop();\n this.stack.push(0, dy);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n break;\n\n case 5:\n error = this.executeCommand(2, COMMAND_MAP.rlineto);\n break;\n\n case 6:\n error = this.executeCommand(1, COMMAND_MAP.hlineto);\n break;\n\n case 7:\n error = this.executeCommand(1, COMMAND_MAP.vlineto);\n break;\n\n case 8:\n error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n break;\n\n case 9:\n this.stack = [];\n break;\n\n case 10:\n if (this.stack.length < 1) {\n error = true;\n break;\n }\n\n subrNumber = this.stack.pop();\n\n if (!subrs[subrNumber]) {\n error = true;\n break;\n }\n\n error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n break;\n\n case 11:\n return error;\n\n case 13:\n if (this.stack.length < 2) {\n error = true;\n break;\n }\n\n wx = this.stack.pop();\n sbx = this.stack.pop();\n this.lsb = sbx;\n this.width = wx;\n this.stack.push(wx, sbx);\n error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n break;\n\n case 14:\n this.output.push(COMMAND_MAP.endchar[0]);\n break;\n\n case 21:\n if (this.flexing) {\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n break;\n\n case 22:\n if (this.flexing) {\n this.stack.push(0);\n break;\n }\n\n error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n break;\n\n case 30:\n error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n break;\n\n case 31:\n error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n break;\n\n case (12 << 8) + 0:\n this.stack = [];\n break;\n\n case (12 << 8) + 1:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.vstem);\n break;\n\n case (12 << 8) + 2:\n if (!HINTING_ENABLED) {\n this.stack = [];\n break;\n }\n\n error = this.executeCommand(2, COMMAND_MAP.hstem);\n break;\n\n case (12 << 8) + 6:\n if (seacAnalysisEnabled) {\n 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\nvar Type1Parser = function Type1ParserClosure() {\n var EEXEC_ENCRYPT_KEY = 55665;\n var CHAR_STRS_ENCRYPT_KEY = 4330;\n\n function isHexDigit(code) {\n return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n }\n\n function decrypt(data, key, discardNumber) {\n if (discardNumber >= data.length) {\n return new Uint8Array(0);\n }\n\n var r = key | 0,\n c1 = 52845,\n c2 = 22719,\n i,\n j;\n\n for (i = 0; i < discardNumber; i++) {\n r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n var count = data.length - discardNumber;\n var decrypted = new Uint8Array(count);\n\n for (i = discardNumber, j = 0; j < count; i++, j++) {\n var value = data[i];\n decrypted[j] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n\n return decrypted;\n }\n\n function decryptAscii(data, key, discardNumber) {\n var r = key | 0,\n c1 = 52845,\n c2 = 22719;\n var count = data.length,\n maybeLength = count >>> 1;\n var decrypted = new Uint8Array(maybeLength);\n var i, j;\n\n for (i = 0, j = 0; i < count; i++) {\n var digit1 = data[i];\n\n if (!isHexDigit(digit1)) {\n continue;\n }\n\n i++;\n var digit2;\n\n while (i < count && !isHexDigit(digit2 = data[i])) {\n i++;\n }\n\n if (i < count) {\n var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n decrypted[j++] = value ^ r >> 8;\n r = (value + r) * c1 + c2 & (1 << 16) - 1;\n }\n }\n\n return 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\nexports.Type1Parser = Type1Parser;\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTilingPatternIR = getTilingPatternIR;\nexports.Pattern = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar ShadingType = {\n FUNCTION_BASED: 1,\n AXIAL: 2,\n RADIAL: 3,\n FREE_FORM_MESH: 4,\n LATTICE_FORM_MESH: 5,\n COONS_PATCH_MESH: 6,\n TENSOR_PATCH_MESH: 7\n};\n\nvar Pattern = function PatternClosure() {\n function Pattern() {\n (0, _util.unreachable)(\"should not call Pattern constructor\");\n }\n\n Pattern.prototype = {\n getPattern: function Pattern_getPattern(ctx) {\n (0, _util.unreachable)(\"Should not call Pattern.getStyle: \".concat(ctx));\n }\n };\n\n Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory, 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\nexports.Pattern = Pattern;\nvar Shadings = {};\nShadings.SMALL_NUMBER = 1e-6;\n\nShadings.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\nShadings.Mesh = function MeshClosure() {\n function MeshStreamReader(stream, context) {\n this.stream = stream;\n this.context = context;\n this.buffer = 0;\n this.bufferLength = 0;\n var numComps = context.numComps;\n this.tmpCompsBuf = new Float32Array(numComps);\n var csNumComps = context.colorSpace.numComps;\n this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n }\n\n MeshStreamReader.prototype = {\n get hasData() {\n if (this.stream.end) {\n return this.stream.pos < this.stream.end;\n }\n\n if (this.bufferLength > 0) {\n return true;\n }\n\n var nextByte = this.stream.getByte();\n\n if (nextByte < 0) {\n return false;\n }\n\n this.buffer = nextByte;\n this.bufferLength = 8;\n return true;\n },\n\n readBits: function MeshStreamReader_readBits(n) {\n var buffer = this.buffer;\n var bufferLength = this.bufferLength;\n\n if (n === 32) {\n if (bufferLength === 0) {\n return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n }\n\n buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n var nextByte = this.stream.getByte();\n this.buffer = nextByte & (1 << bufferLength) - 1;\n return (buffer << 8 - bufferLength | (nextByte & 0xff) >> bufferLength) >>> 0;\n }\n\n if (n === 8 && bufferLength === 0) {\n return this.stream.getByte();\n }\n\n while (bufferLength < n) {\n buffer = buffer << 8 | this.stream.getByte();\n bufferLength += 8;\n }\n\n bufferLength -= n;\n this.bufferLength = bufferLength;\n this.buffer = buffer & (1 << bufferLength) - 1;\n return buffer >> bufferLength;\n },\n align: function MeshStreamReader_align() {\n this.buffer = 0;\n this.bufferLength = 0;\n },\n readFlag: function MeshStreamReader_readFlag() {\n return this.readBits(this.context.bitsPerFlag);\n },\n readCoordinate: function MeshStreamReader_readCoordinate() {\n var bitsPerCoordinate = this.context.bitsPerCoordinate;\n var xi = this.readBits(bitsPerCoordinate);\n var yi = this.readBits(bitsPerCoordinate);\n var decode = this.context.decode;\n var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n },\n readComponents: function MeshStreamReader_readComponents() {\n var numComps = this.context.numComps;\n var bitsPerComponent = this.context.bitsPerComponent;\n var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n var decode = this.context.decode;\n var components = this.tmpCompsBuf;\n\n for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n var ci = this.readBits(bitsPerComponent);\n components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n }\n\n var color = this.tmpCsCompsBuf;\n\n if (this.context.colorFn) {\n this.context.colorFn(components, 0, color, 0);\n }\n\n return this.context.colorSpace.getRgb(color, 0);\n }\n };\n\n function decodeType4Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var operators = [];\n var ps = [];\n var verticesLeft = 0;\n\n while (reader.hasData) {\n var f = reader.readFlag();\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n\n if (verticesLeft === 0) {\n if (!(0 <= f && f <= 2)) {\n throw new _util.FormatError(\"Unknown type4 flag\");\n }\n\n switch (f) {\n case 0:\n verticesLeft = 3;\n break;\n\n case 1:\n ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n\n case 2:\n ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n verticesLeft = 1;\n break;\n }\n\n operators.push(f);\n }\n\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n verticesLeft--;\n reader.align();\n }\n\n mesh.figures.push({\n type: \"triangles\",\n coords: new Int32Array(ps),\n colors: new Int32Array(ps)\n });\n }\n\n function decodeType5Shading(mesh, reader, verticesPerRow) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = [];\n\n while (reader.hasData) {\n var coord = reader.readCoordinate();\n var color = reader.readComponents();\n ps.push(coords.length);\n coords.push(coord);\n colors.push(color);\n }\n\n mesh.figures.push({\n type: \"lattice\",\n coords: new Int32Array(ps),\n colors: new Int32Array(ps),\n verticesPerRow: verticesPerRow\n });\n }\n\n var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n var TRIANGLE_DENSITY = 20;\n\n var getB = function getBClosure() {\n function buildB(count) {\n var lut = [];\n\n for (var i = 0; i <= count; i++) {\n var t = i / count,\n t_ = 1 - t;\n lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));\n }\n\n return lut;\n }\n\n var cache = [];\n return function getB(count) {\n if (!cache[count]) {\n cache[count] = buildB(count);\n }\n\n return cache[count];\n };\n }();\n\n function buildFigureFromPatch(mesh, index) {\n var figure = mesh.figures[index];\n (0, _util.assert)(figure.type === \"patch\", \"Unexpected patch mesh figure\");\n var coords = mesh.coords,\n colors = mesh.colors;\n var pi = figure.coords;\n var ci = figure.colors;\n var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));\n splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));\n splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n var verticesPerRow = splitXBy + 1;\n var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n var k = 0;\n var cl = new Uint8Array(3),\n cr = new Uint8Array(3);\n var c0 = colors[ci[0]],\n c1 = colors[ci[1]],\n c2 = colors[ci[2]],\n c3 = colors[ci[3]];\n var bRow = getB(splitYBy),\n bCol = getB(splitXBy);\n\n for (var row = 0; row <= splitYBy; row++) {\n cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n\n for (var col = 0; col <= splitXBy; col++, k++) {\n if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n continue;\n }\n\n var x = 0,\n y = 0;\n var q = 0;\n\n for (var i = 0; i <= 3; i++) {\n for (var j = 0; j <= 3; j++, q++) {\n var m = bRow[row][i] * bCol[col][j];\n x += coords[pi[q]][0] * m;\n y += coords[pi[q]][1] * m;\n }\n }\n\n figureCoords[k] = coords.length;\n coords.push([x, y]);\n figureColors[k] = colors.length;\n var newColor = new Uint8Array(3);\n newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n colors.push(newColor);\n }\n }\n\n figureCoords[0] = pi[0];\n figureColors[0] = ci[0];\n figureCoords[splitXBy] = pi[3];\n figureColors[splitXBy] = ci[1];\n figureCoords[verticesPerRow * splitYBy] = pi[12];\n figureColors[verticesPerRow * splitYBy] = ci[2];\n figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n mesh.figures[index] = {\n type: \"lattice\",\n coords: figureCoords,\n colors: figureColors,\n verticesPerRow: verticesPerRow\n };\n }\n\n function decodeType6Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError(\"Unknown type6 flag\");\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n ps[5] = coords.length;\n coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n ps[6] = coords.length;\n coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n ps[9] = coords.length;\n coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n ps[10] = coords.length;\n coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n mesh.figures.push({\n type: \"patch\",\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function decodeType7Shading(mesh, reader) {\n var coords = mesh.coords;\n var colors = mesh.colors;\n var ps = new Int32Array(16);\n var cs = new Int32Array(4);\n\n while (reader.hasData) {\n var f = reader.readFlag();\n\n if (!(0 <= f && f <= 3)) {\n throw new _util.FormatError(\"Unknown type7 flag\");\n }\n\n var i, ii;\n var pi = coords.length;\n\n for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n coords.push(reader.readCoordinate());\n }\n\n var ci = colors.length;\n\n for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n colors.push(reader.readComponents());\n }\n\n var tmp1, tmp2, tmp3, tmp4;\n\n switch (f) {\n case 0:\n ps[12] = pi + 3;\n ps[13] = pi + 4;\n ps[14] = pi + 5;\n ps[15] = pi + 6;\n ps[8] = pi + 2;\n ps[9] = pi + 13;\n ps[10] = pi + 14;\n ps[11] = pi + 7;\n ps[4] = pi + 1;\n ps[5] = pi + 12;\n ps[6] = pi + 15;\n ps[7] = pi + 8;\n ps[0] = pi;\n ps[1] = pi + 11;\n ps[2] = pi + 10;\n ps[3] = pi + 9;\n cs[2] = ci + 1;\n cs[3] = ci + 2;\n cs[0] = ci;\n cs[1] = ci + 3;\n break;\n\n case 1:\n tmp1 = ps[12];\n tmp2 = ps[13];\n tmp3 = ps[14];\n tmp4 = ps[15];\n ps[12] = tmp4;\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = tmp3;\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[2];\n tmp2 = cs[3];\n cs[2] = tmp2;\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 2:\n tmp1 = ps[15];\n tmp2 = ps[11];\n ps[12] = ps[3];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[7];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = tmp2;\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = tmp1;\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n tmp1 = cs[3];\n cs[2] = cs[1];\n cs[3] = ci;\n cs[0] = tmp1;\n cs[1] = ci + 1;\n break;\n\n case 3:\n ps[12] = ps[0];\n ps[13] = pi + 0;\n ps[14] = pi + 1;\n ps[15] = pi + 2;\n ps[8] = ps[1];\n ps[9] = pi + 9;\n ps[10] = pi + 10;\n ps[11] = pi + 3;\n ps[4] = ps[2];\n ps[5] = pi + 8;\n ps[6] = pi + 11;\n ps[7] = pi + 4;\n ps[0] = ps[3];\n ps[1] = pi + 7;\n ps[2] = pi + 6;\n ps[3] = pi + 5;\n cs[2] = cs[0];\n cs[3] = ci;\n cs[0] = cs[1];\n cs[1] = ci + 1;\n break;\n }\n\n mesh.figures.push({\n type: \"patch\",\n coords: new Int32Array(ps),\n colors: new Int32Array(cs)\n });\n }\n }\n\n function updateBounds(mesh) {\n var minX = mesh.coords[0][0],\n minY = mesh.coords[0][1],\n maxX = minX,\n maxY = minY;\n\n for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n var x = mesh.coords[i][0],\n y = mesh.coords[i][1];\n minX = minX > x ? x : minX;\n minY = minY > y ? y : minY;\n maxX = maxX < x ? x : maxX;\n maxY = maxY < y ? y : maxY;\n }\n\n mesh.bounds = [minX, minY, maxX, maxY];\n }\n\n function packData(mesh) {\n var i, ii, j, jj;\n var coords = mesh.coords;\n var coordsPacked = new Float32Array(coords.length * 2);\n\n for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n var xy = coords[i];\n coordsPacked[j++] = xy[0];\n coordsPacked[j++] = xy[1];\n }\n\n mesh.coords = coordsPacked;\n var colors = mesh.colors;\n var colorsPacked = new Uint8Array(colors.length * 3);\n\n for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n var c = colors[i];\n colorsPacked[j++] = c[0];\n colorsPacked[j++] = c[1];\n colorsPacked[j++] = c[2];\n }\n\n mesh.colors = colorsPacked;\n var figures = mesh.figures;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n for (j = 0, jj = ps.length; j < jj; j++) {\n ps[j] *= 2;\n cs[j] *= 3;\n }\n }\n }\n\n function Mesh(stream, matrix, xref, 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\nShadings.Dummy = function DummyClosure() {\n function Dummy() {\n this.type = \"Pattern\";\n }\n\n Dummy.prototype = {\n getIR: function Dummy_getIR() {\n return [\"Dummy\"];\n }\n };\n return Dummy;\n}();\n\nfunction getTilingPatternIR(operatorList, dict, args) {\n var matrix = dict.getArray(\"Matrix\");\n\n var bbox = _util.Util.normalizeRect(dict.getArray(\"BBox\"));\n\n var xstep = dict.get(\"XStep\");\n var ystep = dict.get(\"YStep\");\n var paintType = dict.get(\"PaintType\");\n var tilingType = dict.get(\"TilingType\");\n\n if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n throw new _util.FormatError(\"Invalid getTilingPatternIR /BBox array: [\".concat(bbox, \"].\"));\n }\n\n return [\"TilingPattern\", args, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n}\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPDFFunction = isPDFFunction;\nexports.PostScriptCompiler = exports.PostScriptEvaluator = exports.PDFFunctionFactory = void 0;\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _ps_parser = __w_pdfjs_require__(238);\n\nvar _image_utils = __w_pdfjs_require__(221);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFFunctionFactory = /*#__PURE__*/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\nexports.PDFFunctionFactory = PDFFunctionFactory;\n\nfunction toNumberArray(arr) {\n if (!Array.isArray(arr)) {\n return null;\n }\n\n var length = arr.length;\n\n for (var i = 0; i < length; i++) {\n if (typeof arr[i] !== \"number\") {\n var result = new Array(length);\n\n for (var j = 0; j < length; j++) {\n result[j] = +arr[j];\n }\n\n return result;\n }\n }\n\n return arr;\n}\n\nvar PDFFunction = function PDFFunctionClosure() {\n var CONSTRUCT_SAMPLED = 0;\n var CONSTRUCT_INTERPOLATED = 2;\n var CONSTRUCT_STICHED = 3;\n var CONSTRUCT_POSTSCRIPT = 4;\n return {\n getSampleArray: function getSampleArray(size, outputSize, bps, stream) {\n var i, ii;\n var length = 1;\n\n for (i = 0, ii = size.length; i < ii; i++) {\n length *= size[i];\n }\n\n length *= outputSize;\n var array = new Array(length);\n var codeSize = 0;\n var codeBuf = 0;\n var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);\n var strBytes = stream.getBytes((length * bps + 7) / 8);\n var strIdx = 0;\n\n for (i = 0; i < length; i++) {\n while (codeSize < bps) {\n codeBuf <<= 8;\n codeBuf |= strBytes[strIdx++];\n codeSize += 8;\n }\n\n codeSize -= bps;\n array[i] = (codeBuf >> codeSize) * sampleMul;\n codeBuf &= (1 << codeSize) - 1;\n }\n\n return array;\n },\n getIR: function getIR(_ref2) {\n var xref = _ref2.xref,\n isEvalSupported = _ref2.isEvalSupported,\n fn = _ref2.fn;\n var dict = fn.dict;\n\n if (!dict) {\n dict = fn;\n }\n\n var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];\n var typeNum = dict.get(\"FunctionType\");\n var typeFn = types[typeNum];\n\n if (!typeFn) {\n throw new _util.FormatError(\"Unknown type of function\");\n }\n\n return typeFn.call(this, {\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn,\n dict: dict\n });\n },\n fromIR: function fromIR(_ref3) {\n var xref = _ref3.xref,\n isEvalSupported = _ref3.isEvalSupported,\n IR = _ref3.IR;\n var type = IR[0];\n\n switch (type) {\n case CONSTRUCT_SAMPLED:\n return this.constructSampledFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_INTERPOLATED:\n return this.constructInterpolatedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n case CONSTRUCT_STICHED:\n return this.constructStichedFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n\n default:\n return this.constructPostScriptFromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n }\n },\n parse: function parse(_ref4) {\n var xref = _ref4.xref,\n isEvalSupported = _ref4.isEvalSupported,\n fn = _ref4.fn;\n var IR = this.getIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fn\n });\n return this.fromIR({\n xref: xref,\n isEvalSupported: isEvalSupported,\n IR: IR\n });\n },\n parseArray: function parseArray(_ref5) {\n var xref = _ref5.xref,\n isEvalSupported = _ref5.isEvalSupported,\n fnObj = _ref5.fnObj;\n\n if (!Array.isArray(fnObj)) {\n return this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: fnObj\n });\n }\n\n var fnArray = [];\n\n for (var j = 0, jj = fnObj.length; j < jj; j++) {\n fnArray.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnObj[j])\n }));\n }\n\n return function (src, srcOffset, dest, destOffset) {\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n fnArray[i](src, srcOffset, dest, destOffset + i);\n }\n };\n },\n constructSampled: function constructSampled(_ref6) {\n var xref = _ref6.xref,\n isEvalSupported = _ref6.isEvalSupported,\n fn = _ref6.fn,\n dict = _ref6.dict;\n\n function toMultiArray(arr) {\n var inputLength = arr.length;\n var out = [];\n var index = 0;\n\n for (var i = 0; i < inputLength; i += 2) {\n out[index] = [arr[i], arr[i + 1]];\n ++index;\n }\n\n return out;\n }\n\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n var range = toNumberArray(dict.getArray(\"Range\"));\n\n if (!domain || !range) {\n throw new _util.FormatError(\"No domain or range\");\n }\n\n var inputSize = domain.length / 2;\n var outputSize = range.length / 2;\n domain = toMultiArray(domain);\n range = toMultiArray(range);\n var size = toNumberArray(dict.getArray(\"Size\"));\n var bps = dict.get(\"BitsPerSample\");\n var order = dict.get(\"Order\") || 1;\n\n if (order !== 1) {\n (0, _util.info)(\"No support for cubic spline interpolation: \" + order);\n }\n\n var encode = toNumberArray(dict.getArray(\"Encode\"));\n\n if (!encode) {\n encode = [];\n\n for (var i = 0; i < inputSize; ++i) {\n encode.push([0, size[i] - 1]);\n }\n } else {\n encode = toMultiArray(encode);\n }\n\n var decode = toNumberArray(dict.getArray(\"Decode\"));\n\n if (!decode) {\n decode = range;\n } else {\n decode = toMultiArray(decode);\n }\n\n var samples = this.getSampleArray(size, outputSize, bps, fn);\n return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, bps) - 1, range];\n },\n constructSampledFromIR: function constructSampledFromIR(_ref7) {\n var xref = _ref7.xref,\n isEvalSupported = _ref7.isEvalSupported,\n IR = _ref7.IR;\n\n function interpolate(x, xmin, xmax, ymin, ymax) {\n return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n }\n\n return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {\n var m = IR[1];\n var domain = IR[2];\n var encode = IR[3];\n var decode = IR[4];\n var samples = IR[5];\n var size = IR[6];\n var n = IR[7];\n var range = IR[9];\n var cubeVertices = 1 << m;\n var cubeN = new Float64Array(cubeVertices);\n var cubeVertex = new Uint32Array(cubeVertices);\n var i, j;\n\n for (j = 0; j < cubeVertices; j++) {\n cubeN[j] = 1;\n }\n\n var k = n,\n pos = 1;\n\n for (i = 0; i < m; ++i) {\n var domain_2i = domain[i][0];\n var domain_2i_1 = domain[i][1];\n var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n var size_i = size[i];\n e = Math.min(Math.max(e, 0), size_i - 1);\n var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n var n0 = e0 + 1 - e;\n var n1 = e - e0;\n var offset0 = e0 * k;\n var offset1 = offset0 + k;\n\n for (j = 0; j < cubeVertices; j++) {\n if (j & pos) {\n cubeN[j] *= n1;\n cubeVertex[j] += offset1;\n } else {\n cubeN[j] *= n0;\n cubeVertex[j] += offset0;\n }\n }\n\n k *= size_i;\n pos <<= 1;\n }\n\n for (j = 0; j < n; ++j) {\n var rj = 0;\n\n for (i = 0; i < cubeVertices; i++) {\n rj += samples[cubeVertex[i] + j] * cubeN[i];\n }\n\n rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n }\n };\n },\n constructInterpolated: function constructInterpolated(_ref8) {\n var xref = _ref8.xref,\n isEvalSupported = _ref8.isEvalSupported,\n fn = _ref8.fn,\n dict = _ref8.dict;\n var c0 = toNumberArray(dict.getArray(\"C0\")) || [0];\n var c1 = toNumberArray(dict.getArray(\"C1\")) || [1];\n var n = dict.get(\"N\");\n var length = c0.length;\n var diff = [];\n\n for (var i = 0; i < length; ++i) {\n diff.push(c1[i] - c0[i]);\n }\n\n return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n },\n constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref9) {\n var xref = _ref9.xref,\n isEvalSupported = _ref9.isEvalSupported,\n IR = _ref9.IR;\n var c0 = IR[1];\n var diff = IR[2];\n var n = IR[3];\n var length = diff.length;\n return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {\n var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);\n\n for (var j = 0; j < length; ++j) {\n dest[destOffset + j] = c0[j] + x * diff[j];\n }\n };\n },\n constructStiched: function constructStiched(_ref10) {\n var xref = _ref10.xref,\n isEvalSupported = _ref10.isEvalSupported,\n fn = _ref10.fn,\n dict = _ref10.dict;\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n\n if (!domain) {\n throw new _util.FormatError(\"No domain\");\n }\n\n var inputSize = domain.length / 2;\n\n if (inputSize !== 1) {\n throw new _util.FormatError(\"Bad domain for stiched function\");\n }\n\n var fnRefs = dict.get(\"Functions\");\n var fns = [];\n\n for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n fns.push(this.parse({\n xref: xref,\n isEvalSupported: isEvalSupported,\n fn: xref.fetchIfRef(fnRefs[i])\n }));\n }\n\n var bounds = toNumberArray(dict.getArray(\"Bounds\"));\n var encode = toNumberArray(dict.getArray(\"Encode\"));\n return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n },\n constructStichedFromIR: function constructStichedFromIR(_ref11) {\n var xref = _ref11.xref,\n isEvalSupported = _ref11.isEvalSupported,\n IR = _ref11.IR;\n var domain = IR[1];\n var bounds = IR[2];\n var encode = IR[3];\n var fns = IR[4];\n var tmpBuf = new Float32Array(1);\n return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {\n var clip = function constructStichedFromIRClip(v, min, max) {\n if (v > max) {\n v = max;\n } else if (v < min) {\n v = min;\n }\n\n return v;\n };\n\n var v = clip(src[srcOffset], domain[0], domain[1]);\n\n for (var i = 0, ii = bounds.length; i < ii; ++i) {\n if (v < bounds[i]) {\n break;\n }\n }\n\n var dmin = domain[0];\n\n if (i > 0) {\n dmin = bounds[i - 1];\n }\n\n var dmax = domain[1];\n\n if (i < bounds.length) {\n dmax = bounds[i];\n }\n\n var rmin = encode[2 * i];\n var rmax = encode[2 * i + 1];\n tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n fns[i](tmpBuf, 0, dest, destOffset);\n };\n },\n constructPostScript: function constructPostScript(_ref12) {\n var xref = _ref12.xref,\n isEvalSupported = _ref12.isEvalSupported,\n fn = _ref12.fn,\n dict = _ref12.dict;\n var domain = toNumberArray(dict.getArray(\"Domain\"));\n var range = toNumberArray(dict.getArray(\"Range\"));\n\n if (!domain) {\n throw new _util.FormatError(\"No domain.\");\n }\n\n if (!range) {\n throw new _util.FormatError(\"No range.\");\n }\n\n var lexer = new _ps_parser.PostScriptLexer(fn);\n var parser = new _ps_parser.PostScriptParser(lexer);\n var code = parser.parse();\n return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n },\n constructPostScriptFromIR: function constructPostScriptFromIR(_ref13) {\n var xref = _ref13.xref,\n isEvalSupported = _ref13.isEvalSupported,\n IR = _ref13.IR;\n var domain = IR[1];\n var range = IR[2];\n var code = IR[3];\n\n if (isEvalSupported && _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\nfunction isPDFFunction(v) {\n var fnDict;\n\n if (_typeof(v) !== \"object\") {\n return false;\n } else if ((0, _primitives.isDict)(v)) {\n fnDict = v;\n } else if ((0, _primitives.isStream)(v)) {\n fnDict = v.dict;\n } else {\n return false;\n }\n\n return fnDict.has(\"FunctionType\");\n}\n\nvar PostScriptStack = function PostScriptStackClosure() {\n var MAX_STACK_SIZE = 100;\n\n function PostScriptStack(initialStack) {\n this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);\n }\n\n PostScriptStack.prototype = {\n push: function PostScriptStack_push(value) {\n if (this.stack.length >= MAX_STACK_SIZE) {\n throw new Error(\"PostScript function stack overflow.\");\n }\n\n this.stack.push(value);\n },\n pop: function PostScriptStack_pop() {\n if (this.stack.length <= 0) {\n throw new Error(\"PostScript function stack underflow.\");\n }\n\n return this.stack.pop();\n },\n copy: function PostScriptStack_copy(n) {\n if (this.stack.length + n >= MAX_STACK_SIZE) {\n throw new Error(\"PostScript function stack overflow.\");\n }\n\n var stack = this.stack;\n\n for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n stack.push(stack[i]);\n }\n },\n index: function PostScriptStack_index(n) {\n this.push(this.stack[this.stack.length - n - 1]);\n },\n roll: function PostScriptStack_roll(n, p) {\n var stack = this.stack;\n var l = stack.length - n;\n var r = stack.length - 1,\n c = l + (p - Math.floor(p / n) * n),\n i,\n j,\n t;\n\n for (i = l, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = l, j = c - 1; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n\n for (i = c, j = r; i < j; i++, j--) {\n t = stack[i];\n stack[i] = stack[j];\n stack[j] = t;\n }\n }\n };\n return PostScriptStack;\n}();\n\nvar PostScriptEvaluator = function PostScriptEvaluatorClosure() {\n function PostScriptEvaluator(operators) {\n this.operators = operators;\n }\n\n PostScriptEvaluator.prototype = {\n execute: function PostScriptEvaluator_execute(initialStack) {\n var stack = new PostScriptStack(initialStack);\n var counter = 0;\n var operators = this.operators;\n var length = operators.length;\n var operator, a, b;\n\n while (counter < length) {\n operator = operators[counter++];\n\n if (typeof operator === \"number\") {\n stack.push(operator);\n continue;\n }\n\n switch (operator) {\n case \"jz\":\n b = stack.pop();\n a = stack.pop();\n\n if (!a) {\n counter = b;\n }\n\n break;\n\n case \"j\":\n a = stack.pop();\n counter = a;\n break;\n\n case \"abs\":\n a = stack.pop();\n stack.push(Math.abs(a));\n break;\n\n case \"add\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a + b);\n break;\n\n case \"and\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a && b);\n } else {\n stack.push(a & b);\n }\n\n break;\n\n case \"atan\":\n a = stack.pop();\n stack.push(Math.atan(a));\n break;\n\n case \"bitshift\":\n b = stack.pop();\n a = stack.pop();\n\n if (a > 0) {\n stack.push(a << b);\n } else {\n stack.push(a >> b);\n }\n\n break;\n\n case \"ceiling\":\n a = stack.pop();\n stack.push(Math.ceil(a));\n break;\n\n case \"copy\":\n a = stack.pop();\n stack.copy(a);\n break;\n\n case \"cos\":\n a = stack.pop();\n stack.push(Math.cos(a));\n break;\n\n case \"cvi\":\n a = stack.pop() | 0;\n stack.push(a);\n break;\n\n case \"cvr\":\n break;\n\n case \"div\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b);\n break;\n\n case \"dup\":\n stack.copy(1);\n break;\n\n case \"eq\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a === b);\n break;\n\n case \"exch\":\n stack.roll(2, 1);\n break;\n\n case \"exp\":\n b = stack.pop();\n a = stack.pop();\n stack.push(Math.pow(a, b));\n break;\n\n case \"false\":\n stack.push(false);\n break;\n\n case \"floor\":\n a = stack.pop();\n stack.push(Math.floor(a));\n break;\n\n case \"ge\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a >= b);\n break;\n\n case \"gt\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a > b);\n break;\n\n case \"idiv\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a / b | 0);\n break;\n\n case \"index\":\n a = stack.pop();\n stack.index(a);\n break;\n\n case \"le\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a <= b);\n break;\n\n case \"ln\":\n a = stack.pop();\n stack.push(Math.log(a));\n break;\n\n case \"log\":\n a = stack.pop();\n stack.push(Math.log(a) / Math.LN10);\n break;\n\n case \"lt\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a < b);\n break;\n\n case \"mod\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a % b);\n break;\n\n case \"mul\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a * b);\n break;\n\n case \"ne\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a !== b);\n break;\n\n case \"neg\":\n a = stack.pop();\n stack.push(-a);\n break;\n\n case \"not\":\n a = stack.pop();\n\n if ((0, _util.isBool)(a)) {\n stack.push(!a);\n } else {\n stack.push(~a);\n }\n\n break;\n\n case \"or\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a || b);\n } else {\n stack.push(a | b);\n }\n\n break;\n\n case \"pop\":\n stack.pop();\n break;\n\n case \"roll\":\n b = stack.pop();\n a = stack.pop();\n stack.roll(a, b);\n break;\n\n case \"round\":\n a = stack.pop();\n stack.push(Math.round(a));\n break;\n\n case \"sin\":\n a = stack.pop();\n stack.push(Math.sin(a));\n break;\n\n case \"sqrt\":\n a = stack.pop();\n stack.push(Math.sqrt(a));\n break;\n\n case \"sub\":\n b = stack.pop();\n a = stack.pop();\n stack.push(a - b);\n break;\n\n case \"true\":\n stack.push(true);\n break;\n\n case \"truncate\":\n a = stack.pop();\n a = a < 0 ? Math.ceil(a) : Math.floor(a);\n stack.push(a);\n break;\n\n case \"xor\":\n b = stack.pop();\n a = stack.pop();\n\n if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n stack.push(a !== b);\n } else {\n stack.push(a ^ b);\n }\n\n break;\n\n default:\n throw new _util.FormatError(\"Unknown operator \".concat(operator));\n }\n }\n\n return stack.stack;\n }\n };\n return PostScriptEvaluator;\n}();\n\nexports.PostScriptEvaluator = PostScriptEvaluator;\n\nvar PostScriptCompiler = function PostScriptCompilerClosure() {\n function AstNode(type) {\n this.type = type;\n }\n\n AstNode.prototype.visit = function (visitor) {\n (0, _util.unreachable)(\"abstract method\");\n };\n\n function AstArgument(index, min, max) {\n AstNode.call(this, \"args\");\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstArgument.prototype = Object.create(AstNode.prototype);\n\n AstArgument.prototype.visit = function (visitor) {\n visitor.visitArgument(this);\n };\n\n function AstLiteral(number) {\n AstNode.call(this, \"literal\");\n this.number = number;\n this.min = number;\n this.max = number;\n }\n\n AstLiteral.prototype = Object.create(AstNode.prototype);\n\n AstLiteral.prototype.visit = function (visitor) {\n visitor.visitLiteral(this);\n };\n\n function AstBinaryOperation(op, arg1, arg2, min, max) {\n AstNode.call(this, \"binary\");\n this.op = op;\n this.arg1 = arg1;\n this.arg2 = arg2;\n this.min = min;\n this.max = max;\n }\n\n AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n\n AstBinaryOperation.prototype.visit = function (visitor) {\n visitor.visitBinaryOperation(this);\n };\n\n function AstMin(arg, max) {\n AstNode.call(this, \"max\");\n this.arg = arg;\n this.min = arg.min;\n this.max = max;\n }\n\n AstMin.prototype = Object.create(AstNode.prototype);\n\n AstMin.prototype.visit = function (visitor) {\n visitor.visitMin(this);\n };\n\n function AstVariable(index, min, max) {\n AstNode.call(this, \"var\");\n this.index = index;\n this.min = min;\n this.max = max;\n }\n\n AstVariable.prototype = Object.create(AstNode.prototype);\n\n AstVariable.prototype.visit = function (visitor) {\n visitor.visitVariable(this);\n };\n\n function AstVariableDefinition(variable, arg) {\n AstNode.call(this, \"definition\");\n this.variable = variable;\n this.arg = arg;\n }\n\n AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n\n AstVariableDefinition.prototype.visit = function (visitor) {\n visitor.visitVariableDefinition(this);\n };\n\n function ExpressionBuilderVisitor() {\n this.parts = [];\n }\n\n ExpressionBuilderVisitor.prototype = {\n visitArgument: function visitArgument(arg) {\n this.parts.push(\"Math.max(\", arg.min, \", Math.min(\", arg.max, \", src[srcOffset + \", arg.index, \"]))\");\n },\n visitVariable: function visitVariable(variable) {\n this.parts.push(\"v\", variable.index);\n },\n visitLiteral: function visitLiteral(literal) {\n this.parts.push(literal.number);\n },\n visitBinaryOperation: function visitBinaryOperation(operation) {\n this.parts.push(\"(\");\n operation.arg1.visit(this);\n this.parts.push(\" \", operation.op, \" \");\n operation.arg2.visit(this);\n this.parts.push(\")\");\n },\n visitVariableDefinition: function visitVariableDefinition(definition) {\n this.parts.push(\"var \");\n definition.variable.visit(this);\n this.parts.push(\" = \");\n definition.arg.visit(this);\n this.parts.push(\";\");\n },\n visitMin: function visitMin(max) {\n this.parts.push(\"Math.min(\");\n max.arg.visit(this);\n this.parts.push(\", \", max.max, \")\");\n },\n toString: function toString() {\n return this.parts.join(\"\");\n }\n };\n\n function buildAddOperation(num1, num2) {\n if (num2.type === \"literal\" && num2.number === 0) {\n return num1;\n }\n\n if (num1.type === \"literal\" && num1.number === 0) {\n return num2;\n }\n\n if (num2.type === \"literal\" && num1.type === \"literal\") {\n return new AstLiteral(num1.number + num2.number);\n }\n\n return new AstBinaryOperation(\"+\", num1, num2, num1.min + num2.min, num1.max + num2.max);\n }\n\n function buildMulOperation(num1, num2) {\n if (num2.type === \"literal\") {\n if (num2.number === 0) {\n return new AstLiteral(0);\n } else if (num2.number === 1) {\n return num1;\n } else if (num1.type === \"literal\") {\n return new AstLiteral(num1.number * num2.number);\n }\n }\n\n if (num1.type === \"literal\") {\n if (num1.number === 0) {\n return new AstLiteral(0);\n } else if (num1.number === 1) {\n return num2;\n }\n }\n\n var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n return new AstBinaryOperation(\"*\", num1, num2, min, max);\n }\n\n function buildSubOperation(num1, num2) {\n if (num2.type === \"literal\") {\n if (num2.number === 0) {\n return num1;\n } else if (num1.type === \"literal\") {\n return new AstLiteral(num1.number - num2.number);\n }\n }\n\n if (num2.type === \"binary\" && num2.op === \"-\" && num1.type === \"literal\" && num1.number === 1 && num2.arg1.type === \"literal\" && num2.arg1.number === 1) {\n return num2.arg2;\n }\n\n return new AstBinaryOperation(\"-\", num1, num2, num1.min - num2.max, num1.max - num2.min);\n }\n\n function buildMinOperation(num1, max) {\n if (num1.min >= max) {\n return new AstLiteral(max);\n } else if (num1.max <= max) {\n return num1;\n }\n\n return new AstMin(num1, max);\n }\n\n function PostScriptCompiler() {}\n\n PostScriptCompiler.prototype = {\n compile: function PostScriptCompiler_compile(code, domain, range) {\n var stack = [];\n var 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\nexports.PostScriptCompiler = PostScriptCompiler;\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PostScriptParser = exports.PostScriptLexer = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PostScriptParser = /*#__PURE__*/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\nexports.PostScriptParser = PostScriptParser;\nvar PostScriptTokenTypes = {\n LBRACE: 0,\n RBRACE: 1,\n NUMBER: 2,\n OPERATOR: 3,\n IF: 4,\n IFELSE: 5\n};\n\nvar PostScriptToken = function PostScriptTokenClosure() {\n var opCache = Object.create(null);\n\n var PostScriptToken = /*#__PURE__*/function () {\n function PostScriptToken(type, value) {\n _classCallCheck(this, PostScriptToken);\n\n this.type = type;\n this.value = value;\n }\n\n _createClass(PostScriptToken, null, [{\n key: \"getOperator\",\n value: function getOperator(op) {\n var opValue = opCache[op];\n\n if (opValue) {\n return opValue;\n }\n\n return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n }\n }, {\n key: \"LBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, \"LBRACE\", new PostScriptToken(PostScriptTokenTypes.LBRACE, \"{\"));\n }\n }, {\n key: \"RBRACE\",\n get: function get() {\n return (0, _util.shadow)(this, \"RBRACE\", new PostScriptToken(PostScriptTokenTypes.RBRACE, \"}\"));\n }\n }, {\n key: \"IF\",\n get: function get() {\n return (0, _util.shadow)(this, \"IF\", new PostScriptToken(PostScriptTokenTypes.IF, \"IF\"));\n }\n }, {\n key: \"IFELSE\",\n get: function get() {\n return (0, _util.shadow)(this, \"IFELSE\", new PostScriptToken(PostScriptTokenTypes.IFELSE, \"IFELSE\"));\n }\n }]);\n\n return PostScriptToken;\n }();\n\n return PostScriptToken;\n}();\n\nvar PostScriptLexer = /*#__PURE__*/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\nexports.PostScriptLexer = PostScriptLexer;\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bidi = bidi;\n\nvar _util = __w_pdfjs_require__(5);\n\nvar baseTypes = [\"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"S\", \"B\", \"S\", \"WS\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"B\", \"B\", \"S\", \"WS\", \"ON\", \"ON\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ES\", \"CS\", \"ES\", \"CS\", \"CS\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"CS\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"CS\", \"ON\", \"ET\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"ON\", \"ON\", \"BN\", \"ON\", \"ON\", \"ET\", \"ET\", \"EN\", \"EN\", \"ON\", \"L\", \"ON\", \"ON\", \"ON\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\"];\nvar arabicTypes = [\"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ON\", \"ON\", \"AL\", \"ET\", \"ET\", \"AL\", \"CS\", \"AL\", \"ON\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ET\", \"AN\", \"AN\", \"AL\", \"AL\", \"AL\", \"NSM\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\"];\n\nfunction isOdd(i) {\n return (i & 1) !== 0;\n}\n\nfunction isEven(i) {\n return (i & 1) === 0;\n}\n\nfunction findUnequal(arr, start, value) {\n for (var j = start, jj = arr.length; j < jj; ++j) {\n if (arr[j] !== value) {\n return j;\n }\n }\n\n return j;\n}\n\nfunction setValues(arr, start, end, value) {\n for (var j = start; j < end; ++j) {\n arr[j] = value;\n }\n}\n\nfunction reverseValues(arr, start, end) {\n for (var i = start, j = end - 1; i < j; ++i, --j) {\n var temp = arr[i];\n arr[i] = arr[j];\n arr[j] = temp;\n }\n}\n\nfunction createBidiText(str, isLTR) {\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\nvar chars = [];\nvar types = [];\n\nfunction bidi(str, startLevel, vertical) {\n var isLTR = true;\n var strLength = str.length;\n\n if (strLength === 0 || vertical) {\n return createBidiText(str, isLTR, vertical);\n }\n\n chars.length = strLength;\n types.length = strLength;\n var numBidi = 0;\n var i, ii;\n\n for (i = 0; i < strLength; ++i) {\n chars[i] = str.charAt(i);\n var charCode = str.charCodeAt(i);\n var charType = \"L\";\n\n if (charCode <= 0x00ff) {\n charType = baseTypes[charCode];\n } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n charType = \"R\";\n } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n charType = arabicTypes[charCode & 0xff];\n\n if (!charType) {\n (0, _util.warn)(\"Bidi: invalid Unicode character \" + charCode.toString(16));\n }\n } else if (0x0700 <= charCode && charCode <= 0x08ac) {\n charType = \"AL\";\n }\n\n if (charType === \"R\" || charType === \"AL\" || charType === \"AN\") {\n numBidi++;\n }\n\n types[i] = charType;\n }\n\n if (numBidi === 0) {\n isLTR = true;\n return createBidiText(str, isLTR);\n }\n\n if (startLevel === -1) {\n if (numBidi / strLength < 0.3) {\n isLTR = true;\n startLevel = 0;\n } else {\n isLTR = false;\n startLevel = 1;\n }\n }\n\n var levels = [];\n\n for (i = 0; i < strLength; ++i) {\n levels[i] = startLevel;\n }\n\n var e = isOdd(startLevel) ? \"R\" : \"L\";\n var sor = e;\n var eor = sor;\n var lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"NSM\") {\n types[i] = lastType;\n } else {\n lastType = types[i];\n }\n }\n\n lastType = sor;\n var t;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"EN\") {\n types[i] = lastType === \"AL\" ? \"AN\" : \"EN\";\n } else if (t === \"R\" || t === \"L\" || t === \"AL\") {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"AL\") {\n types[i] = \"R\";\n }\n }\n\n for (i = 1; i < strLength - 1; ++i) {\n if (types[i] === \"ES\" && types[i - 1] === \"EN\" && types[i + 1] === \"EN\") {\n types[i] = \"EN\";\n }\n\n if (types[i] === \"CS\" && (types[i - 1] === \"EN\" || types[i - 1] === \"AN\") && types[i + 1] === types[i - 1]) {\n types[i] = types[i - 1];\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"EN\") {\n var j;\n\n for (j = i - 1; j >= 0; --j) {\n if (types[j] !== \"ET\") {\n break;\n }\n\n types[j] = \"EN\";\n }\n\n for (j = i + 1; j < strLength; ++j) {\n if (types[j] !== \"ET\") {\n break;\n }\n\n types[j] = \"EN\";\n }\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"WS\" || t === \"ES\" || t === \"ET\" || t === \"CS\") {\n types[i] = \"ON\";\n }\n }\n\n lastType = sor;\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (t === \"EN\") {\n types[i] = lastType === \"L\" ? \"L\" : \"EN\";\n } else if (t === \"R\" || t === \"L\") {\n lastType = t;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"ON\") {\n var end = findUnequal(types, i + 1, \"ON\");\n var before = sor;\n\n if (i > 0) {\n before = types[i - 1];\n }\n\n var after = eor;\n\n if (end + 1 < strLength) {\n after = types[end + 1];\n }\n\n if (before !== \"L\") {\n before = \"R\";\n }\n\n if (after !== \"L\") {\n after = \"R\";\n }\n\n if (before === after) {\n setValues(types, i, end, before);\n }\n\n i = end - 1;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n if (types[i] === \"ON\") {\n types[i] = e;\n }\n }\n\n for (i = 0; i < strLength; ++i) {\n t = types[i];\n\n if (isEven(levels[i])) {\n if (t === \"R\") {\n levels[i] += 1;\n } else if (t === \"AN\" || t === \"EN\") {\n levels[i] += 2;\n }\n } else {\n if (t === \"L\" || t === \"AN\" || t === \"EN\") {\n levels[i] += 1;\n }\n }\n }\n\n var highestLevel = -1;\n var lowestOddLevel = 99;\n var level;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n level = levels[i];\n\n if (highestLevel < level) {\n highestLevel = level;\n }\n\n if (lowestOddLevel > level && isOdd(level)) {\n lowestOddLevel = level;\n }\n }\n\n for (level = highestLevel; level >= lowestOddLevel; --level) {\n var start = -1;\n\n for (i = 0, ii = levels.length; i < ii; ++i) {\n if (levels[i] < level) {\n if (start >= 0) {\n reverseValues(chars, start, i);\n start = -1;\n }\n } else if (start < 0) {\n start = i;\n }\n }\n\n if (start >= 0) {\n reverseValues(chars, start, levels.length);\n }\n }\n\n for (i = 0, ii = chars.length; i < ii; ++i) {\n var ch = chars[i];\n\n if (ch === \"<\" || ch === \">\") {\n chars[i] = \"\";\n }\n }\n\n return createBidiText(chars.join(\"\"), isLTR);\n}\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getMetrics = void 0;\n\nvar _core_utils = __w_pdfjs_require__(205);\n\nvar getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.Courier = 600;\n t[\"Courier-Bold\"] = 600;\n t[\"Courier-BoldOblique\"] = 600;\n t[\"Courier-Oblique\"] = 600;\n t.Helvetica = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 278;\n t.quotedbl = 355;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 667;\n t.quoteright = 222;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 556;\n t.at = 1015;\n t.A = 667;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 500;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 278;\n t.backslash = 278;\n t.bracketright = 278;\n t.asciicircum = 469;\n t.underscore = 556;\n t.quoteleft = 222;\n t.a = 556;\n t.b = 556;\n t.c = 500;\n t.d = 556;\n t.e = 556;\n t.f = 278;\n t.g = 556;\n t.h = 556;\n t.i = 222;\n t.j = 222;\n t.k = 500;\n t.l = 222;\n t.m = 833;\n t.n = 556;\n t.o = 556;\n t.p = 556;\n t.q = 556;\n t.r = 333;\n t.s = 500;\n t.t = 278;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 500;\n t.braceleft = 334;\n t.bar = 260;\n t.braceright = 334;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 191;\n t.quotedblleft = 333;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 537;\n t.bullet = 350;\n t.quotesinglbase = 222;\n t.quotedblbase = 333;\n t.quotedblright = 333;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 556;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 222;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 556;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 667;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 500;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 500;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 222;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 500;\n t.scedilla = 500;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 556;\n t.Amacron = 667;\n t.rcaron = 333;\n t.ccedilla = 500;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 643;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 584;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 500;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 260;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 333;\n t.omacron = 556;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 222;\n t.tcaron = 317;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 222;\n t.Oacute = 778;\n t.oacute = 556;\n t.amacron = 556;\n t.sacute = 500;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 556;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 299;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 556;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 556;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 556;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 556;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 556;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 556;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 500;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 584;\n t.odieresis = 556;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 556;\n t.eth = 556;\n t.zcaron = 500;\n t.ncommaaccent = 556;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 333;\n t.quotedbl = 474;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 722;\n t.quoteright = 278;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 611;\n t.at = 975;\n t.A = 722;\n t.B = 722;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 556;\n t.K = 722;\n t.L = 611;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 584;\n t.underscore = 556;\n t.quoteleft = 278;\n t.a = 556;\n t.b = 611;\n t.c = 556;\n t.d = 611;\n t.e = 556;\n t.f = 333;\n t.g = 611;\n t.h = 611;\n t.i = 278;\n t.j = 278;\n t.k = 556;\n t.l = 278;\n t.m = 889;\n t.n = 611;\n t.o = 611;\n t.p = 611;\n t.q = 611;\n t.r = 389;\n t.s = 556;\n t.t = 333;\n t.u = 611;\n t.v = 556;\n t.w = 778;\n t.x = 556;\n t.y = 556;\n t.z = 500;\n t.braceleft = 389;\n t.bar = 280;\n t.braceright = 389;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 238;\n t.quotedblleft = 500;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 611;\n t.fl = 611;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 556;\n t.bullet = 350;\n t.quotesinglbase = 278;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 611;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 611;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 722;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 556;\n t.scommaaccent = 556;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 611;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 556;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 556;\n t.scedilla = 556;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 611;\n t.acircumflex = 556;\n t.Amacron = 722;\n t.rcaron = 389;\n t.ccedilla = 556;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 743;\n t.Umacron = 722;\n t.uring = 611;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 584;\n t.uacute = 611;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 556;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 556;\n t.nacute = 611;\n t.umacron = 611;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 280;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 611;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 389;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 611;\n t.amacron = 556;\n t.sacute = 556;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 611;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 611;\n t.igrave = 278;\n t.ohungarumlaut = 611;\n t.Eogonek = 667;\n t.dcroat = 611;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 400;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 611;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 611;\n t.ntilde = 611;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 611;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 611;\n t.Ccaron = 722;\n t.ugrave = 611;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 611;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 556;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 611;\n t.tcommaaccent = 333;\n t.logicalnot = 584;\n t.odieresis = 611;\n t.udieresis = 611;\n t.notequal = 549;\n t.gcommaaccent = 611;\n t.eth = 611;\n t.zcaron = 500;\n t.ncommaaccent = 611;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-BoldOblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 333;\n t.quotedbl = 474;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 722;\n t.quoteright = 278;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 611;\n t.at = 975;\n t.A = 722;\n t.B = 722;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 556;\n t.K = 722;\n t.L = 611;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 584;\n t.underscore = 556;\n t.quoteleft = 278;\n t.a = 556;\n t.b = 611;\n t.c = 556;\n t.d = 611;\n t.e = 556;\n t.f = 333;\n t.g = 611;\n t.h = 611;\n t.i = 278;\n t.j = 278;\n t.k = 556;\n t.l = 278;\n t.m = 889;\n t.n = 611;\n t.o = 611;\n t.p = 611;\n t.q = 611;\n t.r = 389;\n t.s = 556;\n t.t = 333;\n t.u = 611;\n t.v = 556;\n t.w = 778;\n t.x = 556;\n t.y = 556;\n t.z = 500;\n t.braceleft = 389;\n t.bar = 280;\n t.braceright = 389;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 238;\n t.quotedblleft = 500;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 611;\n t.fl = 611;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 556;\n t.bullet = 350;\n t.quotesinglbase = 278;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 611;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 611;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 722;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 556;\n t.scommaaccent = 556;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 611;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 556;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 556;\n t.scedilla = 556;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 611;\n t.acircumflex = 556;\n t.Amacron = 722;\n t.rcaron = 389;\n t.ccedilla = 556;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 743;\n t.Umacron = 722;\n t.uring = 611;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 584;\n t.uacute = 611;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 556;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 556;\n t.nacute = 611;\n t.umacron = 611;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 280;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 611;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 389;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 611;\n t.amacron = 556;\n t.sacute = 556;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 611;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 611;\n t.igrave = 278;\n t.ohungarumlaut = 611;\n t.Eogonek = 667;\n t.dcroat = 611;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 400;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 611;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 611;\n t.ntilde = 611;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 611;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 611;\n t.Ccaron = 722;\n t.ugrave = 611;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 611;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 556;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 611;\n t.tcommaaccent = 333;\n t.logicalnot = 584;\n t.odieresis = 611;\n t.udieresis = 611;\n t.notequal = 549;\n t.gcommaaccent = 611;\n t.eth = 611;\n t.zcaron = 500;\n t.ncommaaccent = 611;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t[\"Helvetica-Oblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.exclam = 278;\n t.quotedbl = 355;\n t.numbersign = 556;\n t.dollar = 556;\n t.percent = 889;\n t.ampersand = 667;\n t.quoteright = 222;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 389;\n t.plus = 584;\n t.comma = 278;\n t.hyphen = 333;\n t.period = 278;\n t.slash = 278;\n t.zero = 556;\n t.one = 556;\n t.two = 556;\n t.three = 556;\n t.four = 556;\n t.five = 556;\n t.six = 556;\n t.seven = 556;\n t.eight = 556;\n t.nine = 556;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 584;\n t.equal = 584;\n t.greater = 584;\n t.question = 556;\n t.at = 1015;\n t.A = 667;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 722;\n t.I = 278;\n t.J = 500;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 722;\n t.O = 778;\n t.P = 667;\n t.Q = 778;\n t.R = 722;\n t.S = 667;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 944;\n t.X = 667;\n t.Y = 667;\n t.Z = 611;\n t.bracketleft = 278;\n t.backslash = 278;\n t.bracketright = 278;\n t.asciicircum = 469;\n t.underscore = 556;\n t.quoteleft = 222;\n t.a = 556;\n t.b = 556;\n t.c = 500;\n t.d = 556;\n t.e = 556;\n t.f = 278;\n t.g = 556;\n t.h = 556;\n t.i = 222;\n t.j = 222;\n t.k = 500;\n t.l = 222;\n t.m = 833;\n t.n = 556;\n t.o = 556;\n t.p = 556;\n t.q = 556;\n t.r = 333;\n t.s = 500;\n t.t = 278;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 500;\n t.braceleft = 334;\n t.bar = 260;\n t.braceright = 334;\n t.asciitilde = 584;\n t.exclamdown = 333;\n t.cent = 556;\n t.sterling = 556;\n t.fraction = 167;\n t.yen = 556;\n t.florin = 556;\n t.section = 556;\n t.currency = 556;\n t.quotesingle = 191;\n t.quotedblleft = 333;\n t.guillemotleft = 556;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 556;\n t.dagger = 556;\n t.daggerdbl = 556;\n t.periodcentered = 278;\n t.paragraph = 537;\n t.bullet = 350;\n t.quotesinglbase = 222;\n t.quotedblbase = 333;\n t.quotedblright = 333;\n t.guillemotright = 556;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 611;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 370;\n t.Lslash = 556;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 365;\n t.ae = 889;\n t.dotlessi = 278;\n t.lslash = 222;\n t.oslash = 611;\n t.oe = 944;\n t.germandbls = 611;\n t.Idieresis = 278;\n t.eacute = 556;\n t.abreve = 556;\n t.uhungarumlaut = 556;\n t.ecaron = 556;\n t.Ydieresis = 667;\n t.divide = 584;\n t.Yacute = 667;\n t.Acircumflex = 667;\n t.aacute = 556;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 500;\n t.ecircumflex = 556;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 556;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 737;\n t.Emacron = 667;\n t.ccaron = 500;\n t.aring = 556;\n t.Ncommaaccent = 722;\n t.lacute = 222;\n t.agrave = 556;\n t.Tcommaaccent = 611;\n t.Cacute = 722;\n t.atilde = 556;\n t.Edotaccent = 667;\n t.scaron = 500;\n t.scedilla = 500;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 556;\n t.Amacron = 667;\n t.rcaron = 333;\n t.ccedilla = 500;\n t.Zdotaccent = 611;\n t.Thorn = 667;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 667;\n t.dcaron = 643;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 333;\n t.Ograve = 778;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 584;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 556;\n t.edieresis = 556;\n t.cacute = 500;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 278;\n t.plusminus = 584;\n t.brokenbar = 260;\n t.registered = 737;\n t.Gbreve = 778;\n t.Idotaccent = 278;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 333;\n t.omacron = 556;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 222;\n t.tcaron = 317;\n t.eogonek = 556;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 556;\n t.zacute = 500;\n t.iogonek = 222;\n t.Oacute = 778;\n t.oacute = 556;\n t.amacron = 556;\n t.sacute = 500;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 333;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 556;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 834;\n t.Scedilla = 667;\n t.lcaron = 299;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 1000;\n t.edotaccent = 556;\n t.Igrave = 278;\n t.Imacron = 278;\n t.Lcaron = 556;\n t.onehalf = 834;\n t.lessequal = 549;\n t.ocircumflex = 556;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 556;\n t.gbreve = 556;\n t.onequarter = 834;\n t.Scaron = 667;\n t.Scommaaccent = 667;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 556;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 556;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 556;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 778;\n t.zdotaccent = 500;\n t.Ecaron = 667;\n t.Iogonek = 278;\n t.kcommaaccent = 500;\n t.minus = 584;\n t.Icircumflex = 278;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 584;\n t.odieresis = 556;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 556;\n t.eth = 556;\n t.zcaron = 500;\n t.ncommaaccent = 556;\n t.onesuperior = 333;\n t.imacron = 278;\n t.Euro = 556;\n });\n t.Symbol = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.universal = 713;\n t.numbersign = 500;\n t.existential = 549;\n t.percent = 833;\n t.ampersand = 778;\n t.suchthat = 439;\n t.parenleft = 333;\n t.parenright = 333;\n t.asteriskmath = 500;\n t.plus = 549;\n t.comma = 250;\n t.minus = 549;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 549;\n t.equal = 549;\n t.greater = 549;\n t.question = 444;\n t.congruent = 549;\n t.Alpha = 722;\n t.Beta = 667;\n t.Chi = 722;\n t.Delta = 612;\n t.Epsilon = 611;\n t.Phi = 763;\n t.Gamma = 603;\n t.Eta = 722;\n t.Iota = 333;\n t.theta1 = 631;\n t.Kappa = 722;\n t.Lambda = 686;\n t.Mu = 889;\n t.Nu = 722;\n t.Omicron = 722;\n t.Pi = 768;\n t.Theta = 741;\n t.Rho = 556;\n t.Sigma = 592;\n t.Tau = 611;\n t.Upsilon = 690;\n t.sigma1 = 439;\n t.Omega = 768;\n t.Xi = 645;\n t.Psi = 795;\n t.Zeta = 611;\n t.bracketleft = 333;\n t.therefore = 863;\n t.bracketright = 333;\n t.perpendicular = 658;\n t.underscore = 500;\n t.radicalex = 500;\n t.alpha = 631;\n t.beta = 549;\n t.chi = 549;\n t.delta = 494;\n t.epsilon = 439;\n t.phi = 521;\n t.gamma = 411;\n t.eta = 603;\n t.iota = 329;\n t.phi1 = 603;\n t.kappa = 549;\n t.lambda = 549;\n t.mu = 576;\n t.nu = 521;\n t.omicron = 549;\n t.pi = 549;\n t.theta = 521;\n t.rho = 549;\n t.sigma = 603;\n t.tau = 439;\n t.upsilon = 576;\n t.omega1 = 713;\n t.omega = 686;\n t.xi = 493;\n t.psi = 686;\n t.zeta = 494;\n t.braceleft = 480;\n t.bar = 200;\n t.braceright = 480;\n t.similar = 549;\n t.Euro = 750;\n t.Upsilon1 = 620;\n t.minute = 247;\n t.lessequal = 549;\n t.fraction = 167;\n t.infinity = 713;\n t.florin = 500;\n t.club = 753;\n t.diamond = 753;\n t.heart = 753;\n t.spade = 753;\n t.arrowboth = 1042;\n t.arrowleft = 987;\n t.arrowup = 603;\n t.arrowright = 987;\n t.arrowdown = 603;\n t.degree = 400;\n t.plusminus = 549;\n t.second = 411;\n t.greaterequal = 549;\n t.multiply = 549;\n t.proportional = 713;\n t.partialdiff = 494;\n t.bullet = 460;\n t.divide = 549;\n t.notequal = 549;\n t.equivalence = 549;\n t.approxequal = 549;\n t.ellipsis = 1000;\n t.arrowvertex = 603;\n t.arrowhorizex = 1000;\n t.carriagereturn = 658;\n t.aleph = 823;\n t.Ifraktur = 686;\n t.Rfraktur = 795;\n t.weierstrass = 987;\n t.circlemultiply = 768;\n t.circleplus = 768;\n t.emptyset = 823;\n t.intersection = 768;\n t.union = 768;\n t.propersuperset = 713;\n t.reflexsuperset = 713;\n t.notsubset = 713;\n t.propersubset = 713;\n t.reflexsubset = 713;\n t.element = 713;\n t.notelement = 713;\n t.angle = 768;\n t.gradient = 713;\n t.registerserif = 790;\n t.copyrightserif = 790;\n t.trademarkserif = 890;\n t.product = 823;\n t.radical = 549;\n t.dotmath = 250;\n t.logicalnot = 713;\n t.logicaland = 603;\n t.logicalor = 603;\n t.arrowdblboth = 1042;\n t.arrowdblleft = 987;\n t.arrowdblup = 603;\n t.arrowdblright = 987;\n t.arrowdbldown = 603;\n t.lozenge = 494;\n t.angleleft = 329;\n t.registersans = 790;\n t.copyrightsans = 790;\n t.trademarksans = 786;\n t.summation = 713;\n t.parenlefttp = 384;\n t.parenleftex = 384;\n t.parenleftbt = 384;\n t.bracketlefttp = 384;\n t.bracketleftex = 384;\n t.bracketleftbt = 384;\n t.bracelefttp = 494;\n t.braceleftmid = 494;\n t.braceleftbt = 494;\n t.braceex = 494;\n t.angleright = 329;\n t.integral = 274;\n t.integraltp = 686;\n t.integralex = 686;\n t.integralbt = 686;\n t.parenrighttp = 384;\n t.parenrightex = 384;\n t.parenrightbt = 384;\n t.bracketrighttp = 384;\n t.bracketrightex = 384;\n t.bracketrightbt = 384;\n t.bracerighttp = 494;\n t.bracerightmid = 494;\n t.bracerightbt = 494;\n t.apple = 790;\n });\n t[\"Times-Roman\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 408;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 564;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 278;\n t.semicolon = 278;\n t.less = 564;\n t.equal = 564;\n t.greater = 564;\n t.question = 444;\n t.at = 921;\n t.A = 722;\n t.B = 667;\n t.C = 667;\n t.D = 722;\n t.E = 611;\n t.F = 556;\n t.G = 722;\n t.H = 722;\n t.I = 333;\n t.J = 389;\n t.K = 722;\n t.L = 611;\n t.M = 889;\n t.N = 722;\n t.O = 722;\n t.P = 556;\n t.Q = 722;\n t.R = 667;\n t.S = 556;\n t.T = 611;\n t.U = 722;\n t.V = 722;\n t.W = 944;\n t.X = 722;\n t.Y = 722;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 469;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 444;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 500;\n t.i = 278;\n t.j = 278;\n t.k = 500;\n t.l = 278;\n t.m = 778;\n t.n = 500;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 333;\n t.s = 389;\n t.t = 278;\n t.u = 500;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 444;\n t.braceleft = 480;\n t.bar = 200;\n t.braceright = 480;\n t.asciitilde = 541;\n t.exclamdown = 333;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 180;\n t.quotedblleft = 444;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 453;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 444;\n t.quotedblright = 444;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 444;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 889;\n t.ordfeminine = 276;\n t.Lslash = 611;\n t.Oslash = 722;\n t.OE = 889;\n t.ordmasculine = 310;\n t.ae = 667;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 500;\n t.Idieresis = 333;\n t.eacute = 444;\n t.abreve = 444;\n t.uhungarumlaut = 500;\n t.ecaron = 444;\n t.Ydieresis = 722;\n t.divide = 564;\n t.Yacute = 722;\n t.Acircumflex = 722;\n t.aacute = 444;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 444;\n t.Uacute = 722;\n t.uogonek = 500;\n t.Edieresis = 611;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 760;\n t.Emacron = 611;\n t.ccaron = 444;\n t.aring = 444;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 444;\n t.Tcommaaccent = 611;\n t.Cacute = 667;\n t.atilde = 444;\n t.Edotaccent = 611;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 667;\n t.Gcommaaccent = 722;\n t.ucircumflex = 500;\n t.acircumflex = 444;\n t.Amacron = 722;\n t.rcaron = 333;\n t.ccedilla = 444;\n t.Zdotaccent = 611;\n t.Thorn = 556;\n t.Omacron = 722;\n t.Racute = 667;\n t.Sacute = 556;\n t.dcaron = 588;\n t.Umacron = 722;\n t.uring = 500;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 564;\n t.uacute = 500;\n t.Tcaron = 611;\n t.partialdiff = 476;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 611;\n t.adieresis = 444;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 500;\n t.umacron = 500;\n t.Ncaron = 722;\n t.Iacute = 333;\n t.plusminus = 564;\n t.brokenbar = 200;\n t.registered = 760;\n t.Gbreve = 722;\n t.Idotaccent = 333;\n t.summation = 600;\n t.Egrave = 611;\n t.racute = 333;\n t.omacron = 500;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 326;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 444;\n t.zacute = 444;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 444;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 500;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 611;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 344;\n t.Kcommaaccent = 722;\n t.Lacute = 611;\n t.trademark = 980;\n t.edotaccent = 444;\n t.Igrave = 333;\n t.Imacron = 333;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 500;\n t.Uhungarumlaut = 722;\n t.Eacute = 611;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 500;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 333;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 667;\n t.Lcommaaccent = 611;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 722;\n t.zdotaccent = 444;\n t.Ecaron = 611;\n t.Iogonek = 333;\n t.kcommaaccent = 500;\n t.minus = 564;\n t.Icircumflex = 333;\n t.ncaron = 500;\n t.tcommaaccent = 278;\n t.logicalnot = 564;\n t.odieresis = 500;\n t.udieresis = 500;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 444;\n t.ncommaaccent = 500;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 555;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 1000;\n t.ampersand = 833;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 570;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 570;\n t.equal = 570;\n t.greater = 570;\n t.question = 500;\n t.at = 930;\n t.A = 722;\n t.B = 667;\n t.C = 722;\n t.D = 722;\n t.E = 667;\n t.F = 611;\n t.G = 778;\n t.H = 778;\n t.I = 389;\n t.J = 500;\n t.K = 778;\n t.L = 667;\n t.M = 944;\n t.N = 722;\n t.O = 778;\n t.P = 611;\n t.Q = 778;\n t.R = 722;\n t.S = 556;\n t.T = 667;\n t.U = 722;\n t.V = 722;\n t.W = 1000;\n t.X = 722;\n t.Y = 722;\n t.Z = 667;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 581;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 556;\n t.c = 444;\n t.d = 556;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 556;\n t.i = 278;\n t.j = 333;\n t.k = 556;\n t.l = 278;\n t.m = 833;\n t.n = 556;\n t.o = 500;\n t.p = 556;\n t.q = 556;\n t.r = 444;\n t.s = 389;\n t.t = 333;\n t.u = 556;\n t.v = 500;\n t.w = 722;\n t.x = 500;\n t.y = 500;\n t.z = 444;\n t.braceleft = 394;\n t.bar = 220;\n t.braceright = 394;\n t.asciitilde = 520;\n t.exclamdown = 333;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 278;\n t.quotedblleft = 500;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 540;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 1000;\n t.ordfeminine = 300;\n t.Lslash = 667;\n t.Oslash = 778;\n t.OE = 1000;\n t.ordmasculine = 330;\n t.ae = 722;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 556;\n t.Idieresis = 389;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 556;\n t.ecaron = 444;\n t.Ydieresis = 722;\n t.divide = 570;\n t.Yacute = 722;\n t.Acircumflex = 722;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 500;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 747;\n t.Emacron = 667;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 667;\n t.Cacute = 722;\n t.atilde = 500;\n t.Edotaccent = 667;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 722;\n t.Gcommaaccent = 778;\n t.ucircumflex = 556;\n t.acircumflex = 500;\n t.Amacron = 722;\n t.rcaron = 444;\n t.ccedilla = 444;\n t.Zdotaccent = 667;\n t.Thorn = 611;\n t.Omacron = 778;\n t.Racute = 722;\n t.Sacute = 556;\n t.dcaron = 672;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 300;\n t.Ograve = 778;\n t.Agrave = 722;\n t.Abreve = 722;\n t.multiply = 570;\n t.uacute = 556;\n t.Tcaron = 667;\n t.partialdiff = 494;\n t.ydieresis = 500;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 389;\n t.plusminus = 570;\n t.brokenbar = 220;\n t.registered = 747;\n t.Gbreve = 778;\n t.Idotaccent = 389;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 444;\n t.omacron = 500;\n t.Zacute = 667;\n t.Zcaron = 667;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 722;\n t.lcommaaccent = 278;\n t.tcaron = 416;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 722;\n t.Adieresis = 722;\n t.egrave = 444;\n t.zacute = 444;\n t.iogonek = 278;\n t.Oacute = 778;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 778;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 556;\n t.twosuperior = 300;\n t.Odieresis = 778;\n t.mu = 556;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 667;\n t.dcroat = 556;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 394;\n t.Kcommaaccent = 778;\n t.Lacute = 667;\n t.trademark = 1000;\n t.edotaccent = 444;\n t.Igrave = 389;\n t.Imacron = 389;\n t.Lcaron = 667;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 778;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 722;\n t.ugrave = 556;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 444;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 722;\n t.Lcommaaccent = 667;\n t.Atilde = 722;\n t.Aogonek = 722;\n t.Aring = 722;\n t.Otilde = 778;\n t.zdotaccent = 444;\n t.Ecaron = 667;\n t.Iogonek = 389;\n t.kcommaaccent = 556;\n t.minus = 570;\n t.Icircumflex = 389;\n t.ncaron = 556;\n t.tcommaaccent = 333;\n t.logicalnot = 570;\n t.odieresis = 500;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 444;\n t.ncommaaccent = 556;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-BoldItalic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 389;\n t.quotedbl = 555;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 570;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 570;\n t.equal = 570;\n t.greater = 570;\n t.question = 500;\n t.at = 832;\n t.A = 667;\n t.B = 667;\n t.C = 667;\n t.D = 722;\n t.E = 667;\n t.F = 667;\n t.G = 722;\n t.H = 778;\n t.I = 389;\n t.J = 500;\n t.K = 667;\n t.L = 611;\n t.M = 889;\n t.N = 722;\n t.O = 722;\n t.P = 611;\n t.Q = 722;\n t.R = 667;\n t.S = 556;\n t.T = 611;\n t.U = 722;\n t.V = 667;\n t.W = 889;\n t.X = 667;\n t.Y = 611;\n t.Z = 611;\n t.bracketleft = 333;\n t.backslash = 278;\n t.bracketright = 333;\n t.asciicircum = 570;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 333;\n t.g = 500;\n t.h = 556;\n t.i = 278;\n t.j = 278;\n t.k = 500;\n t.l = 278;\n t.m = 778;\n t.n = 556;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 389;\n t.s = 389;\n t.t = 278;\n t.u = 556;\n t.v = 444;\n t.w = 667;\n t.x = 500;\n t.y = 444;\n t.z = 389;\n t.braceleft = 348;\n t.bar = 220;\n t.braceright = 348;\n t.asciitilde = 570;\n t.exclamdown = 389;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 278;\n t.quotedblleft = 500;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 556;\n t.fl = 556;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 500;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 500;\n t.quotedblright = 500;\n t.guillemotright = 500;\n t.ellipsis = 1000;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 1000;\n t.AE = 944;\n t.ordfeminine = 266;\n t.Lslash = 611;\n t.Oslash = 722;\n t.OE = 944;\n t.ordmasculine = 300;\n t.ae = 722;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 722;\n t.germandbls = 500;\n t.Idieresis = 389;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 556;\n t.ecaron = 444;\n t.Ydieresis = 611;\n t.divide = 570;\n t.Yacute = 611;\n t.Acircumflex = 667;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 444;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 556;\n t.Edieresis = 667;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 747;\n t.Emacron = 667;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 722;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 611;\n t.Cacute = 667;\n t.atilde = 500;\n t.Edotaccent = 667;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 494;\n t.Rcaron = 667;\n t.Gcommaaccent = 722;\n t.ucircumflex = 556;\n t.acircumflex = 500;\n t.Amacron = 667;\n t.rcaron = 389;\n t.ccedilla = 444;\n t.Zdotaccent = 611;\n t.Thorn = 611;\n t.Omacron = 722;\n t.Racute = 667;\n t.Sacute = 556;\n t.dcaron = 608;\n t.Umacron = 722;\n t.uring = 556;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 667;\n t.Abreve = 667;\n t.multiply = 570;\n t.uacute = 556;\n t.Tcaron = 611;\n t.partialdiff = 494;\n t.ydieresis = 444;\n t.Nacute = 722;\n t.icircumflex = 278;\n t.Ecircumflex = 667;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 556;\n t.umacron = 556;\n t.Ncaron = 722;\n t.Iacute = 389;\n t.plusminus = 570;\n t.brokenbar = 220;\n t.registered = 747;\n t.Gbreve = 722;\n t.Idotaccent = 389;\n t.summation = 600;\n t.Egrave = 667;\n t.racute = 389;\n t.omacron = 500;\n t.Zacute = 611;\n t.Zcaron = 611;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 366;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 667;\n t.Adieresis = 667;\n t.egrave = 444;\n t.zacute = 389;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 576;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 667;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 556;\n t.lcaron = 382;\n t.Kcommaaccent = 667;\n t.Lacute = 611;\n t.trademark = 1000;\n t.edotaccent = 444;\n t.Igrave = 389;\n t.Imacron = 389;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 556;\n t.Uhungarumlaut = 722;\n t.Eacute = 667;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 556;\n t.Scommaaccent = 556;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 556;\n t.radical = 549;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 722;\n t.otilde = 500;\n t.Rcommaaccent = 667;\n t.Lcommaaccent = 611;\n t.Atilde = 667;\n t.Aogonek = 667;\n t.Aring = 667;\n t.Otilde = 722;\n t.zdotaccent = 389;\n t.Ecaron = 667;\n t.Iogonek = 389;\n t.kcommaaccent = 500;\n t.minus = 606;\n t.Icircumflex = 389;\n t.ncaron = 556;\n t.tcommaaccent = 278;\n t.logicalnot = 606;\n t.odieresis = 500;\n t.udieresis = 556;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 389;\n t.ncommaaccent = 556;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t[\"Times-Italic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 250;\n t.exclam = 333;\n t.quotedbl = 420;\n t.numbersign = 500;\n t.dollar = 500;\n t.percent = 833;\n t.ampersand = 778;\n t.quoteright = 333;\n t.parenleft = 333;\n t.parenright = 333;\n t.asterisk = 500;\n t.plus = 675;\n t.comma = 250;\n t.hyphen = 333;\n t.period = 250;\n t.slash = 278;\n t.zero = 500;\n t.one = 500;\n t.two = 500;\n t.three = 500;\n t.four = 500;\n t.five = 500;\n t.six = 500;\n t.seven = 500;\n t.eight = 500;\n t.nine = 500;\n t.colon = 333;\n t.semicolon = 333;\n t.less = 675;\n t.equal = 675;\n t.greater = 675;\n t.question = 500;\n t.at = 920;\n t.A = 611;\n t.B = 611;\n t.C = 667;\n t.D = 722;\n t.E = 611;\n t.F = 611;\n t.G = 722;\n t.H = 722;\n t.I = 333;\n t.J = 444;\n t.K = 667;\n t.L = 556;\n t.M = 833;\n t.N = 667;\n t.O = 722;\n t.P = 611;\n t.Q = 722;\n t.R = 611;\n t.S = 500;\n t.T = 556;\n t.U = 722;\n t.V = 611;\n t.W = 833;\n t.X = 611;\n t.Y = 556;\n t.Z = 556;\n t.bracketleft = 389;\n t.backslash = 278;\n t.bracketright = 389;\n t.asciicircum = 422;\n t.underscore = 500;\n t.quoteleft = 333;\n t.a = 500;\n t.b = 500;\n t.c = 444;\n t.d = 500;\n t.e = 444;\n t.f = 278;\n t.g = 500;\n t.h = 500;\n t.i = 278;\n t.j = 278;\n t.k = 444;\n t.l = 278;\n t.m = 722;\n t.n = 500;\n t.o = 500;\n t.p = 500;\n t.q = 500;\n t.r = 389;\n t.s = 389;\n t.t = 278;\n t.u = 500;\n t.v = 444;\n t.w = 667;\n t.x = 444;\n t.y = 444;\n t.z = 389;\n t.braceleft = 400;\n t.bar = 275;\n t.braceright = 400;\n t.asciitilde = 541;\n t.exclamdown = 389;\n t.cent = 500;\n t.sterling = 500;\n t.fraction = 167;\n t.yen = 500;\n t.florin = 500;\n t.section = 500;\n t.currency = 500;\n t.quotesingle = 214;\n t.quotedblleft = 556;\n t.guillemotleft = 500;\n t.guilsinglleft = 333;\n t.guilsinglright = 333;\n t.fi = 500;\n t.fl = 500;\n t.endash = 500;\n t.dagger = 500;\n t.daggerdbl = 500;\n t.periodcentered = 250;\n t.paragraph = 523;\n t.bullet = 350;\n t.quotesinglbase = 333;\n t.quotedblbase = 556;\n t.quotedblright = 556;\n t.guillemotright = 500;\n t.ellipsis = 889;\n t.perthousand = 1000;\n t.questiondown = 500;\n t.grave = 333;\n t.acute = 333;\n t.circumflex = 333;\n t.tilde = 333;\n t.macron = 333;\n t.breve = 333;\n t.dotaccent = 333;\n t.dieresis = 333;\n t.ring = 333;\n t.cedilla = 333;\n t.hungarumlaut = 333;\n t.ogonek = 333;\n t.caron = 333;\n t.emdash = 889;\n t.AE = 889;\n t.ordfeminine = 276;\n t.Lslash = 556;\n t.Oslash = 722;\n t.OE = 944;\n t.ordmasculine = 310;\n t.ae = 667;\n t.dotlessi = 278;\n t.lslash = 278;\n t.oslash = 500;\n t.oe = 667;\n t.germandbls = 500;\n t.Idieresis = 333;\n t.eacute = 444;\n t.abreve = 500;\n t.uhungarumlaut = 500;\n t.ecaron = 444;\n t.Ydieresis = 556;\n t.divide = 675;\n t.Yacute = 556;\n t.Acircumflex = 611;\n t.aacute = 500;\n t.Ucircumflex = 722;\n t.yacute = 444;\n t.scommaaccent = 389;\n t.ecircumflex = 444;\n t.Uring = 722;\n t.Udieresis = 722;\n t.aogonek = 500;\n t.Uacute = 722;\n t.uogonek = 500;\n t.Edieresis = 611;\n t.Dcroat = 722;\n t.commaaccent = 250;\n t.copyright = 760;\n t.Emacron = 611;\n t.ccaron = 444;\n t.aring = 500;\n t.Ncommaaccent = 667;\n t.lacute = 278;\n t.agrave = 500;\n t.Tcommaaccent = 556;\n t.Cacute = 667;\n t.atilde = 500;\n t.Edotaccent = 611;\n t.scaron = 389;\n t.scedilla = 389;\n t.iacute = 278;\n t.lozenge = 471;\n t.Rcaron = 611;\n t.Gcommaaccent = 722;\n t.ucircumflex = 500;\n t.acircumflex = 500;\n t.Amacron = 611;\n t.rcaron = 389;\n t.ccedilla = 444;\n t.Zdotaccent = 556;\n t.Thorn = 611;\n t.Omacron = 722;\n t.Racute = 611;\n t.Sacute = 500;\n t.dcaron = 544;\n t.Umacron = 722;\n t.uring = 500;\n t.threesuperior = 300;\n t.Ograve = 722;\n t.Agrave = 611;\n t.Abreve = 611;\n t.multiply = 675;\n t.uacute = 500;\n t.Tcaron = 556;\n t.partialdiff = 476;\n t.ydieresis = 444;\n t.Nacute = 667;\n t.icircumflex = 278;\n t.Ecircumflex = 611;\n t.adieresis = 500;\n t.edieresis = 444;\n t.cacute = 444;\n t.nacute = 500;\n t.umacron = 500;\n t.Ncaron = 667;\n t.Iacute = 333;\n t.plusminus = 675;\n t.brokenbar = 275;\n t.registered = 760;\n t.Gbreve = 722;\n t.Idotaccent = 333;\n t.summation = 600;\n t.Egrave = 611;\n t.racute = 389;\n t.omacron = 500;\n t.Zacute = 556;\n t.Zcaron = 556;\n t.greaterequal = 549;\n t.Eth = 722;\n t.Ccedilla = 667;\n t.lcommaaccent = 278;\n t.tcaron = 300;\n t.eogonek = 444;\n t.Uogonek = 722;\n t.Aacute = 611;\n t.Adieresis = 611;\n t.egrave = 444;\n t.zacute = 389;\n t.iogonek = 278;\n t.Oacute = 722;\n t.oacute = 500;\n t.amacron = 500;\n t.sacute = 389;\n t.idieresis = 278;\n t.Ocircumflex = 722;\n t.Ugrave = 722;\n t.Delta = 612;\n t.thorn = 500;\n t.twosuperior = 300;\n t.Odieresis = 722;\n t.mu = 500;\n t.igrave = 278;\n t.ohungarumlaut = 500;\n t.Eogonek = 611;\n t.dcroat = 500;\n t.threequarters = 750;\n t.Scedilla = 500;\n t.lcaron = 300;\n t.Kcommaaccent = 667;\n t.Lacute = 556;\n t.trademark = 980;\n t.edotaccent = 444;\n t.Igrave = 333;\n t.Imacron = 333;\n t.Lcaron = 611;\n t.onehalf = 750;\n t.lessequal = 549;\n t.ocircumflex = 500;\n t.ntilde = 500;\n t.Uhungarumlaut = 722;\n t.Eacute = 611;\n t.emacron = 444;\n t.gbreve = 500;\n t.onequarter = 750;\n t.Scaron = 500;\n t.Scommaaccent = 500;\n t.Ohungarumlaut = 722;\n t.degree = 400;\n t.ograve = 500;\n t.Ccaron = 667;\n t.ugrave = 500;\n t.radical = 453;\n t.Dcaron = 722;\n t.rcommaaccent = 389;\n t.Ntilde = 667;\n t.otilde = 500;\n t.Rcommaaccent = 611;\n t.Lcommaaccent = 556;\n t.Atilde = 611;\n t.Aogonek = 611;\n t.Aring = 611;\n t.Otilde = 722;\n t.zdotaccent = 389;\n t.Ecaron = 611;\n t.Iogonek = 333;\n t.kcommaaccent = 444;\n t.minus = 675;\n t.Icircumflex = 333;\n t.ncaron = 500;\n t.tcommaaccent = 278;\n t.logicalnot = 675;\n t.odieresis = 500;\n t.udieresis = 500;\n t.notequal = 549;\n t.gcommaaccent = 500;\n t.eth = 500;\n t.zcaron = 389;\n t.ncommaaccent = 500;\n t.onesuperior = 300;\n t.imacron = 278;\n t.Euro = 500;\n });\n t.ZapfDingbats = (0, _core_utils.getLookupTableFactory)(function (t) {\n t.space = 278;\n t.a1 = 974;\n t.a2 = 961;\n t.a202 = 974;\n t.a3 = 980;\n t.a4 = 719;\n t.a5 = 789;\n t.a119 = 790;\n t.a118 = 791;\n t.a117 = 690;\n t.a11 = 960;\n t.a12 = 939;\n t.a13 = 549;\n t.a14 = 855;\n t.a15 = 911;\n t.a16 = 933;\n t.a105 = 911;\n t.a17 = 945;\n t.a18 = 974;\n t.a19 = 755;\n t.a20 = 846;\n t.a21 = 762;\n t.a22 = 761;\n t.a23 = 571;\n t.a24 = 677;\n t.a25 = 763;\n t.a26 = 760;\n t.a27 = 759;\n t.a28 = 754;\n t.a6 = 494;\n t.a7 = 552;\n t.a8 = 537;\n t.a9 = 577;\n t.a10 = 692;\n t.a29 = 786;\n t.a30 = 788;\n t.a31 = 788;\n t.a32 = 790;\n t.a33 = 793;\n t.a34 = 794;\n t.a35 = 816;\n t.a36 = 823;\n t.a37 = 789;\n t.a38 = 841;\n t.a39 = 823;\n t.a40 = 833;\n t.a41 = 816;\n t.a42 = 831;\n t.a43 = 923;\n t.a44 = 744;\n t.a45 = 723;\n t.a46 = 749;\n t.a47 = 790;\n t.a48 = 792;\n t.a49 = 695;\n t.a50 = 776;\n t.a51 = 768;\n t.a52 = 792;\n t.a53 = 759;\n t.a54 = 707;\n t.a55 = 708;\n t.a56 = 682;\n t.a57 = 701;\n t.a58 = 826;\n t.a59 = 815;\n t.a60 = 789;\n t.a61 = 789;\n t.a62 = 707;\n t.a63 = 687;\n t.a64 = 696;\n t.a65 = 689;\n t.a66 = 786;\n t.a67 = 787;\n t.a68 = 713;\n t.a69 = 791;\n t.a70 = 785;\n t.a71 = 791;\n t.a72 = 873;\n t.a73 = 761;\n t.a74 = 762;\n t.a203 = 762;\n t.a75 = 759;\n t.a204 = 759;\n t.a76 = 892;\n t.a77 = 892;\n t.a78 = 788;\n t.a79 = 784;\n t.a81 = 438;\n t.a82 = 138;\n t.a83 = 277;\n t.a84 = 415;\n t.a97 = 392;\n t.a98 = 392;\n t.a99 = 668;\n t.a100 = 668;\n t.a89 = 390;\n t.a90 = 390;\n t.a93 = 317;\n t.a94 = 317;\n t.a91 = 276;\n t.a92 = 276;\n t.a205 = 509;\n t.a85 = 509;\n t.a206 = 410;\n t.a86 = 410;\n t.a87 = 234;\n t.a88 = 234;\n t.a95 = 334;\n t.a96 = 334;\n t.a101 = 732;\n t.a102 = 544;\n t.a103 = 544;\n t.a104 = 910;\n t.a106 = 667;\n t.a107 = 760;\n t.a108 = 760;\n t.a112 = 776;\n t.a111 = 595;\n t.a110 = 694;\n t.a109 = 626;\n t.a120 = 788;\n t.a121 = 788;\n t.a122 = 788;\n t.a123 = 788;\n t.a124 = 788;\n t.a125 = 788;\n t.a126 = 788;\n t.a127 = 788;\n t.a128 = 788;\n t.a129 = 788;\n t.a130 = 788;\n t.a131 = 788;\n t.a132 = 788;\n t.a133 = 788;\n t.a134 = 788;\n t.a135 = 788;\n t.a136 = 788;\n t.a137 = 788;\n t.a138 = 788;\n t.a139 = 788;\n t.a140 = 788;\n t.a141 = 788;\n t.a142 = 788;\n t.a143 = 788;\n t.a144 = 788;\n t.a145 = 788;\n t.a146 = 788;\n t.a147 = 788;\n t.a148 = 788;\n t.a149 = 788;\n t.a150 = 788;\n t.a151 = 788;\n t.a152 = 788;\n t.a153 = 788;\n t.a154 = 788;\n t.a155 = 788;\n t.a156 = 788;\n t.a157 = 788;\n t.a158 = 788;\n t.a159 = 788;\n t.a160 = 894;\n t.a161 = 838;\n t.a163 = 1016;\n t.a164 = 458;\n t.a196 = 748;\n t.a165 = 924;\n t.a192 = 748;\n t.a166 = 918;\n t.a167 = 927;\n t.a168 = 928;\n t.a169 = 928;\n t.a170 = 834;\n t.a171 = 873;\n t.a172 = 828;\n t.a173 = 924;\n t.a162 = 924;\n t.a174 = 917;\n t.a175 = 930;\n t.a176 = 931;\n t.a177 = 463;\n t.a178 = 883;\n t.a179 = 836;\n t.a193 = 836;\n t.a180 = 867;\n t.a199 = 867;\n t.a181 = 696;\n t.a200 = 696;\n t.a182 = 874;\n t.a201 = 874;\n t.a183 = 760;\n t.a184 = 946;\n t.a197 = 771;\n t.a185 = 865;\n t.a194 = 771;\n t.a198 = 888;\n t.a186 = 967;\n t.a195 = 888;\n t.a187 = 831;\n t.a188 = 873;\n t.a189 = 927;\n t.a190 = 970;\n t.a191 = 918;\n });\n});\nexports.getMetrics = getMetrics;\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SEED = 0xc3d2e1f0;\nvar MASK_HIGH = 0xffff0000;\nvar MASK_LOW = 0xffff;\n\nvar MurmurHash3_64 = /*#__PURE__*/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\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFImage = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nvar _primitives = __w_pdfjs_require__(202);\n\nvar _colorspace = __w_pdfjs_require__(220);\n\nvar _stream = __w_pdfjs_require__(209);\n\nvar _jpeg_stream = __w_pdfjs_require__(215);\n\nvar _jpx = __w_pdfjs_require__(218);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction 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\nfunction 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\nvar PDFImage = /*#__PURE__*/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( /*#__PURE__*/_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\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; 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 CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nvar 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\nfunction 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\nvar MessageHandler = /*#__PURE__*/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( /*#__PURE__*/_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\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFWorkerStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFWorkerStream = /*#__PURE__*/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\nexports.PDFWorkerStream = PDFWorkerStream;\n\nvar PDFWorkerStreamReader = /*#__PURE__*/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( /*#__PURE__*/_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\nvar PDFWorkerStreamRangeReader = /*#__PURE__*/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( /*#__PURE__*/_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//# sourceMappingURL=pdf.worker.js.map","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}